pm2學習以及上線項目的我的總結

pm2 平常使用

1. pm2 是什麼?

平常開發中須要啓動一個node項目,須要用npm run …,,若是終端被關掉,程序也就自動中止,有時候幾個項目一塊兒跑起來,好幾個終端開着,我的不太喜歡,有一神器能夠解決:pm2。pm2 是一個帶有負載均衡功能的Node應用的進程管理器.當你要把你的獨立代碼利用所有的服務器上的全部CPU,並保證進程永遠都活着,0秒的重載, PM2是完美的。它很是適合IaaS結構,但不要把它用於PaaS方案。node

2.安裝
npm install -g pm2
複製代碼
3.平常使用

因爲node的百花齊放,啓動一個網站的辦法,也會有不少種。這裏先以:npm run dev爲例: 首先查看項目的package.json文件(個人本地):webpack

"scripts": {
"dev": "node build/dev-server.js --env=local",
"start": "node build/dev-server.js --env=local",
"build": "node build/build.js --env=publish",
"build-local": "node build/build.js"
複製代碼

},nginx

npm run dev 實際就是運行node腳本文件:dev-server.js, 能夠用pm2啓動:pm2 start build/dev-server.js,能夠給這個進程取一個本身記得能理解的名字:pm2 start build/dev-server.js --name XXX,(XXX是你定義的名字)web

若是你的node項目配置文件和以上代碼不同

莫急,pm2 也是有辦法能夠啓動的(我的以爲這是一個萬能的啓動的方法):npm

pm2 start npm -- run XXXjson

用她替代:npm run dev,就能夠寫成:pm2 start npm -- run dev,項目啓動! 雖然項目啓動了,可是名字並非我想要的(我須要個本身能記得住的名字,而且是一個項目一個專屬name),這時候能夠用: pm2 start npm --watch --name XXX -- run start服務器

#pm2的項目啓動大概就這些了,平常還有些經常使用指令,如:
#查看所用已啓動項目:
pm2 list
 #重啓:
pm2 restart XXX
#中止:
pm2 stop XXX
#刪除
pm2 delete XXX
#查看某個進程/應用具體狀況
pm2 describe  Travel
#查看進程/應用的資源消耗狀況
pm2 monit
#查看全部日誌(某個進程)
pm2 logs  (Travel)
複製代碼

注:如下不適用於學習交流,只是爲了記錄在本次pm2配置node啓動的時候遇到的一些問題以及項目部署上線的一個大題模糊流程。

1.在項目上線前

  • 購買了服務器、
  • 域名還未審覈經過
  • 一個webpack管理經過npm run dev啓動的項目 ###2.服務器配置 在購買了服務器後,會有一個ip地址,一個密碼,打開終端,輸入以下命令,並回車輸入密碼
ssh root@`ip地址`
複製代碼

而後就鏈接到了咱們的服務器,進入到根目錄能夠看到目錄結構負載均衡

1.png

解釋主要的目錄結構:ssh

  • node:node的安裝目錄,而且所有配置,關於如何在服務器配置node可百度。
  • root:root裏面主要放的是一個webpack管理經過npm run dev啓動的項目
  • etc:nginx服務器的安裝【修改較多的文件是/etc/nginx/nginx.conf】。
關於如何將本地項目複製到root下的小操做:
scp -r local-dir root@ip:remote_dir
#在本地終端執行上述命令:
#【local-dir】爲本地路徑;
#【ip】爲你服務器的ip; 
#【remote_dir】爲你放到遠程服務器的地址,咱們這裏是 /root 
複製代碼
nginx.conf的配置(vi nginx.conf,內容以下圖)

2.png
咱們的主要配置放在了nginx/conf.d/*.conf, 內容以下圖:
3.png

這裏的配置主要的nginx反向代理以及負載均衡,咱們這裏不涉及負載均衡,可是能夠看到有負載均衡的添加項 upsteam roots,裏面的server能夠配置多個地址。 咱們經過監聽80端口,轉到8080端口去訪問服務。 前提條件是咱們進入到/root/testDemo項目中執行 npm run dev項目的時候,node啓動纔會跳轉成功。學習


而後用pm2,安裝等略。

在看了一些列文章後,終於找到了啓動方法,本文章記錄也就是爲了下面這行代碼

pm2 start npm -- run XXX
#用她替代:npm run dev,就能夠寫成:pm2 start npm -- run dev,項目啓動:
複製代碼

後來通過一些配置後,這麼啓動出現了問題,而後輸入下面的命令獲得解決:

pm2 delete npm複製代碼
相關文章
相關標籤/搜索