我如何使用 Angular-Cli 运行 PM2? - Angular2
How Can I run PM2 with Angular-Cli? - Angular2
我怎样才能运行:
ng serve --prod
使用 pm2?
ng 从 angular-cli,Angular2 服务。我运行正在使用 DigitalOcean。
我尝试在 ng build --prod
之后在 dist/ 文件夹中使用 http-server -p 4200 -d false
进行测试
当我从域 https://www.unibookkh.com/ 请求时,出现 404 错误:(我已经将 nginx 设置为侦听端口 4200。
我用 http-server 测试,因为我想我也许可以 运行 pm2 通过这个命令
pm2 start my_app_process.json
其中
my_app_process.json
{
"apps": [
{
"name": "angular",
"cwd": "~/angular2",
"args": "-p 4200 -d false",
"script": "/usr/bin/http-server"
}
]
}
关于如何让它与 PM2 一起工作有什么更好的想法吗?
此命令将按预期工作:
在我运行
之后
ng build --prod
然后运行 dist/ 文件夹中的以下命令
pm2 start /usr/bin/http-server -- -p 8080 -d false
更新
我找到了更好的解决方案:
which ng
然后它会打印 /usr/bin/ng
然后输入这个
pm2 start /usr/bin/ng -- serve --prod
但是,如果您需要 ng serve for dev in preprod env,您可以在项目的根目录下创建一个 start.sh
#!/bin/bash
ng serve --host xxx.xxx.xxx.xxx --port xxxx
然后像那样使用 pm2 :
pm2 start start.sh --name my-pretty-dev-app-run-on-preprod
;)
如果您只想提供静态文件,新命令已登陆 pm2:
$ pm2 公开 [路径] [端口]
ng毕竟是一个node模块
apps:
- name: ngserve
script: 'node_modules/@angular/cli/bin/ng'
args: 'serve --progress=false --live-reload=false --disable-host-check=true'
watch: false
log_date_format: YYYY-MM-DD HH:mm
merge_logs: true
out_file: "/dev/null"
error_file: "/dev/null"
使用 PM2 最新版本
pm2 ecosystem
比更新
ecosystem.config.js as follows
module.exports = {
apps : [{
name: 'demoapp',
script: 'node_modules/@angular/cli/bin/ng',
args: 'serve --host [yourip] --disable-host-check',
instances: 1,
autorestart: true,
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}],
deploy : {
}
};
终于
pm2 start & pm2 save
例如,以下内容在 angular 项目中为我工作:
pm2 start "ng serve --host 0.0.0.0"
这对我有用。这个答案和其他答案之间的主要区别在于我必须使用 cwd
选项,因为我是来自根目录的 运行 pm2:
// pm2 start
// https://pm2.io/doc/en/runtime/guide/ecosystem-file
// https://pm2.io/doc/en/runtime/reference/ecosystem-file
module.exports = {
apps: [{
name: 'fe',
script: 'node_modules/@angular/cli/bin/ng',
args: 'serve -o',
cwd: 'biblical-hebrew-fe',
max_restarts: 5,
min_uptime: 3000,
exec_mode: 'fork',
instances: 1, // default
autorestart: true, // default
watch: false, // default
max_memory_restart: '1G', // default
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}],
deploy: {
production: {
user: 'node',
host: '212.83.163.1',
ref: 'origin/master',
repo: 'git@github.com:repo.git',
path: '/var/www/production',
'post-deploy': 'npm install && pm2 reload ecosystem.config.js --env production'
}
}
}
我怎样才能运行:
ng serve --prod
使用 pm2?
ng 从 angular-cli,Angular2 服务。我运行正在使用 DigitalOcean。
我尝试在 ng build --prod
http-server -p 4200 -d false
进行测试
当我从域 https://www.unibookkh.com/ 请求时,出现 404 错误:(我已经将 nginx 设置为侦听端口 4200。
我用 http-server 测试,因为我想我也许可以 运行 pm2 通过这个命令
pm2 start my_app_process.json
其中
my_app_process.json
{
"apps": [
{
"name": "angular",
"cwd": "~/angular2",
"args": "-p 4200 -d false",
"script": "/usr/bin/http-server"
}
]
}
关于如何让它与 PM2 一起工作有什么更好的想法吗?
此命令将按预期工作:
在我运行
之后ng build --prod
然后运行 dist/ 文件夹中的以下命令
pm2 start /usr/bin/http-server -- -p 8080 -d false
更新
我找到了更好的解决方案:
which ng
然后它会打印 /usr/bin/ng
然后输入这个
pm2 start /usr/bin/ng -- serve --prod
但是,如果您需要 ng serve for dev in preprod env,您可以在项目的根目录下创建一个 start.sh
#!/bin/bash
ng serve --host xxx.xxx.xxx.xxx --port xxxx
然后像那样使用 pm2 :
pm2 start start.sh --name my-pretty-dev-app-run-on-preprod
;)
如果您只想提供静态文件,新命令已登陆 pm2:
$ pm2 公开 [路径] [端口]
ng毕竟是一个node模块
apps:
- name: ngserve
script: 'node_modules/@angular/cli/bin/ng'
args: 'serve --progress=false --live-reload=false --disable-host-check=true'
watch: false
log_date_format: YYYY-MM-DD HH:mm
merge_logs: true
out_file: "/dev/null"
error_file: "/dev/null"
使用 PM2 最新版本
pm2 ecosystem
比更新
ecosystem.config.js as follows
module.exports = {
apps : [{
name: 'demoapp',
script: 'node_modules/@angular/cli/bin/ng',
args: 'serve --host [yourip] --disable-host-check',
instances: 1,
autorestart: true,
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}],
deploy : {
}
};
终于
pm2 start & pm2 save
例如,以下内容在 angular 项目中为我工作:
pm2 start "ng serve --host 0.0.0.0"
这对我有用。这个答案和其他答案之间的主要区别在于我必须使用 cwd
选项,因为我是来自根目录的 运行 pm2:
// pm2 start
// https://pm2.io/doc/en/runtime/guide/ecosystem-file
// https://pm2.io/doc/en/runtime/reference/ecosystem-file
module.exports = {
apps: [{
name: 'fe',
script: 'node_modules/@angular/cli/bin/ng',
args: 'serve -o',
cwd: 'biblical-hebrew-fe',
max_restarts: 5,
min_uptime: 3000,
exec_mode: 'fork',
instances: 1, // default
autorestart: true, // default
watch: false, // default
max_memory_restart: '1G', // default
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}],
deploy: {
production: {
user: 'node',
host: '212.83.163.1',
ref: 'origin/master',
repo: 'git@github.com:repo.git',
path: '/var/www/production',
'post-deploy': 'npm install && pm2 reload ecosystem.config.js --env production'
}
}
}