Nginx反向代理

nginx相关命令

启动

sudo nginx

编辑配置nginx.conf文件

sudo vim /etc/nginx/nginx.conf
user www-data; 
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
    # multi_accept on; }

http {
    # Basic Settings
    # 支持文件发送(下载)
    #sendfile on;
    sendfile off;
    # 此选项允许或禁止使用socke的TCP_CORK的选项(发送数据包前先缓存数据),此选项仅在使用sendfile的时候使用
    tcp_nopush on;
    tcp_nodelay on;
    # 连接保持超时时间,单位是秒
    keepalive_timeout 6000;
    types_hash_max_size 2048;
    # server_tokens off;
    client_max_body_size 120m;
    client_body_buffer_size 2048m;
    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;
    include /etc/nginx/mime.types;
    default_type application/octet-stream;
    # SSL Settings
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;
    # Logging Settings
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##
    gzip on;
    # 支持文件发送(下载)
    # 此选项允许或禁止使用socke的TCP_CORK的选项(发送数据包前先缓存数据),此选项仅在使用sendfile的时候使用
    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    # Web 服务的监听配置
    server {
        listen  9200;       # 监听地址及端口,主机ip不加则默认监听全部
        server_name  localhost;  # 站点域名,可以有多个,用空格隔开
        charset utf-8;           # 网页的默认字符集
        # 根目录配置
        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:5000/;
        }
        location /vue/ {
             add_header Cache-Control no-store;  # 告诉浏览器不要缓存
             root   /data/lshib/Vue_Flask_Detection/vue_font/dist/;
             index  index.html index.htm;   # 默认首页文件名
        }
        location /api/ {
             proxy_set_header Host $host;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass http://127.0.0.1:5000/;
    # 可以配置多个Web服务的监听
    server {
        listen  9222;       # 监听地址及端口,主机ip不加则默认监听全部
        server_name  localhost;  # 站点域名,可以有多个,用空格隔开
        charset utf-8;           # 网页的默认字符集
        # 根目录配置
        location / {
            root   /data/csy/REID/vue_font/dist/;
            index  index.html index.htm;   # 默认首页文件名
        }
        location /api/ {
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:5050/;
        }
    }
    # Virtual Host Configs
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

编辑配置文件后使其生效

sudo nginx -t -c /etc/nginx/nginx.conf

停止nginx

sudo nginx -s stop

遇到的问题以及解决方法

问题:无法重启或关闭nginx,因为找不到pid

方法:
给nginx.conf配置中的用户(假设user 是nginx)对应目录或nginx.pid的所有权
1)nginx.pid 随便给个值 1

echo 1 > /run/nginx.pid

2)给权限

sudo chown nginx:nginx vim /run/nginx.pid

问题:遇到权限不够

方法:

su root

问题:端口占用

方法:
找到正在运行的nginx进程,强制结束
(1)查看nginx运行中线程

ps aux|grep nginx

在这里插入图片描述
杀死第一个
master只有一个,只是用来维护worker进程的,worker可以有多个

kill -9 13210

问题:Nginx更新后浏览器内容不更新

方法:
(1)F12开启开发者模式
(2)鼠标右击刷新,选择清空缓存并硬性重新加载(以Chrome为例)
请添加图片描述

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值