爲何不用CentOS而用Ubuntu做爲生產環境的運行平臺?這個我也比較好奇,公司訂的只能沿用傳統,從使用成本的角度來講,此舉也是值得確定的。css
騰訊雲 Ubuntu 16.04
阿里雲 Ubuntu 16.04node
1.修改配置文件
使用命令:sudo vi /etc/ssh/sshd_config打開文件,找到配置:linux
PermitRootLogin prohibit-password
修改爲:nginx
PermitRootLogin yes
2.重啓sshnpm
sudo service ssh restart
3.修改root密碼api
sudo passwd root
1.下載node壓縮文件瀏覽器
版本瀏覽地址:https://nodejs.org/dist/ 用戶根據本身的需求下載相應的版本,我使用的是node-v5.12.0-linux-x64.tar.gz.bash
2.解壓app
tar -xvf node-v5.12.0-linux-x64.tar.gz
3.查看版本負載均衡
cd /node-v5.12.0-linux-x64/bin ./node -v ./npm -v
4.設置爲全局
sudo ln /node-v5.12.0-linux-x64/bin/node /usr/local/bin/node sudo ln /node-v5.12.0-linux-x64/bin/npm /usr/local/bin/npm
你可使用咱們定製的 cnpm (gzip 壓縮支持) 命令行工具代替默認的 npm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
更多詳情,訪問地址:http://npm.taobao.org/
安裝pm2:
npm i pm2 -g 或 cnpm i pm2 -g
pm2經常使用命令:
$ pm2 start app.js # 啓動app.js應用程序 $ pm2 start app.js -i 4 # cluster mode 模式啓動4個app.js的應用實例 # 4個應用程序會自動進行負載均衡 $ pm2 start app.js --name="api" # 啓動應用程序並命名爲 "api" $ pm2 start app.js --watch # 當文件變化時自動重啓應用 $ pm2 start script.sh # 啓動 bash 腳本 $ pm2 list # 列表 PM2 啓動的全部的應用程序 $ pm2 monit # 顯示每一個應用程序的CPU和內存佔用狀況 $ pm2 show [app-name] # 顯示應用程序的全部信息 $ pm2 logs # 顯示全部應用程序的日誌 $ pm2 logs [app-name] # 顯示指定應用程序的日誌 $ pm2 stop all # 中止全部的應用程序 $ pm2 stop 0 # 中止 id爲 0的指定應用程序 $ pm2 restart all # 重啓全部應用 $ pm2 reload all # 重啓 cluster mode下的全部應用 $ pm2 gracefulReload all # Graceful reload all apps in cluster mode $ pm2 delete all # 關閉並刪除全部應用 $ pm2 delete 0 # 刪除指定應用 id 0 $ pm2 scale api 10 # 把名字叫api的應用擴展到10個實例 $ pm2 reset [app-name] # 重置重啓數量 $ pm2 startup # 建立開機自啓動命令 $ pm2 save # 保存當前應用列表 $ pm2 resurrect # 從新加載保存的應用列表
1.安裝nginx
apt-get update
apt-get install nginx
2.目錄說明:
配置文件:/etc/nginx/ 主程序文件:/usr/sbin/nginx Web默認目錄:/usr/share/nginx/http/ 日誌目錄:/var/log/nginx/
3.nginx經常使用命令
service nginx start #啓動
service nginx stop #中止
ps -ef | grep nginx #查看nginx進程
4.nginx權限設置
使用源安裝以後,默認會使用nobody用戶權限啓動nginx,會致使一個問題,就是有靜態文件壓縮,而且文件比較大的狀況,會致使瀏覽器訪問出錯,因此須要設置nginx的權限。
修改權限:
sudo vi /etc/nginx/nginx.conf
找到user nobody,修改成 user root;
重啓nginx完成.