美文网首页程序员
Nginx安装与配置

Nginx安装与配置

作者: seventeencm | 来源:发表于2017-12-09 20:00 被阅读0次

    什么是Nginx?

    Nginx (engine x) 是一个高性能的HTTP、反向代理服务器。——摘自百度百科。

    如何安装?

    安装编译所需类库

    yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel
    

    下载nginx源码

    wget http://nginx.org/download/nginx-1.6.3.tar.gz
    

    解压

    tar zxvf nginx-1.6.3.tar.gz
    

    配置编译模块

    cd nginx-1.6.3
    ./configure --prefix=/opt/nginx-1.6.3 --with-pcre \
    --with-http_stub_status_module --with-http_ssl_module \
    --with-http_gzip_static_module --with-http_realip_module
    

    如果需要用到其他模块,自行根据所需添加即可

    编译并安装

    make && make install
    

    nginx配置文件样例

    #common setting
    user  xxx;
    worker_processes  8;
    pid     /opt/nginx-1.6.3/nginx.pid;
    error_log /data/logs/nginx/error.log;
    
    events {
        use epoll;
        worker_connections  10240;
    }
    
    
    http {
        include             mime.types;
        default_type        application/octet-stream;
        log_format          main    '$remote_addr $request_length $request_time [$time_local] "$request" $status $bytes_sent '
                                    '$http_host "$proxy_add_x_forwarded_for" "$http_referer" $upstream_addr $upstream_response_time';
        access_log                  /data/logs/nginx/access_log main;
        server_tokens               off;
        gzip                        on;
        gzip_proxied                any;
        gzip_vary                   on;
        gzip_min_length             1000;
        gzip_types                  application/x-javascript text/plain application/xml text/xml application/xhtml+xml text/css text/javascript;
        sendfile                    on;
        port_in_redirect            on;
        keepalive_timeout           60;
        keepalive_requests          1000;
        log_not_found               on;
        client_max_body_size        50M;
        client_header_buffer_size   16k;
        large_client_header_buffers 8 32k;
        client_body_timeout         300;
        client_body_buffer_size     3072k;
    
        
        upstream xxx-api-server {
                server  172.10.111.20:8080;
                server  172.10.111.20:8082 backup;
        }
            
    server {
            listen 80 ;
            server_name www.test.com;
            root       /opt/nginx-1.6.3/html/;
            error_page 404 502 = @fetch;
            location  @fetch {
                     default_type application/json;
                     return 200 '{"eorror":10000,"msg":"系统优化维护中..."}';
            }
            location ~ / {
                    proxy_pass http://xxx-api-server;
                    proxy_read_timeout      7200;
                    proxy_connect_timeout   5;
                    proxy_set_header        Host                $Host;
                    proxy_set_header        X-Forwarded-For     $remote_addr;
            }
        }
    server {
            listen 443 ;
            server_name www.test.com;
            ssl on;
            ssl_certificate /opt/nginx-1.6.3/certs/test.pem;
            ssl_certificate_key /opt/nginx-1.6.3/certs/test.key;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            root    /opt/nginx-1.6.3/html/;
            error_page 404 502 = @fetch;
            location  @fetch {
                     default_type application/json;
                     return 200 '{"eorror":10000,"msg":"系统优化维护中..."}';
            }
            location ~ / {
                    proxy_pass http://xxx-api-server;
                    proxy_read_timeout      7200;
                    proxy_connect_timeout   5;
                    proxy_set_header        Host                $Host;
                    proxy_set_header        X-Forwarded-For     $remote_addr;
            }
        }
    server {
            listen 80 ;
            server_name www.test-php.com;
            error_page 404 502 = @fetch;
            location  @fetch {
               default_type application/json;
               return 200 '{"eorror":10000,"msg":"系统优化维护中..."}';
            }
            location  ~ \.(js|css|gif|jpg|jpeg|png|svg|woff2|woff|ttf)$ {
                    root /opt/nginx-1.6.3/html/php/;
            }
            location ~ / {
                    root /opt/nginx-1.6.3/html/php/;
                    fastcgi_pass 127.0.0.1:9000;
                    fastcgi_index index.php;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    include fastcgi_params;
                    if (-f $request_filename/index.html){
                            rewrite (.*) $1/index.html break;
                    }
                    if (-f $request_filename/index.php){
                            rewrite (.*) $1/index.php;
                    }
                    if (!-f $request_filename){
                            rewrite (.*) /index.php;
                    }
            }
        }
    }
    

    相关文章

      网友评论

        本文标题:Nginx安装与配置

        本文链接:https://www.haomeiwen.com/subject/tpepixtx.html