對於一個linux新手來講,真的是一大坑,看了網上好多例子,但沒有一個能說明白的,我發現沒有哪一個程序狗能把一個問題說的像我同樣完美。不服來打死我,我不還手的。node
1:安裝pm2linux
操做描述:docker
你要在linux上安裝pm2有不少方法,但我是用node的工具npm來完成安裝的,因此在安裝pm2以前須要先安裝node。這裏若是不會,就百度一個安裝node,這個小事我就不作了,若是不服,你能夠.加.技術羣來罵我:458633781,做爲男人要有亮劍精神,決不慫。npm
正題:windows
在你的任意目錄輸入命令: npm install pm2 -g centos
[root@VM_165_102_centos /]# npm install pm2 -g
回車後...api
/usr/local/node-v8.9.3-linux-x64/bin/pm2 -> /usr/local/node-v8.9.3-linux-x64/lib/node_modules/pm2/bin/pm2 /usr/local/node-v8.9.3-linux-x64/bin/pm2-dev -> /usr/local/node-v8.9.3-linux-x64/lib/node_modules/pm2/bin/pm2-v /usr/local/node-v8.9.3-linux-x64/bin/pm2-docker -> /usr/local/node-v8.9.3-linux-x64/lib/node_modules/pm2/bin/p-docker /usr/local/node-v8.9.3-linux-x64/bin/pm2-runtime -> /usr/local/node-v8.9.3-linux-x64/lib/node_modules/pm2/bin/2-runtime npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules/pm2/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","ch":"any"} (current: {"os":"linux","arch":"x64"}) + pm2@2.10.2 added 221 packages from 206 contributors in 29.63s
有幾個warn無論他,由於在代碼界,warn不算什麼,只要沒有error。bash
這樣安裝完成後你執行命令: pm2 list app
[root@VM_165_102_centos /]# pm2 list
回車後:工具
-bash: pm2: command not found
說明,沒有配製到全局,雖然安裝到全局,不知道爲毛,linux下不像windows下能自動創造一個環境變量去實現咱們的全局。因此咱們須要建立一個linux下的軟鏈接。
2:建立軟鏈接
操做描述:在linux上的設置軟鏈接至關因而windows下的配製環境變量一個道理,只是這裏用了命令完成的操做。這裏咱們就開始爲pm2建立軟鏈接,這裏首先要明確的是,咱們要知道誰和誰去鏈接,問題來了?知道是哪一個和哪一個鏈接嗎?好了,答案是:咱們的linux下的全局$PATH和咱們pm2的安裝路徑。那麼咱們如何知道他們的路徑分別是哪裏呢?
a:找到全局環境PATH路徑
輸入命令: echo $PATH
[root@VM_165_102_centos /]# echo $PATH
回車後...
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
說明,也話你的路徑和個人不同,但不要緊,你能夠選擇任何一個以:隔開的路徑作爲系統環境路徑,我一般會選/usr/local/bin
b:找到pm2的安裝路徑
一般咱們在安裝pm2的時間會有一個安裝路徑顯示,以下代碼
因而,這就是你的pm2的安裝路徑爲:/usr/local/node-v8.9.3-linux-x64/bin/pm2
也許會有不同,但你能夠在這裏看到。若是不行,能夠用whereis 或find 命令去查找。
好了都找到了,就重要的一步要開始了,睜大你的雙眼。
命令爲: ln -s /usr/local/node-v8.9.3-linux-x64/bin/pm2 /usr/local/bin/
[root@VM_165_102_centos /]# ln -s /usr/local/node-v8.9.3-linux-x64/bin/pm2 /usr/local/bin/
OK,搞定,接下來驗證一把...
命令爲:[root@VM_165_102_centos /]# pm2 list
[root@VM_165_102_centos /]# pm2 list
回車後...
[root@VM_165_102_centos /]# pm2 list ------------- __/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____ _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___ _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__ _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___ _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____ _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________ _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________ _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_ _\///______________\///______________\///__\///////////////__ Community Edition Production Process Manager for Node.js applications with a built-in Load Balancer. Start and Daemonize any application: $ pm2 start app.js Load Balance 4 instances of api.js: $ pm2 start api.js -i 4 Monitor in production: $ pm2 monitor Make pm2 auto-boot at server restart: $ pm2 startup To go further checkout: http://pm2.io/ ------------- [PM2] Spawning PM2 daemon with pm2_home=/root/.pm2 [PM2] PM2 Successfully daemonized ┌──────────┬────┬──────┬─────┬────────┬─────────┬────────┬─────┬─────┬──────┬──────────┐ │ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │ └──────────┴────┴──────┴─────┴────────┴─────────┴────────┴─────┴─────┴──────┴──────────┘ Use `pm2 show <id|name>` to get more details about an app
說明安裝成功,而且能夠隨處訪問pm2
若是你這樣沒有成功,歡迎留言,一塊兒討論。
THE END!!!