springboot-整合vue,nginx前后端分离部署

springboot-整合vue,nginx前后端分离部署

环境

idea2018,jdk1.8, springboot版本:springboot1.5.9.RELEASE nginx version: nginx/1.6.2 chrome浏览器

1.nginx

1.1nginx的安装

nginx的下载安装见:

1.2nginx的基本配置

Nginx配置文件主要分成四部分:main(全局设置)、server(主机设置)、upstream(上游服务器设置,主要为反向代理、负载均衡相关配置)和 location(URL匹配特定位置后的设置),每部分包含若干个指令。1)main部分设置的指令将影响其它所有部分的设置,还有一些其他的配置段,如 event等; 2)server部分的指令主要用于指定虚拟主机域名、IP和端口; 3)upstream的指令用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡; 4)location部分用于匹配网页位置(比如,根目录"/","/images",等等)。 他们之间的关系式:server继承main,location继承server;upstream既不会继承指令也不会被继承。它有自己的特殊指令,不需要在其他地方的应用。 详细配置见:
nginx.conf配置中:设置多个server,每个server监听不同的端口号即可

1.4nginx配置1个端口,多个域名区分不同项目(1个后台多个前端)

1.5nginx做负载均衡

1.6nginx访问静态资源

nginx.conf配置中:需要指定nginx上存储静态资源的路径,server配置项中设置:

###配置Nginx动静分离,定义的静态资源页面直接从Nginx发布目录读取。
##有两种配置模式,目录匹配或后缀匹配,任选其一或搭配使用
   # location ~ .*.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
   location /webapp1/static/ 
    { 
        root /usr/local/nginx/html;
      #expires定义用户浏览器缓存的时间为7天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力
       expires      7d; 
  }

2.测试

nginx配置好后(nginx.conf的配置见下面),建立3个web文件夹(以webapp1为例,将前端打包后的index.html和静态文件这里以/static开始的文件夹都放在webapp1下,其他项目类似),如下所示:

1)本地web测试: (可以正常访问接口及静态资源)

2)nginx负载均衡和静态文件的测试:

3)测试nginx不同端口,一个端口不同上下文;测试nginx一个端口不同上下文,访问:

* http://192.168.159.142:8070/webapp2/
* http://192.168.159.142:8070/webapp2/test
* http://192.168.159.142:8070/webapp3/
* http://192.168.159.142:8070/webapp3/test

上述测试nginx.conf的完整配置

经验分享 程序员 微信小程序 职场和发展