云服务器配置记录
目录
{{ }}
连接服务器
- 首先,先购买云服务器,并配置好密码,记住公网ip,如:139.196.49.176
- 下载XShell,用于登录远程服务器,在xshell中新建连接:
- 输入命令:
ssh root@139.196.49.176
,再输入密码后即可连接至远程服务器 - 修改主机名:
hostnamectl --static set-hostname codingbylch
安装NodeJS、MySQL
- 安装软件使用到的工具是:dnf,centos8默认带有,检查是否可用:
dnf --help
# 搜索软件包
dnf search nodejs
# 查看软件包信息: nodejs的版本是10.21.0
dnf info nodejs
# 安装nodejs
dnf install nodejs
- 此时安装的nodejs版本较低,可以使用工具n,这是用来管理nodejs版本的
- 安装n:
npm install n -g
- 通过n安装最新的lts和current:
n install lts
和n install latest
- 通过n切换版本:
n
- 安装n:
- 如果发现切换之后终端没有反应,可以进⾏重启:
ssh service sshd restart
- 使用dnf安装mysql,安装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账号和密码:
mysql_secure_installation
,选2,一路选y
使用本地的Navicat连接远程的数据库步骤:
- 首先服务器中配置mysql
- 连接数据库:
mysql -u root -p
,输入密码 - 使用mysql数据库:
use mysql;
- 查看user表:
select host, user from user;
- 修改权限:
update user set host = '%' where user = 'root';
- 连接数据库:
- 配置云服务器的安全组,添加开放3306端口,利用快速添加进行操作
- Navicat新建mysql连接:
数据库迁移
本地需要迁移的数据库 - 右键,转储SQL文件,结构和数据 - 导出到某一位置; 远程SQL - 新建数据库 - 该数据库右键,运行SQL文件,选择之前导出的文件进行导入,即完成迁移。
部署Node项目
大概有3种方式:
- 第一种:手动将代码拷贝到远程服务器(利用工具,用的很少,略)
- 第二种:代码托管到GitHub,其中的
.env
忽略上传,其中存放的是databse的一些常量
这里先讲一下第二种:
- 上传至Git仓库后,仓库地址如:https://github.com/codingbylch/node_coderhub.git
- 在远程服务器中安装git:
dnf install git
- 在远程服务器中新建一个文件夹,名如coderlch:
cd ..
,mkdir coderlch
,cd coderlch
- 克隆远程仓库:
git clone https://github.com/codingbylch/node_coderhub.git
- 在本地VSCode打开远程服务器的文件夹,实现像在本地一样操作远程文件夹:
- VSCode安装:Remote - SSH
- 点击Add New,添加:ssh root@139.196.49.176
- 输入密码之后,选择打开文件夹,然后选择coderlch,就会进入远程文件夹
- 安装项目:
npm install
- 编辑
.env
文件(注意数据库密码别错咯) - 运行项目:
node ./src/main.js
- 将在.env文件中配置的端口加入到安全组中,这样外部才能访问接口
- 现在试着访问:http://139.196.49.176:8005/moment/7
- 为防止关闭终端就结束项目,需要安装pm2,帮助我们后台运行该项目:
npm install pm2 -g
- 常用的一些命令:
命名进程
pm2 start app.js --name my-api
显示所有进程状态
pm2 list
停⽌指定的进程
pm2 stop 0
停⽌所有进程
pm2 stop all
重启所有进程
pm2 restart all
重启指定的进程
pm2 restart 0
杀死指定的进程
pm2 delete 0
杀死全部进程
pm2 delete all
#后台运⾏pm2,启动4个app.js,实现负载均衡
pm2 start app.js -i 4
(一般根据服务器cpu核数决定)
- 输入命令:
pm2 start ./src/main.js --name my-api
jenkins自动化部署
效果:远程服务器能够自动拉取git仓库,并自动执行一系列命令。
先略。