linux(CentOS)部署nodejs

这几天闲了一点,就弄了一个node+vue全家桶的一个博客(不过还未完全完成,只实现了部分接口),想部署到阿里云,就想先在本地开一个虚拟机先测一下流程,等熟悉了流程,再部署到阿里云。

以下的所有操作,都是在虚拟机上执行的。

一、准备环境

//查看系统版本

>cat /etc/redhat-release


//查看python版本

>python -V(大写字母V)


//查看gcc rpm gcc-c++是否安装(我的是都已安装完成)

>rpm -q gcc rpm -q gcc-c++


//安装gcc-c++
>yum -v install gcc-c++ kernel-devel
//更新(耗时较长,可以先尝试其他操作,如果过程中没出问题,可以暂不更新)

>yum -y update && yum -y groupinstall "Development Tools"

更新完成

linux(CentOS)部署nodejs_第1张图片


二. 安装nodejs

1.wget命令下载Node.js安装包

该安装包是编译好的文件,解压之后,在bin文件夹中就已存在node和npm,无需重复编译。

wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz

linux(CentOS)部署nodejs_第2张图片

2.解压文件

tar xvf node-v6.9.5-linux-x64.tar.xz

3. 建立超级链接, 不然 node 时会报 “command not found”


找到node-v6.9.5-linux-x64目录,该目录就在你安装node的目录下,

例如,我是在/home/mory的目录下安装的node,所以我的node-v6.9.5-linux-x64目录在/home/mory的目录下。

linux(CentOS)部署nodejs_第3张图片

然后执行

rm -f /usr/local/bin/node

rm -f /usr/local/bin/npm

// /home/mory/node-v6.9.5-linux-x64/就是你的目录,安装的目录不一样,这个路径也是不一样的

ln -s /home/mory/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node

ln -s /home/mory/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm

再次执行node -v,如图则表示安装成功。



三. 安装mongodb

参考 简书文章

软件安装位置:/usr/local/mongodb
数据存放位置:/var/mongodb/data
日志存放位置:/var/mongodb/logs

1.下载安装包(安装在 /usr/local目录下)
cd /usr/local
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.5.tgz

linux(CentOS)部署nodejs_第4张图片

2、解压安装包,并重命名为mongodb

tar zxvf mongodb-linux-x86_64-3.4.5.tgz

mv mongodb-linux-x86_64-3.4.5 mongodb

3、创建数据和日志存放目录

mkdir /var/mongodb

mkdir /var/mongodb/data

mkdir /var/mongodb/logs

4、把mongodb设置为开机启动

打开rc.local文件,添加CentOS开机启动项:

vim /etc/rc.d/rc.local

打开文件后输入‘i’启用编辑,如下图加入(路径:/usr/local/mongodb/bin/mongod,看你自己的文件位置

/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork

后点击Esc取消编辑状态,然后输入:wq,回车保存即可。

linux(CentOS)部署nodejs_第5张图片

5、手动启动mongodb

/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork


四. 安装pm2

npm install pm2 -g

查看pm2


pm2配置成全局变量(/home/mory/node-v6.9.5-linux-x64,这个路径改成你自己的node安装路径,)

ln -s /home/mory/node-v6.9.5-linux-x64/bin/pm2  /usr/local/bin/pm2

(如果显示: ln: 无法创建符号链接"/usr/local/bin/pm2": 文件已存在

执行,rm -f /usr/local/bin/pm2,然后再次执行

ln -s /home/mory/node-v6.9.5-linux-x64/bin/pm2  /usr/local/bin/pm2)


至此,pm2安装成功

五. 启动项目

启动项目的前提,是服务器上存在项目,我用的是虚拟机,直接复制到虚拟机即可。

控制台进入存放代码的目录,和本地操作类似,本地使用node /bin/www 启动项目,这里换成pm2 start /bin/www ; 

项目启动成功后就可以使用 IP:端口 号访问了。IP是你服务器的公网IP,端口号是你代码中设置的监听端口。


六. 遇到的问题

在解决问题的过程中,如遇权限问题,则

执行 su,回车,输入密码(密码不显示)即可


在安装gcc-c++时,报错Cannot find a valid baseurl for repo: base/7/x86_64

和安装nodejs时,报错显示,wget: 无法解析主机地址 “nodejs.org”

这个是默认配置的问题,

解决方法(2种):

1. vi /etc/resolv.conf 修改文件

修改为

nameserver 8.8.8.8  

nameserver 4.2.2.2 

我查了网上的回答,都说原始文件是这样的

nameserver 100.100.2.136 

nameserver 100.100.2.138

但是我看了我的,却是一个空文件,估计我找错位置了吧(你们可以试试)

重启网络:service network restart

2.  cd /etc/sysconfig/network-scripts 进入该路径下的network-scripts目录

linux(CentOS)部署nodejs_第6张图片

编辑该目录下的ifcfg-enol6777736(不同的电脑,该文件也是不同的,一般遵循ifcfg-e规则)文件

vi ifcfg-enol6777736

修改如下内容, 存在则修改, 不存在就添加

  1. ONBOOT=yes  
  2. NM_CONTROLLED=no  
  3. BOOTPROTO=dhcp  
  4. DNS1=8.8.8.8  
  5. DNS2=4.2.2.2

重启网络:service network restart


你可能感兴趣的:(node)