pm2 ecosystem
ile birden fazla uygulamanın ayarlarını yapabileceğiniz bir dosya yaratın ve oluşan dosyanın içeriğini değiştirerek istediğiniz aşamaya getirin. Benim örneğim şu:module.exports = { /** * Application configuration section * http://pm2.keymetrics.io/docs/usage/application-declaration/ */ apps: [ // kuark application { name: "kuark-www", script: "./App/www.js", exec_mode: "cluster", instances: "1", env: { COMMON_VARIABLE: "true" }, env_production: { NODE_ENV: "production" } }, // Redis application { name: "redis-batch", script: "./Apps/Batch_Redis/index.js", exec_mode: "cluster", instances: "1" }, // Elastic application { name: "elastic-batch", script: "./Apps/Batch_Elastic/index.js", exec_mode: "cluster", instances: "1" } ], /** * Bu kısmı henüz kullanmadım */ 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 startOrRestart ecosystem.json --env production" }, dev: { user: "node", host: "212.83.163.1", ref: "origin/master", repo: "git@github.com:repo.git", path: "/var/www/development", "post-deploy": "npm install && pm2 startOrRestart ecosystem.json --env dev", env: { NODE_ENV: "dev" } } } }
Klasörde ilgili dizine gelerek
pm2 starOrReload ecosystem.json
ile başlatabilirsiniz.Linux'te otomatik başlatma nasıl olur diye aradım bunu buldum ama o sistemi tam anladıktan sonra detaylandıracağım inşallahhhhhhhhhhhhhh
Temel pm2 parametrelerini aşağıda ekliyorum ama npm den çektim buda böyle biline :)
# General$ npm install pm2 -g # Install PM2$ pm2 start app.js # Start, Daemonize and auto-restart application (Node)$ pm2 start app.py # Start, Daemonize and auto-restart application (Python)$ pm2 start npm -- start # Start, Daemonize and auto-restart Node application# Cluster Mode (Node.js only)$ pm2 start app.js -i 4 # Start 4 instances of application in cluster mode# it will load balance network queries to each app$ pm2 reload all # Zero Second Downtime Reload$ pm2 scale [app-name] 10 # Scale Cluster app to 10 process# Process Monitoring$ pm2 list # List all processes started with PM2$ pm2 monit # Display memory and cpu usage of each app$ pm2 show [app-name] # Show all informations about application# Log management$ pm2 logs # Display logs of all apps$ pm2 logs [app-name] # Display logs for a specific app$ pm2 logs --json # Logs in JSON format$ pm2 flush$ pm2 reloadLogs# Process State Management$ pm2 start app.js --name="api" # Start application and name it "api"$ pm2 start app.js -- -a 34 # Start app and pass option "-a 34" as argument$ pm2 start app.js --watch # Restart application on file change$ pm2 start script.sh # Start bash script$ pm2 start app.json # Start all applications declared in app.json$ pm2 reset [app-name] # Reset all counters$ pm2 stop all # Stop all apps$ pm2 stop 0 # Stop process with id 0$ pm2 restart all # Restart all apps$ pm2 gracefulReload all # Graceful reload all apps in cluster mode$ pm2 delete all # Kill and delete all apps$ pm2 delete 0 # Delete app with id 0# Startup/Boot management$ pm2 startup # Detect init system, generate and configure pm2 boot on startup$ pm2 save # Save current process list$ pm2 resurrect # Restore previously save processes$ pm2 unstartup # Disable and remove startup system$ pm2 update # Save processes, kill PM2 and restore processes$ pm2 generate # Generate a sample json configuration file# Deployment$ pm2 deploy app.json prod setup # Setup "prod" remote server$ pm2 deploy app.json prod # Update "prod" remote server$ pm2 deploy app.json prod revert 2 # Revert "prod" remote server by 2# Module system$ pm2 module:generate [name] # Generate sample module with name [name]$ pm2 install pm2-logrotate # Install module (here a log rotation system)$ pm2 uninstall pm2-logrotate # Uninstall module$ pm2 publish # Increment version, git push and npm publish
Hiç yorum yok:
Yorum Gönder