最近工做不是很忙,在空闲时间学习用node+express搭建本身的我的博客。目前进度大概进行到一半了,等不及想部署上线看下效果(学习阶段的人老是很兴奋,有一点点小成果就想立刻看看 =_=!)。
因而买了个阿里云服务器,本身尝试来部署一下,捣鼓了两天终于捣鼓好了,这里来记录一下,以避免后面又忘了。html
阿里云帮助文档: 部署Node.js项目(CentOS)
推酷文章
简书文章
segmentfault文章
pm2使用方法node
比较穷,选了最低配的。30/月,1核,1G内存,1M带宽,操做系统:CentOS 7.2 64位。做为一个历来没有解除过阿里云的菜鸟,这两天真是踩了无数坑,不过也学到了不少东西。linux
网上的教程不少,但仍是想本身来写一下,这样本身好理解,也能加深记忆。首先远程连接,阿里云的远程链接功能不会用,输入用户名后而后输入登陆密码,老是输入不完就跳了,不知道咋回事。由于服务器系统是Linux的,我电脑是windows 7的系统。若是服务器是windows server的系统可使用电脑的远程桌面链接,这里就不细说了,不会的上网搜一下就好了。windows远程链接Linux网上说有两种经常使用的远程链接工具:Putty和Xshell,我选择的是Xshell。mongodb
下载Xshell 并安装,打开软件你会看到会话框:shell
点击新建并设置和填写以下信息:数据库
填好后先不要点肯定,点击左侧树状图中“用户身份验证”,填写信息:express
而后点击肯定后,就会像上面第一张图显示的,而后点击链接,链接成功如图显示:npm
按照阿里云帮助文档: 部署Node.js项目(CentOS) 教程中步骤2操做(linux系统指令大全);vim
该安装包是编译好的文件,解压以后,在bin文件夹中就已存在node和npm,无需重复编译。segmentfault
wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz
tar xvf node-v6.9.5-linux-x64.tar.xz
mkdir -p /opt/node/ mv /root/node-v6.9.5-linux-x64/* /opt/node/ rm -f /usr/local/bin/node rm -f /usr/local/bin/npm ln -s /opt/node/bin/node /usr/local/bin/node ln -s /opt/node/bin/npm /usr/local/bin/npm
node -v npm -v
完成以上步骤node.js就算安装成功了
参考 简书文章:
软件安装位置:/usr/local/mongodb
数据存放位置:/var/mongodb/data
日志存放位置:/var/mongodb/logs
cd /usr/local
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.5.tgz
其余版本连接能够去官网查看
tar zxvf mongodb-linux-x86_64-3.4.5.tgz mv mongodb-linux-x86_64-3.4.5 mongodb
mkdir /var/mongodb mkdir /var/mongodb/data mkdir /var/mongodb/logs
打开rc.local文件,添加CentOS开机启动项:
不熟悉linux命令的能够参考:linux系统指令大全
vim /etc/rc.d/rc.local
打开文件后输入‘i’启用编辑。将mongodb启动命令追加到本文件中,让mongodb开机自启动:
/opt/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork
按 Esc
退出编辑,输入 :wq
(冒号wq),回车保存并关闭文件。
/opt/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork
数据库安装和启动已完成,下面安装pm2
npm install pm2 -g
这个时候使用 pm2 -v
查看版本可能会报错,须要设置一下环境变量
使用 vim
命令打开文件 /etc/profile
vim /etc/profile
一样,按‘i’启动编辑,将pm2的路径添加到环境变量中;
PATH=$PATH:/opt/node/lib/node_modules/pm2/bin
保存退出以后输入:source /etc/profile
可让变量生效。
上传项目使用的是Xftp
若是已经安装,能够点击Xshell中‘新建文件传输’,直接连接到服务器(前提是Xshell已链接);
手动配置链接和Xshell差很少:
参考
我把代码上传到了/home目录文件夹下。
控制台进入存放代码的目录,和本地操做相似,本地使用node /bin/www
启动项目,这里换成pm2 start /bin/www
;
项目启动成功后就可使用 IP:端口 号访问了。IP是你服务器的公网IP,端口号是你代码中设置的监听端口。
至此,部署过程所有结束,我也是小白,历来没碰过linux,实际操做中也遇到了各类问题。可是多尝试,多搜索,细心一点通常都能部署成功。写个博客记录一下部署过程,好记性不如烂笔头,之后忘记了查一下博客很快就能弄明白。也但愿可以帮助其余刚接触linux部署的小伙伴。这个博客也不算是原创,算是整理其余博友的教程,各位能够随意转载。