服务器部署Nodejs项目

  • 配置服务器
  • 连接服务器
  • 安装Node.js
  • 安装MySQL
  • 安装MySQL
  • 配置MySQL
  • 数据库的迁移
  • 部署NodeJS项目
  • 通过软件手动文件拖拽过去
  • 通过Git仓库
  • 代码托管到Git仓库
  • 代码clone到服务器
  • 通过Git将代码克隆到本地
  • VSCode中打开代码:插件`remote-ssh`
  • 配置.env
  • pm2启动node程序
  • 通过Git将代码克隆到本地
  • VSCode中打开代码:插件`remote-ssh`
  • 配置.env
  • pm2启动node程序


配置服务器

连接服务器

通过ssh连接云服务器:

  • Windows电脑上我推荐直接使⽤git bash ssh⼯具;
  • Mac OS电脑上我们可以直接通过终端来使⽤ssh⼯具;
  • nodejs express能做多服务器集群吗 部署nodejs到服务器_服务器

安装Node.js

  • centos7的版本,没有⾃带dnf的,需要通过yum进⾏安装
  • 是centos8,所以是⾃带dnf的
    yum的安装
yum install epel-release
yum install dnf
//查看是否安装成功
dnf --help

希望安装⼀个软件包:

# 搜索软件包
dnf search nodejs
# 查看软件包信息: nodejs的版本是10.24.0的版本
dnf info nodejs
# 安装nodejs
dnf install nodejs

但我们要使用更⾼的版本,⽐如最新的LTS或者Current版本,nodejs版本管理工具n

# 安装n
npm install n -g
# 通过n安装最新的lts和current
n install lts
n install latest
# 通过n切换版本
n

安装MySQL

安装MySQL
  • 使⽤dnf来安装MySQL
# 查找MySQL
dnf search mysql-server
# 查看MySQL,这⾥的版本是8.0.21
dnf info mysql-server
# 安装MySQL,这⾥加-y的意思是依赖的内容也安装
dnf install mysql-server -y
  • 启动mysql-server
# 开启MySQL后台服务
systemctl start mysqld
# 查看MySQL服务:active (running)表示启动成功
systemctl status mysqld
# 随着系统⼀起启动
systemctl enable mysqld
配置MySQL
  • 配置MySQL账号和密码
mysql_secure_installation
# 0 1 3 选项选择密码的长度
# 输入yes或者no的地方可直接输yes
  • 想要远程连接数据库
# 使⽤mysql数据库
use mysql;
# 查看user表中,连接权限,默认看到root是localhost
select host, user from user;
# 修改权限
update user set host = '%' where user = 'root';
  • 在服务器端配置3306端口的安全组
数据库的迁移

1、在Navicat中本地MySQL直接导出数据库

2、在Navicat中服务器MySQL中执⾏MySQL

部署NodeJS项目

通过软件手动文件拖拽过去

软件:FileZilla图行化的方式拖拽到服务器上

通过Git仓库

代码托管到Git仓库
  • 在GitHub中创建仓库,并且将当前代码放到GitHub中
代码clone到服务器
  • 服务器中默认没有安装git,通过dnf安装
dnf install git;
通过Git将代码克隆到本地
VSCode中打开代码:插件remote-ssh
配置.env
pm2启动node程序
  • pm2是⼀个Node的进程管理器
  • Node进程不会随着终端的关闭而中断执行
通过Git将代码克隆到本地
VSCode中打开代码:插件remote-ssh
配置.env
pm2启动node程序
  • pm2是⼀个Node的进程管理器
  • Node进程不会随着终端的关闭而中断执行