这几天闲了一点,就弄了一个node+vue全家桶的一个博客(不过还未完全完成,只实现了部分接口),想部署到阿里云,就想先在本地开一个虚拟机先测一下流程,等熟悉了流程,再部署到阿里云。
以下的所有操作,都是在虚拟机上执行的。
一、准备环境
//查看系统版本>cat /etc/redhat-release
//查看python版本>python -V(大写字母V)
//查看gcc rpm gcc-c++是否安装(我的是都已安装完成)>rpm -q gcc rpm -q gcc-c++
//安装gcc-c++>yum -y update && yum -y groupinstall "Development Tools"
更新完成
二. 安装nodejs
1.wget命令下载Node.js安装包
该安装包是编译好的文件,解压之后,在bin文件夹中就已存在node和npm,无需重复编译。
wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz
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的目录下。
然后执行
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
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,回车保存即可。
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目录
编辑该目录下的ifcfg-enol6777736(不同的电脑,该文件也是不同的,一般遵循ifcfg-e规则)文件
vi ifcfg-enol6777736
修改如下内容, 存在则修改, 不存在就添加
重启网络:service network restart