在阿里云服务器上部署基于PM2和mongose的Node项目
2017-12-04 10:14
489 查看
前言
最近工作不是很忙,在空闲时间学习用node+express搭建自己的个人博客。目前进度大概进行到一半了,等不及想部署上线看下效果(学习阶段的人总是很兴奋,有一点点小成果就想马上看看 =_=!)。 于是买了个阿里云服务器和域名,自己尝试来部署一下,捣鼓了两天终于捣鼓好了,这里来记录一下,以免后面又忘了。博客地址:www.itzoujie.com
参考:
阿里云帮助文档:部署Node.js项目(CentOS)
推酷文章
简书文章
segmentfault文章
pm2使用方法
一、买服务器
比较穷,选了最低配的。30/月,1核,1G内存,1M带宽,操作系统:CentOS 7.2 64位。作为一个从来没有解除过阿里云的菜鸟,这两天真是踩了无数坑,不过也学到了很多东西。
二、开始捣鼓,来看看怎么部署。
网上的教程很多,但还是想自己来写一下,这样自己好理解,也能加深记忆。首先远程链接,阿里云的远程连接功能不会用,输入用户名后然后输入登录密码,总是输入不完就跳了,不知道咋回事。因为服务器系统是Linux的,我电脑是windows 7的系统。如果服务器是windows server的系统可以使用电脑的远程桌面连接,这里就不细说了,不会的上网搜一下就行了。windows远程连接Linux网上说有两种常用的远程连接工具:Putty和Xshell,我选择的是Xshell。
1、远程连接服务器
下载Xshell 并安装,打开软件你会看到会话框:点击新建并设置和填写如下信息:
填好后先不要点确定,点击左侧树状图中“用户身份验证”,填写信息:
然后点击确定后,就会像上面第一张图显示的,然后点击连接,连接成功如图显示:
2、安装Node.js
按照阿里云帮助文档:部署Node.js项目(CentOS) 教程中步骤2操作(linux系统指令大全);
(1)、wget命令下载Node.js安装包。
该安装包是编译好的文件,解压之后,在bin文件夹中就已存在node和npm,无需重复编译。
wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz[/code]1
(2)、解压文件。tar xvf node-v6.9.5-linux-x64.tar.xz1
(3)、软件默认安装在/root/node-v6.9.5-linux-x64/目录下。如果需要将该软件安装到其他目录(如:/opt/node/)下,请进行如下操作: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/npm1
2
3
4
5
6
(4)、查看node.js和npm版本:node -v npm -v1
2
完成以上步骤node.js就算安装成功了参考 简书文章:
3、安装mongodb
软件安装位置:/usr/local/mongodb
数据存放位置:/var/mongodb/data
日志存放位置:/var/mongodb/logs
(1)、进入 /usr/local/:cd /usr/local
(2)、安装mongodb:wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.5.tgz[/code]1
其他版本链接可以去官网查看
(3)、解压安装包,并重命名文件夹为mongodbtar zxvf mongodb-linux-x86_64-3.4.5.tgz mv mongodb-linux-x86_64-3.4.5 mongodb1
2
(4)、创建数据和日志存放目录mkdir /var/mongodb mkdir /var/mongodb/data mkdir /var/mongodb/logs1
2
3
(5)、设置开机启动项
打开rc.local文件,添加CentOS开机启动项:
不熟悉linux命令的可以参考:linux系统指令大全vim /etc/rc.d/rc.local1
打开文件后输入‘i’启用编辑。将mongodb启动命令追加到本文件中,让mongodb开机自启动:/opt/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork1
按Esc退出编辑,输入:wq(冒号wq),回车保存并关闭文件。
(6)、手动启动mongodb/opt/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork1
数据库安装和启动已完成,下面安装pm2
4、安装pm2
(1)、通过npm全局安装:npm install pm2 -g1
这个时候使用pm2 -v查看版本可能会报错,需要设置一下环境变量
(2)、设置环境变量
使用vim命令打开文件 /etc/profilevim /etc/profile1
同样,按‘i’启动编辑,将pm2的路径添加到环境变量中;PATH=$PATH:/opt/node/lib/node_modules/pm2/bin1
保存退出之后输入:source /etc/profile可以让变量生效。上传项目使用的是Xftp
5、上传项目
(1)、下载
下载Xftp
(2)、连接服务器
如果已经安装,可以点击Xshell中‘新建文件传输’,直接链接到服务器(前提是Xshell已连接);
手动配置连接和Xshell差不多:
(3)、上传项目目录
参考
我把代码上传到了/home目录文件夹下。
6、启动项目
(1)、使用pm2启动项目
控制台进入存放代码的目录,和本地操作类似,本地使用node /bin/www启动项目,这里换成pm2 start /bin/www;
项目启动成功后就可以使用 IP:端口 号访问了。IP是你服务器的公网IP,端口号是你代码中设置的监听端口。至此,部署过程全部结束,我也是小白,从来没碰过linux,实际操作中也遇到了各种问题。但是多尝试,多搜索,细心一点一般都能部署成功。写个博客记录一下部署过程,好记性不如烂笔头,以后忘记了查一下博客很快就能弄明白。也希望能够帮助其他刚接触linux部署的小伙伴。这个博客也不算是原创,自己有点懒,文笔也不好,算是其他博友的教程,各位可以随意转载。
三、结束
相关文章推荐
- 如何将基于Struts2的JavaWeb项目部署到阿里云服务器上
- [置顶] 阿里云服务器基于Linux系统部署javaweb项目,详解
- 把Node.js项目部署到阿里云服务器(CentOs 7)
- 详解把Node.js项目部署到阿里云服务器(CentOs)
- 在服务器中部署node项目---pm2
- 部署Node.js项目到阿里云CentOS 7.x(Linux)
- 【阿里云】node.js部署项目到阿里云ECS(CentOS 7),并实现nginx域名绑定
- 阿里云服务器部署Javaweb项目(七)
- Java Web项目部署到阿里云服务器
- 现代软件工程_团队项目_阿尔法阶段_阿里云服务器部署_2017.11.24
- 部署非maven项目到阿里云服务器的流程、出现的错误
- 【配置阿里云 I】申请配置阿里云服务器,并部署IIS和开发环境,项目上线经验
- 阿里云服务器linux环境,从启动tomcat服务器外网访问--->绑定域名--->Navicat远程连接mysql--->阿里云服务器部署项目过程中,一定会遇到的五大问题;
- 阿里云服务器部署Javaweb项目(五)
- 阿里云部署,ubuntu, 连接服务器 |更新源| 安装node |安装mysql
- 利用PM2部署node.js项目的方法教程
- 基于sturts2.1.6的项目文件部署到tomcat6.0之后,服务器启动时报错:严重: Error filterStart
- 【web】ubuntu16.04线上服务器部署node项目
- 【阿里云服务器】外网无法访问tomcat下部署的项目
- 利用pm2部署多个node.js项目的配置教程