阿里云前端[Vue.js / nuxt.js]➕后端【node.js + mySql + PM2 +GIt】上线部署流程

232 阅读5分钟

阿里云前端[Vue.js / nuxt.js]➕后端【node.js + mySql + PM2 + Git】上线流程

简介:

个人理解上线部署其实就是将我们运行在本机的项目,上传到阿里云服务器上。同时让阿里云服务器具有和本地相同的运行环境就OK了。唯一的不同之处就是服务器通常采用Linux命令,需要对Linux命令稍有了解,但是常用的也就那几个。

前期准备:

1、拥有一台阿里云服务器【Linux系统】 2、使用到的linux命令:

cd xx   进入某个文件夹 【cd etc (进入etc文件夹)】
cd ..   回退到上一级文件夹
cd /    进入系统根目录
ls xx   查看某个文件夹下的文件【ls etc(展示etc文件夹中的文件)】
vim xx  编辑某个文件内容【vim index.js(编辑index.js文件)】
rm -rf xx 删除某个文件夹【rm-rf myTest(删除myTest文件夹)】
mkdir xx  创建某个文件【mkdir myTest(创建myTest文件夹)】

3、可以在本地运行的前端项目和一个node.js服务 4、下载xshll并安装【xshll下载地址

阿里云服务器系统选择【一般除了windows都可使用】

推荐: CentOS 【不要选最新版!!!】 原因: 可以挂阿里云镜像,yum很快!!!! 阿里云CentOS镜像 在这里插入图片描述 B站引路不迷路

步骤一:通过xshll链接阿里云服务器

1、 复制阿里云服务器的公IP地址,并重置阿里云密码【第一次登录】

在这里插入图片描述 在这里插入图片描述

2、放开阿里云实例常用端口

在这里插入图片描述 在这里插入图片描述

3、通过xshll进行链接

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述在这里插入图片描述

步骤二:部署node环境[复制粘贴命令回车运行即可]

1、进入安装node目录

输入以下命令:

cd /           [进入文件根目录]

ls              [查看根目录所有文件]

cd usr       [进入usr文件夹]

ls

cd local    [进入local安装目录]

2、安装node.js

wget nodejs.org/dist/v10.15…

在这里插入图片描述

tar -xvf node-v10.15.3-linux-x64.tar.xz

在这里插入图片描述

rm node-v10.15.3-linux-x64.tar.xz

在这里插入图片描述

ln -s /usr/local/node-v10.15.3-linux-x64/bin/node /usr/local/sbin/node

ln -s /usr/local/node-v10.15.3-linux-x64/bin/npm /usr/local/sbin/npm

以上两句命令分别是配置linux的环境变量使其在任何文件夹都可使用node.js 和 npm 命令

测试是否成功安装:

node -v

npm -v

在这里插入图片描述

步骤三:部署mySql环境(8.0版本)【复制粘贴命令回车运行即可,使用阿里云镜像飞快!】

1、下载并安装mySql

同样将其安装在 /usr/local 目录下 【进入目录方式同上】

rpm -ivh dev.mysql.com/get/mysql80…

在这里插入图片描述

yum install -y mysql-server

systemctl start mysqld.service [设置mysql自动启用]

2、登录验证mysql

grep "password" /var/log/mysqld.log [获取mysql初始密码]

在这里插入图片描述

mysql -uroot -p [回车,输入密码不显示位数(复制粘贴密码),登录MySQL]

在这里插入图片描述

3、修改密码

alter user 'root'@'localhost' identified by '新密码';

MySQL8.0修改密码需要有大小写字母、数字、特殊字符组合。

在这里插入图片描述 在这里插入图片描述

4、设置MySQL链接权限

use mysql

update user set host = ‘%’ where user=‘root’;

flush privileges;//刷新权限

在这里插入图片描述

步骤四:部署nginx环境

1、安装nginx服务[复制粘贴命令回车运行即可]

进入 /usr/local 目录下[按顺序复制粘贴运行命令即可]

yum install gcc-c++

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

yum install -y openssl openssl-devel

wget -c nginx.org/download/ng…

tar -zxvf nginx-1.10.1.tar.gz

cd nginx-1.10.1

./configure

make

make install

cd /

cd usr

cd local

ls

在这里插入图片描述

cd nginx

cd sbin

./nginx 【启动nginx】

