美文网首页
nginx使用备忘

nginx使用备忘

作者: 天边010 | 来源:发表于2017-03-22 19:01 被阅读0次

常用命令

nginx -s reload  :修改配置后重新加载生效
nginx -s reopen  :重新打开日志文件
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

关闭nginx:
nginx -s stop  :快速停止nginx
         quit  :完整有序的停止nginx

其他的停止nginx 方式:

ps -ef | grep nginx

kill -QUIT 主进程号     :从容停止Nginx
kill -TERM 主进程号     :快速停止Nginx
pkill -9 nginx          :强制停止Nginx



启动nginx:
nginx -c /path/to/nginx.conf

平滑重启nginx:
kill -HUP 主进程号

配置

nginx.conf

                                                                                                                                                                  
user root;                                                                                                                                                        
worker_processes auto;                                                                                                                                            
error_log /data/log/nginx/error.log;                                                                                                                              
pid /var/run/nginx.pid;                                                                                                                                           
                                                                                                                                                                  
# Load dynamic modules. See /usr/share/nginx/README.dynamic.                                                                                                      
include /usr/share/nginx/modules/*.conf;                                                                                                                          
                                                                                                                                                                  
events {                                                                                                                                                          
    worker_connections  102400;                                                                                                                                   
}                                                                                                                                                                 
                                                                                                                                                                  
                                                                                                                                                                  
http {                                                                                                                                                            
    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  /data/log/nginx/access.log  main;                                                                                                                 
                                                                                                                                                                  
    sendfile            on;                                                                                                                                       
    tcp_nopush          on;                                                                                                                                       
    tcp_nodelay         on;                                                                                                                                       
    keepalive_timeout   65;                                                                                                                                       
    types_hash_max_size 2048;                                                                                                                                     
                                                                                                                                                                  
    #lxj add gzip                                                                                                                                                 
    gzip on;                                                                                                                                                      
    gzip_min_length 1k;                                                                                                                                           
    gzip_buffers 4 16k;                                                                                                                                           
    #gzip_http_version 1.0;                                                                                                                                       
    gzip_comp_level 3;                                                                                                                                            
    gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;               
    gzip_vary off;                                                                                                                                                
    gzip_disable "MSIE [1-6]\.";                                                                                                                                  
                                                                                                                                                                                                                                                                                                                  
    include             /etc/nginx/mime.types;                                                                                                                    
    default_type        application/octet-stream;                                                                                                                 
                                                                                                                                                                  
    # Load modular configuration files from the /etc/nginx/conf.d directory.                                                                                      
    # See http://nginx.org/en/docs/ngx_core_module.html#include                                                                                                   
    # for more information.
    include /etc/nginx/conf.d/*.conf;
}

default.conf

upstream tomcat {                                                                                                                                                 
        ip_hash;                #将相同的ip路由到同一个端口上                                                                                                     
        server localhost:8081;                                                                                                                                    
        server localhost:8082;                                                                                                                                    
}                                                                                                                                                                 
                                                                                                                                                                  
server {                                                                                                                                                          
        listen   80; ## listen for ipv4; this line is default and implied                                                                                         
        # Make site accessible from http://localhost/                                                                                                             
        server_name localhost;                                                                                                                                    
                                                                                                                                                                  
        location /api_v1/ {                                                                                                                                       
            proxy_pass http://tomcat;                                                                                                                             
            proxy_set_header Host $host:8080;                                                                                                                     
            proxy_set_header X-Real-IP $remote_addr;                                                                                                              
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                                                                                          
        }                                                                                                                                                         
                                                                                                                                                                  
        location / {                                                                                                                                              
            root /data/PalmScoreServer/static-data/;         #自定义路径                                                                                                     
            index index.html;                                                                                                                                     
        }                                                                                                                                                         
}

常见问题

问题1

配置RN环境后react antd在浏览器里就无法运行了,包括mysql也无法run(卸载mysql后重新安装),前端程序也无论如何也打不开,总是显示

I am getting Error: net::ERR_CONTENT_LENGTH_MISMATCH

单独在地址栏输入dora的地址:localhost:8000也没问题,nginx也能打开测试的html页面,就是通过nginx无法反向代理dora;
后来搜索到:http://stackoverflow.com/questions/22889338/javascript-not-loading-due-to-neterr-content-length-mismatch
执行下面的命令:

sudo nginx -s stop
sudo rm -rf /usr/local/var/run/nginx/*
sudo nginx

重试http://localhost/ 就可以打开网页了;

·······························································

CentOS7.0安装nginx-1.12.2安装(20180127)

安装依赖包

nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel

  1. gcc 安装
    安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++
  1. PCRE pcre-devel 安装
    PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel
  1. zlib 安装
    zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
  1. OpenSSL 安装
    OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
    nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel
安装Nginx
  1. 下载到当前目录
    登录nginx网址查看最新版本:https://nginx.org/en/download.html
wget -c https://nginx.org/download/nginx-1.12.2.tar.gz
  1. 解压缩到当前目录
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
  1. 配置
    使用默认配置,在解压缩目录内执行下面命令中的一个:
./configure (默认)
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module (需要开启https)

显示结果:

.................
Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"
  1. 编译和安装
make
make install
  1. 查看安装目录
[root@iZ8vb3pwnjelqaw0zw3fylZ nginx-1.12.2]# whereis nginx
nginx: /usr/local/nginx

到这里安装已经完成了

基本设置
  1. 开机自启动
vi /etc/rc.local 

在文件内增加一行

/usr/local/nginx/sbin/nginx

效果如下:


160905180451095.png

最后在设置下执行权限

chmod 755 /etc/rc.local
  1. 设置环境变量(给所有用户可执行)
vi /etc/profile

在尾部添加代码:

export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

大概效果:


1517038148096.jpg

最后执行下面的指令即时生效:

source /etc/profile

另外在用户目录下的.bash_profile文件中增加变量
用vi在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效。
例如给root用户设置:

vi /root/.bash_profile 
nginx使用中的设置

进入安装目录:

cd /usr/local/nginx/conf/

相关文章

网友评论

      本文标题:nginx使用备忘

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