为何不用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完成.