你好,游客 登录 注册 搜索
背景:
阅读新闻

Nginx安装与配置

[日期:2017-03-15] 来源:mdba.cn  作者:Linux [字体: ]

Nginx的安装过程比较简单,但是它的配置相对复杂点。特别是刚接触和使用nginx的时候,不明白里面的参数的含义,这时候需要去阅读nginx的相关文档。下面的安装过程和配置参数均在生产服务器上实验过多次。

1、安装nginx

Nginx下载地址:http://nginx.org/en/download.html

先要安装pcreopensslzib等模块

yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
./configure --user=daemon --group=daemon --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make -j 8
make install

2、修改conf/nginx.conf里面的默认参数

# nginx.conf
user daemon daemon;
worker_processes 8;
worker_rlimit_nofile 65536;
pid /usr/local/nginx/nginx.pid;
error_log /usr/local/nginx/logs/nginx_error.log info;

events
{
    use epoll;
    worker_connections 65536;
}

http
{
    include mime.types;
    default_type application/octet-stream;
    #charset gb2312;

    server_names_hash_bucket_size 128;
    client_header_buffer_size 320k;
    large_client_header_buffers 4 320k;
    client_max_body_size 8m;

    sendfile on;
    tcp_nopush on;
   
    keepalive_timeout 6000s;

    tcp_nodelay on;

    fastcgi_connect_timeout 600s;
    fastcgi_send_timeout 600s;
    fastcgi_read_timeout 600s;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 8 128k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;

    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript text/css application/xml application/json audio/aac;
    gzip_vary on;

    # Load config files from the directory
    include /usr/local/nginx/sites-enabled/*.conf;
}

上面的配置是nginx的全局配置,如nginx的总进程数、打开的文件数据、I/O方式采用epoll,gzip压缩参数。
注意上面的最后一行:include /usr/local/nginx/sites-enabled/*.conf;
采用了类似与Apache的目录结构,这样可以针对不同的Web应用设置不同的参数,也方便管理。

3、设置具Web应用参数
在sites-enabled里面设置针对每个Web应用的配置参数,主要是基本的虚拟主机配置(server),包括Web应用根目录,侦听端口,ServerName,CGI,日志等。
下面是一个常见的虚拟主机vhost的配置,其中包括php-fpm CGI的调用配置参数。

# mdba.cn.conf
server
{
    listen 80;
    server_name mdba.cn www.mdba.cn 112.124.65.179;

    root /usr/local/louvre-wp;
    index index.php;
    location ~ "\.(js|ico|gif|jpg|png|css)$" {
        expires 1w;
    }

    location / {
        fastcgi_ignore_client_abort on;
        #fastcgi_pass unix:/dev/shm/php.socket;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;
        index index.php;
        if (!-e $request_filename) {
        rewrite . /index.php last;
        break;
        }
    }

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    log_format louvre '$remote_addr - $remote_user [$time_local] "$request" '
         '$status $body_bytes_sent "$request" "$http_referer" '
         '"$http_user_agent" "$request_time" ';

    access_log /usr/local/nginx/logs/access_louvre.log louvre;
}

fastcgi_pass 127.0.0.1:9000;设定的端口是9000,设定之前检查该端口是否已经被其他服务器进程占用了。另外http侦听端口可以不使用默认的80端口。

4、启动nginx与测试
#-t选项可以测试配置脚本是否有语法错误,如缺少”;”、变量未定义或者拼写有误之类的常见语法问题。修改nginx配置文件,需要重启nginx才能使新的配置生效

/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx

测试nginx与调用php-fpm是否正常工作,在上面的设定的root目录下面,新建index.php文件。

<?php
phpinfo();
?>

浏览器里面输入112.124.65.179(这是我的阿里云主机的IP,或者自己的本地IP),就以看到php的一些运行环境

下面关于Nginx的文章您也可能喜欢,不妨参考下:

CentOS 7.2下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1  http://www.linuxidc.com/Linux/2016-09/134804.htm

Linux下编译安装Nginx 1.8.1 及配置 http://www.linuxidc.com/Linux/2017-02/140495.htm

CentOS 6.4安装配置Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

CentOS 7.2 源码安装Nginx http://www.linuxidc.com/Linux/2017-03/141246.htm

Nginx的500,502,504错误解决方法 http://www.linuxidc.com/Linux/2015-03/115507.htm

Nginx版本号修改隐藏及记录用户请求需要的时间  http://www.linuxidc.com/Linux/2017-02/141044.htm

CentOS 7 编译安装Nginx1.10.2 脚本启动失败解决思路 http://www.linuxidc.com/Linux/2017-01/139794.htm

Nginx 的详细介绍请点这里
Nginx 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-03/141796.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款