How can I run:
ng serve --prod
with pm2?
ng serve from angular-cli, Angular2. I'm running on DigitalOcean.
I have tried to test with http-server -p 4200 -d false
in the dist/ folder after ng build --prod
When I request from the domain https://www.unibookkh.com/, i got 404 error: (I've already setup nginx to listen to port 4200.
I test with http-server because I think I maybe can run pm2 through this command
pm2 start my_app_process.json
where
my_app_process.json
{
"apps": [
{
"name": "angular",
"cwd": "~/angular2",
"args": "-p 4200 -d false",
"script": "/usr/bin/http-server"
}
]
}
Any better ideas of how to get it working with PM2?
But, if you need ng serve for dev in preprod env, you can create a start.sh at root of your project
And use pm2 like that :
;)
With PM2 recent version
than update
finally
ng is a node module after all.
This worked for me. The key difference here between this answer and the other answers is that I had to use the
cwd
option since I was running pm2 from a root directory:The following, for example, worked for me from the angular project:
pm2 start "ng serve --host 0.0.0.0"
This command would work as expected:
after I run
ng build --prod
then run the following command in the dist/ folder
pm2 start /usr/bin/http-server -- -p 8080 -d false
Update
I have found a better solution:
which ng
then it will print /usr/bin/ng then type thispm2 start /usr/bin/ng -- serve --prod