Nginx杂谈(持续更新)

1.nginx启动

start nginx

2.nginx重新加载配置文件(-s是signal意思)

nginx -s reload

3.nginx停止

nginx -s stop

4.nginx部署两个不一样的前后端系统
开启两个虚拟主机即可,nginx.conf中使用server{}代码块标签来表示一个虚拟主机,nginx支持多个server{}标签,即支持多个虚拟主机站点。

#系统1
server {
        listen       80;
        server_name  localhost;
        client_max_body_size 100m;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location ^~ /jeeplus-vue/ {
            proxy_pass              http://localhost:8082/;
            proxy_set_header        Host localhost;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        location ^~ /userfiles/ {
            proxy_pass              http://localhost:8082/userfiles/;
            proxy_set_header        Host localhost;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        location / {
                root   D:/nginx/html;
                index  index.html index.htm;
        }

    }
#系统2
server {
        listen       81;
        server_name  localhost;
        client_max_body_size 100m;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location ^~ /jeeplus-vue/ {
            proxy_pass              http://localhost:8084/;
            proxy_set_header        Host localhost;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        location ^~ /userfiles/ {
            proxy_pass              http://localhost:8084/userfiles/;
            proxy_set_header        Host localhost;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        location / {
                root   D:/nginx/html2;
                index  index.html index.htm;
        }

    }

5.nginx停止后,仍可访问系统的前后端资源
(1)问题背景:
刚开始,只运行使用一个虚拟主机(系统1),即一个server{}代码块标签;后来,想增加一个虚拟主机(系统2),在增加了第二个server{}代码块标签后,执行nginx -s reload,然后你执行nginx -s stop时,发现只是系统2不能访问了,系统1仍然可以畅通无阻的访问,你就会有疑问,我不是停止nginx服务了吗,为什么系统1还能访问系统资源?请往看下边看!
(2)问题原因及解决办法:
因为之前多次不正常操作,启动了多次服务,开启了多个进程。nginx -s stop你只是关掉了当前最新的一个进程,当你在执行nginx -s stop时会报如下错误,而不会继续关闭之前已经打开过的进程。
nginx -s stop操作你只是把最新进程的系统1、系统2(或者仅仅有系统2)的nginx服务关闭了,可是之前开启过的其他进程的nginx服务(只有系统1),这个时候会重新“复活”,会看到为啥我关闭了nginx系统服务后,系统1可以访问,系统2不能访问的“怪象”。)
在这里插入图片描述
这个时候要解决这个问题,必须要打开任务管理器,结束两个甚至更多个nginx.exe进程,就可以关闭掉所有进程的nginx的服务,系统1和系统2都不能访问了。
Nginx杂谈(持续更新)_第1张图片

你可能感兴趣的:(后端及Java,nginx)