【背景】
为了实现测试组日常工作的量化管理,我设计了一个简单的日报周报系统,然后找了前端开发同事帮忙实现。开发提供了一个前后端分离的项目,前台是vue项目,后台是nodejs项目(不算严格意义上的“后台”)。我需要把它们部署到远程linux服务器上,方便测试组同事日常使用。
没用的运维技能增加了
【正文】
一、本地部署
(一)后台启动(nodejs)
1、redis服务端下载安装,并确认配置
网上随便找个安装包解压缩后选择redis-server.exe文件双击启动,默认端口是6379,没有密码,一般不用改。
查看项目src\config\index.ts文件中的redis连接配置
2、数据库连接配置
连接本地数据库,确认数据库配置,也是在src\config\index.ts文件中
3、node环境
直接在idea中通过指令安装,安装完成后查看版本号能显示即安装成功
4、项目编译启动
也是在terminal中执行
编译命令:npm run grunt
启动命令:npm run start
(二)前台启动(vue)
1、确认后端服务地址与端口
开发模式:.env.development
生产模式:.env.production
改成刚才启动的后端项目的端口,IP可以用127.0.0.1或者localhost或者使用局域网中的IP更佳。
# base api-本地
VUE_APP_BASE_API = 'http://127.0.0.1:8193'
2、前端项目启动端口配置
vue.config.js中可以配置启动端口号,假设使用9528端口
3、编译与启动
编译命令:npm run build:prod
启动命令:npm run dev
4、前台访问
前后台都启动成功后再浏览器访问:
http://localhost:9528/
二、linux服务器远程部署
(一)环境准备
1、安装node
sudo yum install nodejs
(默认会把依赖和npm一起装了)
(node -v 和npm -v显示版本则安装成功)
2、安装pm2
npm install pm2 -g
(二)后台启动(nodejs)
1、redis和数据库配置调整后打包
连接redis和数据库改下ip端口这些信息,注意redis要是有密码的话加个opts.auth_pass的配置,需要注意对应redis.ts设置。
2、上传项目并启动
将整个项目上传到linux服务器上,并在bin目录下执行
pm2 start www.js (www使用实际名称)
(三)前台启动(vue)
1、确认
2、上传项目并启动
将整个项目上传到linux服务器上,并在项目根目录下执行
pm2 start npm -- run dev
3、确认运行状态
指令:pm2 list
(四)报错日志
默认路径:/root/.pm2/logs
目录下面有errorlog可以查看报错信息
(五)常用pm2指令
1、根据id启动(假设id为0)
pm2 start 0
2、启动所有
pm2 start all
3、根据id停止(假设id为0)
pm2 stop 0
4、停止所有
pm2 stop all
5、根据id重启(假设id为0)
pm2 restart 0
6、重启所有
pm2 restart all
7、根据id删除(假设id为0)
pm2 delete 0
8、删除所有
pm2 delete all
……
【结语】
主要就是熟悉各种配置文件,后台项目部署到服务器上后可以启动本地前台连接试试能不能用,能用了再把前台项目部署到服务器上。
vue项目还可以通过tomcat发布,不过打包的时候需要注意router/index.js的base配置,不然可能首页显示一片空白。
关于这个日报周报系统,等先使用一阵子,下次给各位展示下。