Skip to content
大纲

centos7 nginx 安装反代理

nginx

参考官方文档传送门

安装

sudo yum install nginx

启动

nginx 或 systemctl start nginx.service

基本操作

版本

nginx -v

查看端口

netstat -tlnp

安全停止服务

nginx -s quit

立即停止

nginx -s stop

重启服务

systemctl restart nginx.service

重启(重新载入配置文件)

nginx -s reload

查看状态

ps -ef | grep nginx

yum remove nginx

完全卸载nginx

sudo find / -name nginx* //找到
sudo rm -rf file 此处跟查找出来的nginx文件
sudo rm -rf file /usr/local/nginx*

展示

//静态文件存放位置

/usr / share / nginx / html

//配置文件

/etc/nginx/nginx.conf

重新设置以及备份

备份

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup

设置

vim /etc/nginx/nginx.conf

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html; #修改默认路径为:  /home/breakon.blog.top

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

重启

nginx -s reload

可能出现的错误

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

服务器重启之后,执行 nginx -t 是OK的,然而在执行 nginx -s reload 的时候报错

nginx: [error] invalid PID number "" in "/run/nginx.pid"

解决方法:

需要先执行

nginx -c /etc/nginx/nginx.conf

nginx.conf文件的路径可以从nginx -t的返回中找到。

nginx -s reload

如果以上没用,则直接kill调nginx里面的进程

ps -ef|grep nginx

shell
...
0 28504 1 0 10.49下午 ?? 0:00 nginx:master process nginx
...

例如:

sudo kill -quit 28504

然后重启nginx

反代理

在nginx.conf目录下创建文件夹vhost,配置文件为breakon.top.conf

vhost/breakon.top.conf

添加以下内容

server
    {
        listen 80;
        #listen [::]:80;
        server_name xxx.breakon.top; #反向
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/breakon.blog.top; # 当用户输入进来反向代理的

        #include rewrite/none.conf;
        #error_page   404   /404.html;

        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

    location / {
          proxy_pass http://127.0.0.1:3000; # 反代的端口
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log off;
    }

回到配置文件引入

server {

    ....

    }
include /etc/nginx/vhost/breakon.top.conf  # 添加你的代码