本文共 1206 字,大约阅读时间需要 4 分钟。
部署vue +koa+nginx前后端分离项目到服务器
由于自己在这条路上走过了不少坷,百度了无数次,记录下来方便以后回看,也希望这篇文章能帮到需要的人。
先上正确的部署步骤:
手机之前本地可以运行就好了,打包前记得把baseurl修改成自己的服务器IP地址。原来的设置可能有点类似这样:
// axios 配置接口默认路径axios.defaults.baseURL = 'http://127.0.0.1:8888/api/'
然后进入项目目录,运行npm run build
,就能看到打包后的文件夹dist
,这些就是自己服务器上的静态资源。会不会是上传到服务器上新建个文件夹,比如/www/demo
,这个目录就是网站的根目录。用宝塔面板上传文件或者直接使用宝塔自带的xftp。
宝塔面板的宝塔Linux操作面板安装起来挺方便的,像软件商店一样,一键安装,省去不少麻烦。
接下来就是安装并配置nginx了。宝塔面板上也能一键安装nginx,重点就是自己熟悉一下nginx的配置。
在安装好nginx后,一定要记得执行以下命令来启动nginx:
cd /usr/local/nginx/sbin./nginx # 启动./nginx -s stop # 停止./nginx -s reload # 重启
修改完nginx配置文件之后一定要重新启动,确认没问题才能继续。
nginx的配置文件是/etc/nginx/nginx.conf
,记得按照自己的项目情况来调整 configurations。
关于后端项目的部署,直接把本地的文件夹上传到服务器本身就可以了。记得看好端口号是否开放,阿里云实例控制台上记得调整安全组,授权所需的端口。查看当前运行的端口可以用netstat -ntlp
。
最后,PM2管理前后端都是好东西,先安装pm2:
npm install pm2 -g
然后根据自己的需求来管理服务:
PM2的相关操作都了解一下:
pm2 start app.js # 启动服务pm2 stop all # 停止所有实例pm2 stop [AppName] # 停止指定应用pm2 stop [ID] # 根据ID停止pm2 startup # 自动重启
前后端分离项目部署完了,注意 WebSocket的时候发现了问题,这个错误提示还挺多见的:
WebSocket connection to 'ws://*********' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT
简单的方法是关闭防火墙,基本操作:
systemctl stop firewalld.service
记录一下全过程,下次遇到同样的问题就能快速解决啦。这篇文章以后返回后都能快速回看,希望能帮到有类似需求的人。
转载地址:http://opblz.baihongyu.com/