nginx是一个高性能的HTTP和反向代理服务器。所以经常使用来作静态资源服务器和后端的反向代理服务器。本文主要记录使用nginx去部署使用vue搭建的前端项目,项目基于vue官方的脚手架vue-cli构建。javascript
npm run build
经过上面命令后打包好的静态资源将输出到dist目录中。如图所示html
到nginx官方下载系统相关的nginx版本安装前端
下载相应的windows版本解压,解压后如图所示vue
启动命令:java
cd D:\ProgramFiles\nginx-1.12.2\nginx-1.12.2 start nginx
查看nginx任务进程(ps:须要在安装的根路径下执行)linux
tasklist /fi "imagename eq nginx.exe"
如图所示nginx
修改nginx配置文件,配置文件为conf下的nginx.conf,修改nginx.conf中的server配置片断vue-cli
server { listen 8888;#默认端口是80,若是端口没被占用能够不用修改 server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; root E:/vue/my_project/dist;#vue项目的打包后的dist location / { try_files $uri $uri/ @router;#须要指向下面的@router不然会出现vue的路由在nginx中刷新出现404 index index.html index.htm; } #对应上面的@router,主要缘由是路由的路径资源并非一个真实的路径,因此没法找到具体的文件 #所以须要rewrite到index.html中,而后交给路由在处理请求资源 location @router { rewrite ^.*$ /index.html last; } #.......其余部分省略 }
完成nginx配置后从新加载配置文件,命令以下(ps:须要在安装的根路径下执行):npm
nginx -s reload
浏览器中访问:http://localhost:8888windows
一般状况下ngxin是安装到单独的服务器上,所以通常是把vue打包后的dist仍到服务上的具体位置,而后修改nginx.conf的root路径来指向咱们的dist。
一般状况下不多使用windows来做为nginx的服务器,通常使用linux。对于linux安装nginx有两种方式,一种是使用官方已经编译好的包来安装,一种是使用源码构建安装。
第一种方式参考官方地址https://nginx.org/en/linux_packages.html#stable
第二种方式参考官方地址https://nginx.org/en/docs/install.html中的Building from Sources片断,这种实际上就是下一个tar.gz包仍到linux服务去本身编译。
在linux服务上和window环境上使用nginx部署vue项目并无太大差别,把构建好的vue项目dist上传到linux服务上,通用修改nginx服务器中的root来指向dist就ok了,而后使用
# centos 7 systemctl restart nginx.service # centos 6 service nginx restart
或者是平滑重启
service nginx reload