為什麼不用CentOS而用Ubuntu作為生產環境的執行平臺?這個我也比較好奇,公司訂的只能沿用傳統,從使用成本的角度來說,此舉也是值得肯定的。
測試環境
騰訊雲 Ubuntu 16.04
阿里雲 Ubuntu 16.04
開啟Root賬號ssh登入
1.修改配置檔案
使用命令:sudo vi /etc/ssh/sshd_config開啟檔案,找到配置:
PermitRootLogin prohibit-password
修改成:
PermitRootLogin yes
2.重啟ssh
sudo service ssh restart
3.修改root密碼
sudo passwd root
安裝nodejs環境
1.下載node壓縮檔案
版本瀏覽地址:https://nodejs.org/dist/ 使用者根據自己的需求下載相應的版本,我使用的是node-v5.12.0-linux-x64.tar.gz.
2.解壓
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
nodejs提高班
1.設定npm下載源為淘寶源,加速下載
你可以使用我們定製的 cnpm (gzip 壓縮支援) 命令列工具代替預設的 npm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
更多詳情,訪問地址:http://npm.taobao.org/
2.使用pm2 部署、守護、監控nodejs程式
安裝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 # 重新載入儲存的應用列表
安裝nginx
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完成.