pm2 - 在 Digital Ocean 上使用 pm2 启动多个 Nuxtjs 项目
问题描述
我在一个使用 nginx 代理的 Digital Ocean Droplet 中有几个项目,我想用 pm2 启动所有这些项目,我看到我可以使用包含名称和脚本的 .json 文件来实现这一点,但它似乎没有工作,这就是我所做的:
我的项目目录:
项目1
项目2
pm2-apps.json
pm2-apps.json
{
"apps": [
{
"name": "project1",
"script": "./project1/package.json"
},
{
"name": "project2",
"script": "./project2/package.json"
},
]
}
然后我跑
pm2 start pm2-apps.json
我明白了
但是然后我输入了网址,该项目似乎没有正确安装,如果我pm2 start npm -- start
在项目文件夹中分开运行每个项目,它就可以工作。
解决方案
必须对此进行测试,并发现您可能遇到的几个问题,假设您的 nginx 设置正确。
我不得不将文件更改为以下内容:
{
"apps": [
{
"name": "project1",
"cwd": "./project1",
"script": "/usr/bin/npm",
"args": "run dev"
},
{
"name": "project2",
"cwd": "./project2",
"script": "/usr/bin/npm",
"args": "run dev"
}
]
}
奇怪"script": "npm",
的是,我可以从使用中看到的 SIGINT'ing 还不够pm2 monit
然后在每个项目中,我更改了 nuxt 端口:
nuxt.config.js
...
server: {
port: 3001, // project1
host: '0.0.0.0', // default: localhost
},
...
和
...
server: {
port: 3002, // project2
host: '0.0.0.0', // default: localhost
},
...
然后清除pm2..pm2 delete all
然后从文件夹中运行:
pm2 start pm2-apps.json
然后两个应用程序都可以毫无问题地启动..
推荐阅读
- docker - 在多主机 Docker 上创建 Hazelcast 集群的简单方法
- python-3.x - 寻找一种在 Windows 上使用 Python “锁定”和“解锁”文件夹的简单方法
- java - 为什么要在 Apache Kafka 中序列化/反序列化密钥和记录?
- c# - C# 中的 System.ArgumentOutOfRangeException 错误
- node.js - 我想要一个用于每 1 分钟在语音频道中就座的硬币系统
- mysql - 在索引列上计算行数比在主列和普通列上慢?
- python - 使用百分比分配和修改变量(计算)
- html - iPhone Mobile Safari 元视口
- c++ - 伺服电机和电位器问题:程序插入板时不移动
- r - 控制作为日期的 ggplot x 轴刻度