最近打算用宝塔来搭建node.js项目,之前只用过直接安装node和npm的方法来运行项目,如果对于多个node、php等项目同时在一台服务器运行,那么Nginx的配置也相对麻烦。那有没有一种方法是可以一台服务器运行多个不同项目的方法呢?
利用宝塔PM2管理多个node.js,宝塔这款产品我不再过多介绍了,了解过的朋友可以往下看,没有了解过的朋友自行百度,这里就不安利了。宝塔官方社区,对于PM2的使用方法介绍是很少的,搜索了一下都是网友提出的问题,连个教程都没有。
![](https://qzwp-1251388829.cosgz.myqcloud.com/wp-content/uploads/2019/04/51b9b6fd023a445e8a5dbc71969555a.png)
![](https://qzwp-1251388829.cosgz.myqcloud.com/wp-content/uploads/2019/04/微信截图_20190404140100.png)
所以没有官方的支持,唯有靠自己摸索了。
首先安装宝塔官方的PM2管理器(LNMP搭建好是前提),切换到正确的node版本;(本例项目是egg.js)
一、把项目拉到服务器,git 什么的,或者ftp,或者。。。自行解决。
二、CD 到项目跟目录,命令:“npm i”,安装依赖包。如果报错,尝试删除项目中的“package-lock.json”后再重复“npm i”。
安装完后,命令:“node -v”和“npm -v”,查看版本是否正确。
![](https://qzwp-1251388829.cosgz.myqcloud.com/wp-content/uploads/2019/04/微信截图_20190404140349.png)
三、环境安装好后,新建和导入sql到数据库,注意“config.prod.js”数据库配置文件的“用户名、密码、数据库名”要一致。“Host”地址是你项目地址。
![](https://qzwp-1251388829.cosgz.myqcloud.com/wp-content/uploads/2019/04/config-1024x521.png)
数据库建立好后,建议用Navicat测试连接一下。注意访问权限和访问端口需要在宝塔添加到白名单。
![](https://qzwp-1251388829.cosgz.myqcloud.com/wp-content/uploads/2019/04/port-1024x440.png)
![](https://qzwp-1251388829.cosgz.myqcloud.com/wp-content/uploads/2019/04/navicat.png)
四、SSH命令启动测试,CD到项目根目录,运行项目:"npm run start"
![](https://qzwp-1251388829.cosgz.myqcloud.com/wp-content/uploads/2019/04/start.png)
看到这个"started on http//........"证明项目启动成功了,可以往下一步,同时我们也可在浏览器输入”服务器地址+端口”测试项目,如果出现错误,请根据err log 自行排故。如果有用到API接口的,请检查接口状态。
在宝塔PM2部署,需要先关闭项目,输入命令“npm run stop”关闭项目。
![](https://qzwp-1251388829.cosgz.myqcloud.com/wp-content/uploads/2019/04/微信截图_20190404140329.png)
五、打开宝塔PM2管理器设置,选择项目所在根目录和启动文件名称(一般是index.js),项目名称随便写,点击“添加”后,如无意外,状态是绿色运行,重启次数不会多的,如果重启次数不断增加,请查看运行日志。
![](https://qzwp-1251388829.cosgz.myqcloud.com/wp-content/uploads/2019/04/微信截图_20190404140215.png)
六、创建映射,点击“映射按钮”,输入“域名”,即可。创建成功后,在宝塔后台网站管理会出现该网站,然后就是熟悉的感觉,SSL、网站监控等都可以方便设置。
![](https://qzwp-1251388829.cosgz.myqcloud.com/wp-content/uploads/2019/04/微信截图_20190404140243.png)
![](https://qzwp-1251388829.cosgz.myqcloud.com/wp-content/uploads/2019/04/微信截图_20190404162930.png)
踩过的一些坑:路由入口地址要设置正确,我就是忘记了项目路由地址,网站一直显示“404”,还以为是Nginx的配置问题。
![](https://qzwp-1251388829.cosgz.myqcloud.com/wp-content/uploads/2019/04/67d340a5e4c70e9d96d2b943947a6ff.jpg)
评论前必须登录!
注册