Expressjs pm2 忽略监视 public/images 文件夹
Expressjs pm2 ignore watch public/images folder
我有一个使用 nodejs 的网站。问题是当用户上传图片时网站停止工作。那是因为我认为文件更改时 PM2 会重启服务器。如何解决这个问题呢。
谢谢
PM2 有特殊标志 --ignore-watch
标志。
尝试在您的 app.js/index.js 所在的同一目录中创建文件 process.json
并粘贴:
{
"watch": ["server", "client"],
"ignore_watch" : ["node_modules", "public/images"],
"watch_options": {
"followSymlinks": false
}
}
关于该主题的更多信息:http://pm2.keymetrics.io/docs/usage/watch-and-restart/
简单的解释,来自实际的经验
在 expressjs 应用程序的根文件夹中创建一个 json 文件。它可以有任何名称,但为了清楚起见,我使用了 pm2-process.json
{
"script": "bin/www",
"watch": true,
"ignore_watch": ["log"],
"watch_options": {
"followSymlinks": false
},
"name": "YOUR_PM2_PROCESS_NAME"
}
要从终端启动您的 pm2 服务,请在 express 应用程序的根文件夹中:
pm2 start pm2-process.json
就是这样。真的很简单。还有许多其他选项,但这是最低限度的功能。
字段说明:
- script - 运行 express 应用程序
的脚本
- watch - 一个布尔标志,用于控制 pm2 是否监视(或不监视)文件夹
- ignore_watch - 如果watch是开着的,那么告诉pm2忽略哪些文件夹看(换句话说,这是一个watch监控排除列表)
- name - pm2 进程的名称 ('service')。将其设置为您选择的应用程序名称。
完整文档在这里:http://pm2.keymetrics.io/docs/usage/application-declaration/#attributes-available
注意:我在上面的示例中将 node_modules 文件夹留在了 ignore_watch 数组之外,因为我希望 pm2 在 git pull 和 npm i 之后重新启动服务导致节点模块发生变化。然而,通过编辑数组值
很容易忽略 node_modules 或任何其他文件夹(例如,temp、public 等)
我有一个使用 nodejs 的网站。问题是当用户上传图片时网站停止工作。那是因为我认为文件更改时 PM2 会重启服务器。如何解决这个问题呢。 谢谢
PM2 有特殊标志 --ignore-watch
标志。
尝试在您的 app.js/index.js 所在的同一目录中创建文件 process.json
并粘贴:
{
"watch": ["server", "client"],
"ignore_watch" : ["node_modules", "public/images"],
"watch_options": {
"followSymlinks": false
}
}
关于该主题的更多信息:http://pm2.keymetrics.io/docs/usage/watch-and-restart/
简单的解释,来自实际的经验
在 expressjs 应用程序的根文件夹中创建一个 json 文件。它可以有任何名称,但为了清楚起见,我使用了 pm2-process.json
{
"script": "bin/www",
"watch": true,
"ignore_watch": ["log"],
"watch_options": {
"followSymlinks": false
},
"name": "YOUR_PM2_PROCESS_NAME"
}
要从终端启动您的 pm2 服务,请在 express 应用程序的根文件夹中:
pm2 start pm2-process.json
就是这样。真的很简单。还有许多其他选项,但这是最低限度的功能。
字段说明:
- script - 运行 express 应用程序 的脚本
- watch - 一个布尔标志,用于控制 pm2 是否监视(或不监视)文件夹
- ignore_watch - 如果watch是开着的,那么告诉pm2忽略哪些文件夹看(换句话说,这是一个watch监控排除列表)
- name - pm2 进程的名称 ('service')。将其设置为您选择的应用程序名称。
完整文档在这里:http://pm2.keymetrics.io/docs/usage/application-declaration/#attributes-available
注意:我在上面的示例中将 node_modules 文件夹留在了 ignore_watch 数组之外,因为我希望 pm2 在 git pull 和 npm i 之后重新启动服务导致节点模块发生变化。然而,通过编辑数组值
很容易忽略 node_modules 或任何其他文件夹(例如,temp、public 等)