#)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根目录下,执行命令:
查看windows任务管理器下Nginx的进程命令:tasklist /fi "imagename eq Nginx.exe"
#)反向代理配置:
五、NodeJS项目内部的反向代理设置:
L15 :在node.js里,反向代理到后台的URL。但在Nginx下这个配置无效。所以Nginx里还需要配置
六、在Nginx中配置vue项目的反向代理:
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 }
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 举报,一经查实,本站将立刻删除。