{"id":8334,"date":"2024-11-14T11:59:25","date_gmt":"2024-11-14T06:29:25","guid":{"rendered":"https:\/\/pheonixsolutions.com\/blog\/?p=8334"},"modified":"2024-11-14T11:59:28","modified_gmt":"2024-11-14T06:29:28","slug":"how-to-use-pm2-startup-for-application-auto-start-on-server-boot","status":"publish","type":"post","link":"https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/","title":{"rendered":"How to Use pm2 startup for Application Auto-Start on Server Boot"},"content":{"rendered":"\n<p><strong>Introduction:<\/strong><br>The pm2 startup command is essential for managing Node.js applications in a production environment. PM2 is a popular process manager for Node.js that keeps applications running by automatically restarting them if they crash. It also provides useful features like logging, load balancing, and monitoring. The pm2 startup command configures PM2 to start automatically when the server boots, ensuring your applications are always running. Follow these steps to set up your application for automatic startup<\/p>\n\n\n\n<p><strong>Prerequisite<\/strong>:<br>1. Server root credentials.<br><strong>Step 1:<\/strong><br>Before using the PM2 startup command, ensure that PM2 is installed globally on your server. If you haven\u2019t installed PM2 yet, you can do so with:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>npm install pm2@latest -g<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><strong>Step 2:<\/strong><br>Once PM2 is installed, start your application using PM2:<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>pm2 start app.js<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Replace app.js with the entry point of your Node.js application. PM2 will start the application and manage it as a process.<\/figcaption><\/figure>\n\n\n\n<p><strong>Step 3:<\/strong><br>To ensure your application automatically starts on system boot, use the pm2 startup command. This command generates and configures a startup script based on your operating system.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>pm2 startup<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">This will output a command you\u2019ll need to run with sudo permissions. It should look something like this:<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>sudo env PATH=$PATH:\/usr\/bin pm2 startup -u &#8211;hp<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><strong>Step 4:<\/strong><br>Run the output command as instructed by PM2. For example:<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>sudo env PATH=$PATH:\/usr\/bin pm2 startup systemd -u your_user &#8211;hp \/home\/your_user<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Step 5:<\/strong><br>After setting up the startup command, save the current process list so PM2 knows which applications to restart on boot:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>pm2 save<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">The pm2 save command saves your current PM2 process list to a file, allowing PM2 to remember and restart your applications after a reboot<\/figcaption><\/figure>\n\n\n\n<p><strong>Step 6:<\/strong><br>To confirm that your application will start on boot, you can reboot your server and check if the application starts automatically:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>sudo reboot<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><br><strong>Step 7:<\/strong><br>After the reboot, connect back to your server and check the PM2 process list:<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>pm2 list<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">If everything is configured correctly, your application should appear in the PM2 process list, indicating that it started on boot.<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Introduction:The pm2 startup command is essential for managing Node.js applications in a production environment. PM2 is a popular process manager for Node.js that keeps applications running by automatically restarting them if they crash. It also provides useful features like logging, load balancing, and monitoring. The pm2 startup command configures PM2&hellip; <a href=\"https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/\" class=\"more-link read-more\" rel=\"bookmark\">Continue Reading <span class=\"screen-reader-text\">How to Use pm2 startup for Application Auto-Start on Server Boot<\/span><i class=\"fa fa-arrow-right\"><\/i><\/a><\/p>\n","protected":false},"author":499,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-8334","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"hentry","6":"category-uncategorized","7":"h-entry","9":"h-as-article"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pheonix Solutions - We Empower Your Business Growth<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pheonix Solutions - We Empower Your Business Growth\" \/>\n<meta property=\"og:description\" content=\"Introduction:The pm2 startup command is essential for managing Node.js applications in a production environment. PM2 is a popular process manager for Node.js that keeps applications running by automatically restarting them if they crash. It also provides useful features like logging, load balancing, and monitoring. The pm2 startup command configures PM2&hellip; Continue Reading How to Use pm2 startup for Application Auto-Start on Server Boot\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/\" \/>\n<meta property=\"og:site_name\" content=\"PHEONIXSOLUTIONS\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/PheonixSolutions-209942982759387\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-14T06:29:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-14T06:29:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2016\/09\/PX2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"3837\" \/>\n\t<meta property=\"og:image:height\" content=\"2540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"ragupathi N\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pheonixsolution\" \/>\n<meta name=\"twitter:site\" content=\"@pheonixsolution\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ragupathi N\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\\\/\"},\"author\":{\"name\":\"ragupathi N\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/38a5dbc84c35460f6302cb0ca3b48598\"},\"headline\":\"How to Use pm2 startup for Application Auto-Start on Server Boot\",\"datePublished\":\"2024-11-14T06:29:25+00:00\",\"dateModified\":\"2024-11-14T06:29:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\\\/\"},\"wordCount\":356,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#organization\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\\\/\",\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\\\/\",\"name\":\"Pheonix Solutions - We Empower Your Business Growth\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#website\"},\"datePublished\":\"2024-11-14T06:29:25+00:00\",\"dateModified\":\"2024-11-14T06:29:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Use pm2 startup for Application Auto-Start on Server Boot\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/\",\"name\":\"Pheonix Solutions\",\"description\":\"We Empower Your Business Growth\",\"publisher\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#organization\",\"name\":\"PheonixSolutions\",\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/logo.png\",\"width\":454,\"height\":300,\"caption\":\"PheonixSolutions\"},\"image\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/PheonixSolutions-209942982759387\\\/\",\"https:\\\/\\\/x.com\\\/pheonixsolution\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/38a5dbc84c35460f6302cb0ca3b48598\",\"name\":\"ragupathi N\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7a25050762812aa4121dc2fc399845811de371369904acb2bb9cea2ebc2ed8e0?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7a25050762812aa4121dc2fc399845811de371369904acb2bb9cea2ebc2ed8e0?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7a25050762812aa4121dc2fc399845811de371369904acb2bb9cea2ebc2ed8e0?s=96&r=g\",\"caption\":\"ragupathi N\"},\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/author\\\/ragupathi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pheonix Solutions - We Empower Your Business Growth","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/","og_locale":"en_US","og_type":"article","og_title":"Pheonix Solutions - We Empower Your Business Growth","og_description":"Introduction:The pm2 startup command is essential for managing Node.js applications in a production environment. PM2 is a popular process manager for Node.js that keeps applications running by automatically restarting them if they crash. It also provides useful features like logging, load balancing, and monitoring. The pm2 startup command configures PM2&hellip; Continue Reading How to Use pm2 startup for Application Auto-Start on Server Boot","og_url":"https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/","og_site_name":"PHEONIXSOLUTIONS","article_publisher":"https:\/\/www.facebook.com\/PheonixSolutions-209942982759387\/","article_published_time":"2024-11-14T06:29:25+00:00","article_modified_time":"2024-11-14T06:29:28+00:00","og_image":[{"width":3837,"height":2540,"url":"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2016\/09\/PX2.png","type":"image\/png"}],"author":"ragupathi N","twitter_card":"summary_large_image","twitter_creator":"@pheonixsolution","twitter_site":"@pheonixsolution","twitter_misc":{"Written by":"ragupathi N","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/#article","isPartOf":{"@id":"https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/"},"author":{"name":"ragupathi N","@id":"https:\/\/pheonixsolutions.com\/blog\/#\/schema\/person\/38a5dbc84c35460f6302cb0ca3b48598"},"headline":"How to Use pm2 startup for Application Auto-Start on Server Boot","datePublished":"2024-11-14T06:29:25+00:00","dateModified":"2024-11-14T06:29:28+00:00","mainEntityOfPage":{"@id":"https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/"},"wordCount":356,"commentCount":0,"publisher":{"@id":"https:\/\/pheonixsolutions.com\/blog\/#organization"},"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/","url":"https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/","name":"Pheonix Solutions - We Empower Your Business Growth","isPartOf":{"@id":"https:\/\/pheonixsolutions.com\/blog\/#website"},"datePublished":"2024-11-14T06:29:25+00:00","dateModified":"2024-11-14T06:29:28+00:00","breadcrumb":{"@id":"https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/pheonixsolutions.com\/blog\/how-to-use-pm2-startup-for-application-auto-start-on-server-boot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/pheonixsolutions.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Use pm2 startup for Application Auto-Start on Server Boot"}]},{"@type":"WebSite","@id":"https:\/\/pheonixsolutions.com\/blog\/#website","url":"https:\/\/pheonixsolutions.com\/blog\/","name":"Pheonix Solutions","description":"We Empower Your Business Growth","publisher":{"@id":"https:\/\/pheonixsolutions.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pheonixsolutions.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/pheonixsolutions.com\/blog\/#organization","name":"PheonixSolutions","url":"https:\/\/pheonixsolutions.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/pheonixsolutions.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/logo.png","contentUrl":"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/logo.png","width":454,"height":300,"caption":"PheonixSolutions"},"image":{"@id":"https:\/\/pheonixsolutions.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/PheonixSolutions-209942982759387\/","https:\/\/x.com\/pheonixsolution"]},{"@type":"Person","@id":"https:\/\/pheonixsolutions.com\/blog\/#\/schema\/person\/38a5dbc84c35460f6302cb0ca3b48598","name":"ragupathi N","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7a25050762812aa4121dc2fc399845811de371369904acb2bb9cea2ebc2ed8e0?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7a25050762812aa4121dc2fc399845811de371369904acb2bb9cea2ebc2ed8e0?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7a25050762812aa4121dc2fc399845811de371369904acb2bb9cea2ebc2ed8e0?s=96&r=g","caption":"ragupathi N"},"url":"https:\/\/pheonixsolutions.com\/blog\/author\/ragupathi\/"}]}},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p7F4uM-2aq","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/8334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/users\/499"}],"replies":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=8334"}],"version-history":[{"count":0,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/8334\/revisions"}],"wp:attachment":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=8334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=8334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=8334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}