本地环境为Windows。
###0. 下载putty
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
- Windows下载
putty和puttygen - 使用
puttygen生成ssh public key,保存至服务商配置处
###1. 配置服务器
- 使用root账号连接至服务器,首次登录改密码:
passwd root - 修改SSH端口为5000:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
vi /etc/ssh/sshd_config
/etc/init.d/ssh restart
- 更新源:
apt-get update - 安装git:
apt-get install git - 安装C++编译环境:
apt-get install gccapt-get install makeapt-get install build-essential
###2. 安装MongoDB
第一步:导入GPG key
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
第二步:创建mongoDB源
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
第三步:更新安装包信息
sudo apt-get update
第四步:安装最新的mongoDB稳定版本
sudo apt-get install mongodb-org
第五步:进入MongoDB shell测试
mongo- 退出MongoDB shell:
exit
###3. 安装最新稳定版Node.js
根据官方指南Installing Node.js via package manager :
$ curl -sL https://deb.nodesource.com/setup | sudo bash -
$ sudo apt-get install -y nodejs在之前官方推荐从Chris Lea的PPA个人源安装(Launchpad),上面的方法是从NodeSource源安装,但这个也是由Chris Lea为主维护的。Chris在博客中解释了从Launchpad转移到NodeSource的原因,并表示Launchpad PPA个人源将会继续更新Nodejs 0.10.x版,但之后将不再更新,因此不推荐下面的方法(作为一个backup吧):
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get install nodejs###4. 安装Nginx
使用Nginx爱好者维护的ppa:nginx/stable,这个会比官方稳定版慢1-2周,在接受的范围内,就不多折腾了。
apt-add-repository ppa:nginx/stable
apt-get update
apt-get install nginx常用命令:
- 重启nginx:
service nginx restart - 测试配置脚本:
nginx -t - 启动:
service nginx start - 关闭:
service nginx stop
###5. 安装pm2
npm install pm2 -g
常用命令:
$ npm install pm2 -g # 命令行安装 pm2
$ pm2 start app.js -i 4 #后台运行pm2,启动4个app.js
# 也可以把'max' 参数传递给 start
# 正确的进程数目依赖于Cpu的核心数目
$ pm2 start app.js --name my-api # 命名进程
$ pm2 list # 显示所有进程状态
$ pm2 monit # 监视所有进程
$ pm2 logs # 显示所有进程日志
$ pm2 stop all # 停止所有进程
$ pm2 restart all # 重启所有进程
$ pm2 reload all # 0秒停机重载进程 (用于 NETWORKED 进程)
$ pm2 stop 0 # 停止指定的进程
$ pm2 restart 0 # 重启指定的进程
$ pm2 startup # 产生 init 脚本 保持进程活着
$ pm2 web # 运行健壮的 computer API endpoint (http://localhost:9615)
$ pm2 delete 0 # 杀死指定的进程
$ pm2 delete all # 杀死全部进程
$ pm2 start app.js -i max # 根据有效CPU数目启动最大进程数目
$ pm2 start app.js -i 3 # 启动3个进程
$ pm2 start app.js -x #用fork模式启动 app.js 而不是使用 cluster
$ pm2 start app.js -x -- -a 23 # 用fork模式启动 app.js 并且传递参数 (-a 23)
$ pm2 start app.js --name serverone # 启动一个进程并把它命名为 serverone
$ pm2 stop serverone # 停止 serverone 进程
$ pm2 start app.json # 启动进程, 在 app.json里设置选项
$ pm2 start app.js -i max -- -a 23 #在--之后给 app.js 传递参数
$ pm2 start app.js -i max -e err.log -o out.log # 启动 并 生成一个配置文件
你也可以执行用其他语言编写的app ( fork 模式):
$ pm2 start my-bash-script.sh -x --interpreter bash
$ pm2 start my-python-script.py -x --interpreter python