nodeJs项目部署腾讯云完整流程

国庆死宅在家时看到腾讯云搞活动,云主机8块钱一个月,正好前段时间写了个node的后台管理系统,于是就买了3个月正好可以自己熟悉一下项目部署的全部过程。

0、登陆服务器

如果你买的主机的系统不是centos 7.2的话,可以跟着腾讯云的文档来一步步走,如果你是和我一样的小白,买服务器的时候用的默认配置即操作系统是centos 7.2的话,可以参考这个文档进行登录。
(ps:最开始我一直不能用windows的远程桌面登录我还一直以为是我电脑的问题,直到我提交了工单,才发现centos 7.2无法使用window远程桌面进行登录)

1、部署node环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 使用 wget 安装方式
wget https://nodejs.org/dist/v6.10.3/node-v6.10.3-linux-x64.tar.xz

// 解压
tar xvJf node-v6.10.3-linux-x64.tar.xz

// 将解压的 Node.js 目录移动到 /usr/local 目录下
mv node-v6.10.3-linux-x64 /usr/local/node
ln -s /usr/local/node/bin/node /bin/node

// 配置和使用 npm
ln -s /usr/local/node/bin/npm /bin/npm

// 配置环境变量
echo 'export PATH=/usr/local/node/bin:$PATH' >> /etc/profile

// 生效环境变量
source /etc/profile

然后使用命令node -v来测试是否安装成功,如果出现以下输出,那么恭喜你,成功配置了node环境!

1.1升级node版本

目前我们安装的node是6.x版本的,那么我们如何在linux下升级node呢?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 安装node版本管理工具 n
npm install -g n

// 进入该文件进行编辑
vim ~/.bash_profile

// 将下面两行代码插入到文件末尾
export N_PREFIX=/usr/local
export PATH=$N_PREFIX/bin:$PATH

// 按下esc,然后输入
:wq

// 执行source使修改生效
source ~/.bash_profile

// 执行n模版的升级命令
n stable

执行node -v看看,有没有成功升级

2、部署Nginx

Nginx可能很多搞前端的小伙伴没怎么接触过(其实我也没怎么接触过…),但是你一定经常看到这个

Nginx与前端开发这篇文章应该是一个很好的读物,介绍了Nginx。

1
2
3
4
5
6
7
8
// 添加CentOS 7 Nginx yum资源库
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

// 安装nginx
yum install -y nginx

// 启动Nginx
systemctl start nginx.service

如果你的服务器一切正常的话,你应该会看到这个页面

2.1部署vue前端项目

接上文,我们发现nginx的首页即上图的路径是在usr/share/nginx/html下,于是我们把打包后的vue项目用ftp上传至该目录下。直接用ip访问试试看

perfect,我们完成了第一步,接下来我们来把后端代码也部署到服务器。

2.2部署node后端项目

2.2.1ftp上传项目

我们需要使用ftp把后端项目上传到服务器,首先在/usr/local/路径下新建一个deployment文件夹里面用来存放后端项目。

2.2.2安装pm2并启动nodejs项目
1
2
3
npm install -g pm2 // 全局安装pm2
cd /usr/local/deployment //进入刚刚存放后端项目的文件
pm2 start app.js // 启动服务

由于我的后端项目是运行在8081端口的,首先要去腾讯云开放8081端口,

端口开放成功后,执行pm2 restart all 来重新启动后端项目,然后访问网站的8081端口

nice,后端也成功部署上去了,接下来就是安装mysql了。

3、安装mysql

依次执行以下命令

1
2
3
4
wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm // 下载mysql的源
yum localinstall -y mysql57-community-release-el7-7.noarch.rpm // 安装yum库
yum install -y mysql-community-server // 安装MySQL
systemctl start mysqld.service // 启动MySQL服务

MySQL5.7加强了root用户的安全性,因此在第一次安装后会初始化一个随机密码,以下为查看初始随机密码的方式

1
grep 'temporary password' /var/log/mysqld.log

用上面查看到的随机密码登录mysql

1
mysql -uroot -p 

修改mysql密码方式

1
alter user user() identified by "123456";

but,这样的密码肯定是不符合mysql的密码规则的,但是我们又不想设置多复杂的密码,那么执行以下命令就可以解决了

1
set global validate_password_policy=0;   // 这是在mysql里面执行的哦

然后执行如下命令授权远程链接

1
2
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;

4、部署后端接口

在本地下载navicat,然后连接mysql(ps:ssh栏目的密码是服务器的密码,常规栏目的密码是mysql的密码)

,这边不会的可以看看[这篇文章](https://blog.csdn.net/fenfei12138/article/details/49661879)

然后打开网站发现…终于部署上去了。


nodeJs项目部署腾讯云完整流程
https://xypecho.github.io/2018/10/03/nodeJs项目部署腾讯云完整流程/
作者
很青的青蛙
发布于
2018年10月3日
许可协议