当前位置:
首页
文章
服务器
详情

nginx常用命令及代理

一、DOS命令

启动nginx

> start nginx

停止nginx

> nginx -s quit

快速停止

> nginx -s stop

重新加载配置启动

> nginx -s reload

检查配置文件

> nginx -t -c conf/nginx.conf

二、SHELL命令

查看nginx监听的端口是否存在

[root@localhost ~]# netstat -tlnup|grep nginx
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      8364/nginx: master

查看端口使用情况

[root@localhost ~]# netstat -ntlp | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      11210/nginx: master
  • -t : 只显示TCP端口
  • -u : 只显示UDP端口
  • -l : 仅显示监听套接字(能够读写与收发通讯协议(protocol)的程序)
  • -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序
  • -n : 不进行DNS轮询,显示IP(这样可以加快查询的时间)

杀死进程

[root@localhost ~]# kill 11210

三、接口代理

注意:Nginx有些端口是使用不是了的,如果总是访问失败,可以尝试改下端口

http {
    server {
        listen 80;
        server_name xxx.com;
        # 开启gzip压缩
        gzip on;
        gzip_min_length 1k;
        gzip_buffers 4 16k;
        gzip_comp_level 5;
        gzip_types text/css application/javascript image/jpeg image/jpg image/gif image/png application/x-protobuf;
        gzip_vary on;
        gzip_disable "MSIE [1-6]\.";
        location / {
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
            proxy_http_version 1.1;
            # 处理504超时报错,设置成600秒
            proxy_connect_timeout 600;
            proxy_send_timeout 600;
            proxy_read_timeout 600;
            proxy_pass http://127.0.0.1:3000; # 这里的端口不能与listen端口一样
            # 分块传输
            chunked_transfer_encoding on;
        }
    }
}

nginx服务配置

server {
    listen       8081;
    server_name  localhost;
    client_max_body_size 20M;

    location / {
        try_files $uri $uri/ /index.html;
        root   html/test;
        index  index.html index.htm;
        chunked_transfer_encoding on;
    }

    location /api {
        proxy_pass          http://beta-abc.com/;
        #proxy_set_header   Host             $host; #http1.0不支持host头部
        #proxy_set_header   X-Real-IP        $remote_addr;
        #proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

四、nginx站和其他站代理

server {
    listen       443 ssl;
    server_name  a.xxx.cn;

    client_max_body_size 10m;

    ssl_certificate /usr/local/nginx/cert/a/4743967_a.xxx.cn.pem;
    ssl_certificate_key /usr/local/nginx/cert/a/4743967_a.xxx.cn.key;

    location / {
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_pass http://127.0.0.1:3001;
    }
}
server {
    listen       443 ssl;
    server_name  b.xxx.cn;

    ssl_certificate /usr/local/nginx/cert/b/4486776_b.xxx.cn.pem;
    ssl_certificate_key /usr/local/nginx/cert/b/4486776_b.xxx.cn.key;

    # 开启gzip压缩
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_comp_level 5;
    gzip_types text/css application/javascript image/jpeg image/jpg image/gif image/png application/x-protobuf;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";

    location / {
        root   /usr/local/nginx/html/b;
        index  index.html index.htm;
        chunked_transfer_encoding on;
    }
}

五、允许跨域

location ^~ /test {
    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Credentials' 'true';
    add_header 'Access-Control-Allow-Methods' 'OPTION, POST, GET';
    add_header 'Access-Control-Allow-Headers' 'X-Requested-With, Content-Type';
}

六、常见问题

1、nginx: [error] open() "/var/run/nginx.pid" failed (2: No such file or directory)

[root@VM_0_10_centos nginx]# sudo nginx -c /etc/nginx/nginx.conf
[root@VM_0_10_centos nginx]# nginx -s reload

七、api接口/websocket代理

location ^~ /fapi/ {
    proxy_pass http://192.168.11.22:1808/; # 会把fapi替换掉
}

location ^~ /api/ {
    # proxy_pass http://192.168.11.22:1809$request_uri;
    proxy_pass http://192.168.11.22:1809/api/;
}

# webscoket
location /ws {
    proxy_pass http://192.168.11.22:17000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。

同类热门文章