nginx上部署前端项目

这篇文章讲述的部署方法,任何系统的服务器都适合(eg: windows,mac,etc...),同时也可以部署任何框架的前端项目(eg: vue, react, jq, etc...)

1. 打开nginx的安装目录,这里以mac系统为例:

在 etc 文件夹同级目录下有个 var 文件夹,var 文件夹里面有个 www 文件夹。这个 www 文件夹就是放置要部署的前端项目的地方。同理,其他系统的服务器也找到这个 /var/www 路径,把要部署的前端项目放入即可。

  1.1 www 文件夹里面的 index.html 和 50x.html 是 nginx 自带的。index.html 就是 nginx 的欢迎页面,一般用来判断 nginx 是否启动成功。50x.html 页面就是报错页面。

  1.2 song 和 dist 文件夹是我自己随便放入的两个前端项目,song 文件夹下面就一个 test.html 页面,dist 文件夹就是一个打包之后的 vue 项目。

2. 开始配置 /etc/nginx/nginx.conf 文件

  2.1 配置 /song/test.html

  

   2.2 配置 /dist/index.html。这种配置是访问的9996端口下的子目录dist,记得修改vue项目里面的 assetsPublicPath 和 router的 base 为 dist。

  

   

备注:如果服务器是mac系统,被部署的前端项目如果没有放在nginx的/var/www/目录下的话,比如放到了桌面上,访问时可能会报错,如果nginx配置是ok的话,报错的日志就可能是没有权限,如下:

  2020/02/12 11:36:42 [error] 37614#0: *13 "/Users/admin/Desktop/test/test.html" is forbidden (13: Permission denied), client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost:9998"

这时就可能是安装的 homebrew 有问题,解决方案就是:(二选一即可)

a. 重新安装 homebrew

b. 修改mac系统的权限配置(自行google)

我个人的建议就是,被部署的项目直接放到 /var/www/ 目录下即可。因为这个目录就是nginx本身的,不会有任何权限问题,而且这种方法适用于任何系统和任何项目。

猜你喜欢

转载自www.cnblogs.com/songmengyao/p/12298754.html