vim /etc/rc.local 【设置开机自动运行】

i [键盘按 i 键]

在这里插入图片描述

2、验证nginx是否成功

在这里插入图片描述

3、nginx常用命令【必须在 /usr/local/nginx/sbin/ 目录下】

./nginx -s quit 【停止NGINX】

./nginx 【启动NGINX】

4、配置nginx[安装顺序输入命令]

cd /

cd usr

cd local

cd nginx

cd conf

vim nginx.conf

在这里插入图片描述

5、nginx服务代理配置

键盘按 i

前提条件: node.js 的url必须都为 /api 开头!!!! 在这里插入图片描述 修改nginx配置: 在这里插入图片描述 在这里插入图片描述 nginx代理常用配置

location /api {
		rewrite ^.+api/?(.*)$ /$1 break;  // 将 /api 重写为空
		proxy_pass http://localhost:8888; // 开启代理
	}

步骤五:安装PM2【一个让项目后台运行的工具】

1、下载安装PM2

npm config set registry registry.npm.taobao.org [安装阿里云npm镜像]

npm install pm2 -g

ln -s /usr/local/node-v10.15.3-linux-x64/bin/pm2 /usr/local/sbin/pm2

在这里插入图片描述

2、 PM2 常用命令

$ pm2 logs 显示所有进程日志
$ pm2 stop all 停止所有进程
$ pm2 restart all 重启所有进程
$ pm2 reload all 0秒停机重载进程 (用于 NETWORKED 进程)
$ pm2 stop 0 停止指定的进程
$ pm2 restart 0 重启指定的进程
$ pm2 startup 产生 init 脚本 保持进程活着
$ pm2 web 运行健壮的 computer API endpoint (http://localhost:9615)
$ pm2 delete 0 杀死指定的进程
$ pm2 delete all 杀死全部进程

运行进程的不同方式:

$ pm2 start app.js -i max 根据有效CPU数目启动最大进程数目
$ pm2 start app.js -i 3 启动3个进程
$ pm2 start app.js -x 用fork模式启动 app.js 而不是使用 cluster
$ pm2 start app.js -x -- -a 23 用fork模式启动 app.js 并且传递参数 (-a 23)
$ pm2 start app.js --name serverone 启动一个进程并把它命名为 serverone
$ pm2 stop serverone 停止 serverone 进程
$ pm2 start app.json 启动进程, 在 app.json里设置选项
$ pm2 start app.js -i max -- -a 23 在--之后给 app.js 传递参数
$ pm2 start app.js -i max -e err.log -o out.log 启动 并 生成一个配置文件

步骤六:部署git环境

1、安装git

yum -y install git

在这里插入图片描述

步骤七、使用git将仓库中的后端项目发布到服务器

在这里插入图片描述 在这里插入图片描述

3、进入项目启用项目启动项目

可能的错误: 在这里插入图片描述 解决错误:

mysql -uroot -p 【登录MySQL】

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的数据库密码';

flush privileges; 【刷新权限】

在这里插入图片描述

4、修改原来项目中的MySQL配置

在这里插入图片描述

5、用第三方数据库工具远程链接阿里云数据库建立和serve一样的数据库

在这里插入图片描述 链接阿里云数据库 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

6、再次启动项目并使用pm2管理

在这里插入图片描述 使用pm2 启动: 在这里插入图片描述

在这里插入图片描述

步骤八:将前端项目部署服务器

1、本地打包项目

在这里插入图片描述

npm run bulid

在这里插入图片描述

2、阿里云服务器安装rz插件,并将本地项目文件上传至阿里云

yum install lrzsz

使用:

  • 在阿里云服务的 /usr/local/ 目录下建立一个 www文件夹 【mkdir www】
  • 使用rz命令进行文件上传 在这里插入图片描述

(1)将dist文件夹压缩【rz只能上传压缩文件 选择dist压缩文件,上传即可 在这里插入图片描述 在这里插入图片描述 (2)阿里云安装 unzip插件【解压zip文件夹】

yum install unzip

unzip dist.zip

在这里插入图片描述 (3)修改nginx配置文件 在这里插入图片描述

:wq

在这里插入图片描述

步骤七:测试

在这里插入图片描述

参考博客链接:

node.js 部署 mysql部署(一) MySQL部署二 PM2 Nginx部署 Nginx服务代理

哔哩哔哩视频教学

B站视频讲解