zoukankan      html  css  js  c++  java
  • nginx安装部署《简单版》

    ===========================================================================================

    1 源码方式:安装Nginx ------------------------------------------------------------

    下载:wget http://nginx.org/download/nginx-1.10.0.tar.gz
    解压: tar -zxvf nginx-1.10.0.tar.gz

    2 检查安装依赖:---------------------------------------------------------------------

    1、GCC
    2、PCRE (perl compatible regular Expressions,Perl 兼容正则表达式)
    3、Zlib
    4、OpenSSL

    命令:yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

    3 Linux内核参数优化 ----------------------------------------------------------------

    即修改/etc/sysctl.conf

    修改后,再执行 sysctl -p命令,使修改生效;

    4 配置安装选项 -----------------------------------------------------------------------

    通常nginx安装再/opt或/usr/local目录下
    配置安装目录命令:./configure -prefix=/usr/local/nginx_home --sbin-path=/usr/local/nginx_home/sbin/nginx

    若未配置安装目录,默认安装到/usr/local/nginx

    注意:如果需要配置ssl或其它插件,则需要执行如下命令

    ~] ./configure --prefix=/usr/local/nginx_home --sbin-path=/usr/local/nginx_home/sbin/nginx --with-http_ssl_module

    5 编译与安装 ---------------------------------------------------------------------

    编译:make
    安装:make install

    6 配置代理 ------------------------------------------------------------------------

    主要配置:/usr/local/nginx_home/conf/nginx.conf文件即可

    可参考如下配置:

    [root@txdevitap03 app_comm]# cat /usr/local/nginx_home/conf/nginx.conf
    
    #user  nobody;
    worker_processes  1;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    events {
        worker_connections  1024;
    }
     
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /usr/local/nginx_home/logs/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    
        server {
            listen       80;
            server_name  localhost; 
            location / {
                root   html;
                index  index.html index.htm;
            } 
        }
     
        upstream xxxxxAAAapi {
           server 172.16.1.2:8026;
           keepalive 2000;
        }
        
        upstream xxxxBBBapi {
           server 172.16.1.3:8025;
           keepalive 2000;
        }
    
        # HTTPS server 
        server {
            listen       443 ssl;
            server_name  dev.main.com;
    
            ssl                  on;
            ssl_certificate      /usr/local/nginx_home/cert/xxxxx.com.pem;
            ssl_certificate_key  /usr/local/nginx_home/cert/xxxxx.com.key;
    
            ssl_session_cache    shared:SSL:1m;
            ssl_session_timeout  5m;
               
            access_log  /usr/local/nginx_home/logs/https-access.log;
            error_log   /usr/local/nginx_home/logs/https-error.log;
            
            location / {
                root   html;
                index  index.html index.htm;
            }
            
            location /xxxxBBB/ {
                 proxy_pass http://xxxxBBBapi;
                 proxy_http_version 1.1;
                 proxy_set_header Connection "";
            }
            
            location /xxxxxAAA/ {
                 proxy_pass http://xxxxxAAAapi;
                 
                 proxy_set_header Host $host:$server_port;
                 proxy_set_header Proxy-Client-IP $remote_addr;
                 proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
            }
    
            location /xxxxxAAA/ {
                 proxy_pass http://xxxxxAAAapi;
                 
                 proxy_set_header Host $host:$server_port;
                 proxy_set_header Proxy-Client-IP $remote_addr;
                 proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
            }
      
        }
    
    }

    7 启动、停止、重启 --------------------------------------------------------------

    启动:/opt/nginx/sbin/nginx -p /opt/nginx
    -p 指定Nginx的目录,因为同一台服务器可以运行多个Nginx实例,所以需要指定当前实例的目录。

    ~] /opt/nginx/sbin/nginx -t -c /path/to/nginx.conf  // 启动并测试nginx配置文件
    ~] /opt/nginx/sbin/nginx -c /path/to/nginx.conf     // 直接启动nginx
    
    ~] kill -HUP 主进程号                 // 平滑重启nginx
    ~] /opt/nginx/sbin/nginx -s  reload  // 重载配置文件
    ~] /opt/nginx/sbin/nginx -s quit     // 完整有序的停止nginx服务
    ~] /opt/nginx/sbin/nginx -s stop     // 快速停止nginx服务
    其他的停止nginx 方式:
    ~] ps -ef | grep nginx
    ~] kill -QUIT 主进程号     // 从容停止Nginx
    ~] kill -TERM 主进程号     // 快速停止Nginx
    ~] pkill -9 nginx         // 强制停止Nginx

    ===========================================================================================
    使用configure 命令参数可以再新编译的Nginx程序里做如下工作:
    1、打包指定模块
    2、去除指定的模块
    这样就可以自定义Nginx功能,并减少内存使用;

  • 相关阅读:
    vue报错 ModuleBuildError: Module build failed: Error: `sass-loader` requires `node-sass` >=4. Please install a compatible version.
    js 相对路径转为绝对路径
    查询数据库表结构,默认值,是否为空等
    NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX
    【58沈剑架构系列】RPC-client异步收发核心细节?
    Windows下性能最好的I/O模型——完成端口
    链表的基本操作
    逐步优化求解最大子序列和
    python 遍历文件夹
    Markdown笔记
  • 原文地址:https://www.cnblogs.com/outpointexception/p/13970747.html
Copyright © 2011-2022 走看看