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


关注下面二维码,订阅更多精彩内容。

ubuntu搭建nodejs生产环境——快速部署手册_重启