Comment puis-je exécuter: ng serve --prod
avec pm2?
ng servir d'angular-cli, Angular2. Je cours sur DigitalOcean.
J'ai essayé de tester avec http-server -p 4200 -d false
dans le répertoire dist/folder après ng build --prod
Lorsque je demande au domaine https://www.unibookkh.com/ , j'ai l'erreur 404: (J'ai déjà configuré nginx pour écouter le port 4200.
Je teste avec http-server parce que je pense que je peux peut-être exécuter pm2 avec cette commande pm2 start my_app_process.json
où
my_app_process.json
{
"apps": [
{
"name": "angular",
"cwd": "~/angular2",
"args": "-p 4200 -d false",
"script": "/usr/bin/http-server"
}
]
}
De meilleures idées sur la façon de le faire fonctionner avec PM2?
Cette commande fonctionnerait comme prévu:
après je cours
ng build --prod
puis exécutez la commande suivante dans le dossier dist /
pm2 start /usr/bin/http-server -- -p 8080 -d false
J'ai trouvé une meilleure solution: which ng
Alors cela affichera /usr/bin/ng
pm2 start /usr/bin/ng -- serve --prod
Toutefois, si vous avez besoin de servir pour dev dans un environnement de préprod, vous pouvez créer un fichier start.sh à la racine de votre projet.
#!/bin/bash
ng serve --Host xxx.xxx.xxx.xxx --port xxxx
Et utilisez pm2 comme ça:
pm2 start start.sh --name my-pretty-dev-app-run-on-preprod
;)
Avec PM2 version récente
pm2 ecosystem
que mettre à jour
écosystèmes.config.js comme suit
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 : {
}
};
enfin
pm2 start & pm2 save
ng est un module de noeud après tout.
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"