ubuntu搭建nodejs生產環(huán)境——快速部署手冊
為什么不用CentOS而用Ubuntu作為生產環(huán)境的運行平臺?這個我也比較好奇,公司訂的只能沿用傳統(tǒng),從使用成本的角度來說,此舉也是值得肯定的。
測試環(huán)境
騰訊云 Ubuntu 16.04
阿里云 Ubuntu 16.04
開啟Root賬號ssh登錄
1.修改配置文件?
使用命令:sudo vi /etc/ssh/sshd_config打開文件,找到配置:
PermitRootLoginprohibit-password
修改成:
PermitRootLoginyes
2.重啟ssh
sudoservice ssh restart
3.修改root密碼
sudopasswd root
安裝nodejs環(huán)境
1.下載node壓縮文件
版本瀏覽地址:https://nodejs.org/dist/?用戶根據(jù)自己的需求下載相應的版本,我使用的是node-v5.12.0-linux-x64.tar.gz.
2.解壓
tar-xvfnode-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/nodesudo 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 部署、守護、監(jiān)控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]# 重置重啟數(shù)量$pm2 startup# 創(chuàng)建開機自啟動命令$pm2 save# 保存當前應用列表$pm2 resurrect# 重新加載保存的應用列表
安裝nginx
1.安裝nginx
apt-get update
apt-get install nginx
2.目錄說明:
配置文件:/etc/nginx/主程序文件:/usr/sbin/nginxWeb默認目錄:/usr/share/nginx/http/日志目錄:/var/log/nginx/
3.nginx常用命令
service nginx start #啟動
service nginx stop #停止
ps -ef | grep nginx #查看nginx進程
4.nginx權限設置
使用源安裝之后,默認會使用nobody用戶權限啟動nginx,會導致一個問題,就是有靜態(tài)文件壓縮,并且文件比較大的情況,會導致瀏覽器訪問出錯,所以需要設置nginx的權限。
修改權限:
sudo vi /etc/nginx/nginx.conf
找到user nobody,修改為 user root;
重啟nginx完成.