微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nginx使用

#)Nginx介绍

Nginx一个前端web容器,主要的作用有3个:1.前端静态web服务器,2.反向代理,3.负载均衡。

一般有1和2两个功能Nginx可以启动前端服务,启动后就可以在浏览器里访问js\img\css\html\vue等静态文件和它们之间的跳转。此时,只能独立的访问前端,当启动了后台服务之后,也能独立的访问后台,但是前后台不通。不能通过前端页面在浏览器上请求后台、向后台发送请求。这时,就需要配置反向代理。让前端可以请求后台

后台配置了多个同样的服务时,就可配置负载均衡了,发送请求时,分配到不同的后台服务器上,减少只有一台服务器时的负担。

#)反向代理介绍

正向代理:

比如我们常用的公司内网代理。通过代理软件,从其他网络访问公司内网。正向代理需要知道服务端的ip端口,会隐藏请求端的ip信息。

 

反向代理:

Nginx反向代理,会隐藏后台的真实ip和端口、path-context上下文。

当在浏览器中访问静态的前端html/vue/js/css/图片时,Nginx会根据下面的location /配置,指向root的路径,直接访问到静态内容

1 location / { ----前端项目所在路径
2     root   E:\xxxx\localDeploy\ceshi\dist;
3     index  index.html index.htm;
4 }

 

当浏览器中的前端,和后台交互时,会访问后台接口,会根据以下配置,当访问/apis/时,代理到proxy_pass的路径,访问后台服务。并且这个request请求信息仍然显示的是前端的ip和port。后台的ip和port会被隐藏:

1 location /apis/ { --前端请求/apis时,代理路径
2     proxy_pass  http://192.168.0.2:8089/path-context/; --后台服务
3 }

 

#)下载、启动、关闭

官网下载Nginx稳定发布版,解压,即可使用。

一、启动Nginx

双击Nginx.exe运行:

 

 

 

 

二、停止所有的Nginx服务:

管理员身份运行cmd,输入命令:

taskkill /f /im Nginx.exe

 

或者写成脚本文件

 

双击stopNginx.bat运行。

三、停止某个Nginx服务:

进入到Nginx根目录下:

 

或者:

 

四、Nginx命令

进入到Nginx根目录下,执行命令:

查看Nginx的版本号:Nginx -V

启动Nginx:start Nginx

快速停止或关闭NginxNginx -s stop

正常停止或关闭NginxNginx -s quit

配置文件修改重装载命令:Nginx -s reload

查看windows任务管理器下Nginx的进程命令:tasklist /fi "imagename eq Nginx.exe"

#)反向代理配置:

五、NodeJS项目内部的反向代理设置:

前端项目里的文件:config/index.js

 

 

 

 

L15 :在node.js里,反向代理到后台的URL。但在Nginx下这个配置无效。所以Nginx里还需要配置

 

 

 

 

六、在Nginx中配置vue项目的反向代理:

Nginx.conf文件配置:

1 server {
2         listen       8089;    --前端服务的端口
3         server_name  localhost;  --一般不动,都是localhost
4         charset utf-8;    --编码
5         root  /usr/local/Nginx/html/dist;    --前端项目所在路径。这里放到了Nginx/html文件夹下
6         location /apis {    --前端请求/apis时,代理路径
7             proxy_pass http://192.168.0.2:8089/maternal-child/;
8         }
9 }

 

或者:

 1 server {
 2         listen       8089;    --前端服务的端口
 3         server_name  localhost;  --一般不动,都是localhost
 4         charset utf-8;    --编码
 5         location / {    ----前端项目所在路径
 6             root   E:\xxx\localDeploy\ceshi\dist;
 7             index  index.html index.htm;
 8         }
 9         location /apis {    --前端请求/apis时,代理路径
10             proxy_pass http://192.168.0.1:8089/context-path/;
11         }
12 }

 

七、Nginx配置文件说明:

http{}中配server{},可以有多个server{}

每个server{}如下:

server {
        listen       8089;	--前端服务的端口
        server_name  localhost;  --一般不动,都是localhost
        charset utf-8;	--编码
        root  /usr/local/Nginx/html/dist;	--前端项目所在路径。也可以放到Nginx/html文件夹下
        location /apis {	--前端请求/apis时,代理路径
            proxy_pass http://192.168.0.2:8089/context-path/;
            #以下的四个配置,暂且这样设,如果深究的话,每一个都涉及到很复杂的内容,也将通过另一篇文章来解读。
            proxy_redirect          off;
            proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

 

#)负载均衡

 

 

#)前端项目配置二级域名

 

 

#)Tomcat启动前端项目

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