您好,登錄后才能下訂單哦!
新建項目(需要到該項目文件目錄下執行,否則日志會報錯) | pm2 start bin/www - i max - - name ijhealth |
只開啟一個線程 | node bin/www (沒有進程守護) |
開啟項目 | pm2 start 項目名稱 |
關閉項目 | pm2 stop 項目名稱 |
重啟項目 | pm2 restart 項目名稱 |
刪除項目 | pm2 delete 項目名稱 |
列出項目 | pm2 list |
查看進程詳細信息 | pm2 show 0 / pm2 info 0 (0為進程ID) |
查看日志 | pm2 logs 項目名稱 |
清空日志 | pm2 flush |
重載日志 | pm2 reloadLogs |
升級PM2 | npm install pm2@lastest -g (安裝最新版本) pm2 updatePM2 (升級pm2) |
查看幫助 | pm2 --help |
修改npm源 | npm config set registry="http://registry.npmjs.org" 或者 npm config set registry="https://registry.npm.taobao.org"
|
注:所有pm2 命令都可以用all來對所有項目執行操作,比如刪除所有項目,可以執行以下語句
pm2 delete all
注:node.js有保護進程,如果要停止一個項目,需要用pm2 delete 刪除,而不能用kill 殺進程,否則kill完還是會有進程產生。
操作系統:Linux h6 3.10.0-327.13.1.el7.x86_64 #1 SMP Thu Mar 31 16:04:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
1.直接從網上(http://nodejs.cn/download/)下載壓縮包node-v6.2.0-linux-x64.tar.xz,放到linux上 home目錄下
2.解壓壓縮包到/home/node下
cd /home
tar -zxv -f node-v6.2.0-linux-x64.tar.xz
mkdir node
mv node-v6.2.0-linux-x64 node
3.設置全局變量
ln -s /home/node/node-v6.2.0-linux-x64/bin/node /usr/local/bin/node
ln -s /home/node/node-v6.2.0-linux-x64/bin/npm /usr/local/bin/npm
4.設置環境變量
vim /etc/profile
在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下內容:
#set for nodejs
export NODE_HOME=/home/node/node-v6.2.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
:wq保存并退出,編譯/etc/profile 使配置生效
source/etc/profile驗證是否安裝配置成功
node -v如果看到版本號,說明node安裝成功
1.yum install epel-release
2.yum install redis
一.下載代碼
登入svn,checkout最新代碼
(例如:https://svn.dev.zoenet.cn:8443/svn/juyihui/client/web/zoe-jxcoverage-app/trunk)
下載的所有文件夾和文件到本地,并將這些文件(除了.idea和node_modules,因為這兩個文件在之后運行npm install 時會安裝)壓縮成一個zip安裝包
在/home/zoe-net(此處為本例常用項目存放處,可根據實際情況自定義)下,新建一個項目文件夾,命名為項目名
mkdir new_project
將壓縮包傳到/home/zoe-net/new_project 下(可以使用rz命令上傳文件),并將壓縮包解壓到new_project文件夾下
unzip new_project.zip
在new_project下,運行以下命令:
cd /home/zoe-net/new_project
npm install
安裝node-gyp
npm install node-gyp -g
(注意:不安裝此項有可能出現執行npm install進程卡住的問題 )
再安裝ccap
npm install ccap
還需要安裝git, gcc
$ npm update minimatch
$ npm -v minimatch
2.10.1
$ npm install -g npm@3
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@3.10.5 /usr/local/lib/node_modules/npm
$ npm install -g minimatch@3.0.2
/usr/local/lib
└─┬ minimatch@3.0.2
└─┬ brace-expansion@1.1.6
├── balanced-match@0.4.2
└── concat-map@0.0.1
$ npm -v minimatch
firewall-cmd --zone=public --add-port=4100/tcp --permanent
firewall-cmd --reload
注:4100處為項目需要開啟的端口號
安裝cnpm
npm install cnpm -g
修改注冊表地址
cnpm config set registry="http://172.16.34.248:7001/"
(以上IP地址根據自身情況而定)
cnpm config list
安裝zoenet-itom項目
cnpm install zoenet-itom
安裝ccap
cnpm install ccap --save
之后很多操作都需要使用PM2的強大功能,這里需要先安裝pm2
npm install -g pm2
確保配置文件中redis地址正確,配置文件config.js地址位于
項目名稱下的app/config下,如果redis安裝在本地,可以將
host:"localhost" 前的//去掉,在原本的host前加上//
注:一般情況下如果發布后網頁卡頓無法打開,日志又沒有報錯,就要看看redis的地址是否是正確的。
九.初始化項目
注意,初始化時需要進入指定項目的目錄執行,否則可能會產生日志錯誤
例如,添加ijhealth 服務監視:
cd /home/zoe-net/ijhealth
pm2 start bin/www - i max --name ijhealth
注:
Start 代表添加服務
www 是bin文件夾下一個相當于執行監視的插件服務
-i 3 代表監視三個線程,一般js只用到3個以內的線程,也可以用max,表示使用最大線程數
--name ijhealth 自定義監測list中所監測服務的名字,一般和項目名稱一致,方便區別
pm2 list
一般項目都在啟動中,可以用重啟命令,重啟某個項目。例如,重啟ijhealth
pm2 restart ijhealth
關閉某個項目
pm2 stop 項目名字
刪除某個項目
Pm2 delete 項目名字
pm2 logs
或
pm2 logs 具體項目名稱
例如,要查看ijhealth 項目的端口號,需要進入項目的文件夾中,查看bin/www 文件
cat /home/zoe-net/ijhealth/bin/www
答:需要在對應項目下node_modules文件夾中添加com.zoe.timehash時間戳。(該時間戳的獲取可以直接從已有的項目下復制黏貼)
例如:/home/zoe-net/zoenethospital/node_modules/com.zoe.timehash
答:問題的原因是npm源指定問題,解決方法是重新指定npm源地址。npm config set registry="http://registry.npmjs.org"
如果上面的npm地址不行的話,大家可以試試淘寶的npm,非常穩定:
地址:https://registry.npm.taobao.org
答:首先,先檢查一下對應端口有沒有開(端口號可以在bin/www中或者app.js中查詢到),如果有,再檢查一下對應的端口號是否已經被占用或者和其他應用程序沖突(可以pm2 stop 項目并且pm2 delete項目,然后netstat -nltp 看一下端口是否還在)。如果以上檢查都沒有問題,有可能是因為redis地址設置問題。先檢查redis是否開啟,如果開啟,再到項目文件夾下app/config中的config.js里查看redis的地址是否指向正確。
答:只需在對應項目文件夾下運行 npm install 命令就好
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。