开篇
- 提到Linux上部署项目,很多人都觉得头痛,redis、mysql、nginx、tomcat、node等都需要一行行的命令来完成。即便使用相 对简单的Docker命令,对一些新手来说也有一定上手难度,最起码需要掌握基本的Docker命令,况且后面还需要配置环境变量。
- 第一次在Linux云服务器上部署前后端分离项目,查了很多资料,踩了许多坑。成功实现部署若依的前后端分离项目后,想记录一下前后端部署的过程,供学习的小伙伴参考。
一:申请云服务器
- 点击上面腾讯云直接进入腾讯云,如果有账号就直接登录,没有的话就注册一个新账户
- 注册好之后对账号进行实名,实名成功后,可以购买所需的服务器
- 也可以申请试用服务器.首页-免费试用-申请云服务器,服务器操作系统 CentOS
- 点击右上角控制台 查看服务器的IP地址,账号密码
- 点击上面阿里云直接进入阿里云,如果有账号就直接登录,没有的话就注册一个新账户
- 注册好之后对账号进行实名,实名成功后,可以购买所需的服务器
- 也可以申请试用服务器.首页-最下面-免费试用-申请云服务器,服务器操作系统 CentOS
- 点击右上角控制台查看服务器的IP地址,账号密码
- 点击上面华为云直接进入华为云,如果有账号就直接登录,没有的话就注册一个新账户
- 注册好之后对账号进行实名,实名成功后,可以购买所需的服务器
- 也可以申请试用服务器.首页-免费体验中心-申请云服务器,服务器操作系统 CentOS
- 点击右上角控制台查看服务器的IP地址,账号密码
二:连接云服务器
1.以xshell为例,点击新建,输入主机,服务器的IP地址,点击确定
2.输入用户名,记住用户名
3.输入密码,并且记住密码
4.登录成功
三:下载宝塔面板
1.浏览器搜索宝塔面板
2.点击安装
3.选择linux面板
4.复制命令
5.复制命令输入,安装即可
6.这里输入y,等待安装
7.安装成功之后会显示宝塔面板的IP 用户名密码
8.浏览器输入外网面板地址输入用户名密码
9.没有宝塔账户的可以注册宝塔账户关联
10.登录成功之后
四:环境配置
1.这里可以不用一键安装,单独安装,关闭即可
2.点击软件商店
3.安装所需要的软件
4.安装nginx,测试学习选择极速安装,生产环境正式项目选择编译安装
5.安装redis
6.安装mysql
7.安装完成之后,设置里面可以重启,
8.redis设置里面可以配置密码,可以不用配置,如果配置密码之后代码里面需要修改对应密码
8.点击安全
9.放行3306端口,(这里注意,不同云服务器需要登录账号在安全组里面放行端口)
10.点击数据库,root密码,复制出来
11.使用宝塔里面的终端工具连接服务器
12.连上服务器后,执行下面步骤即可
#root用户进入数据库 输入上面复制的root密码
mysql -u root -p
#使用mysql
use mysql
#更新root用户权限,“%”是所有地址都可以访问
update user set Host='%' where User='root';
#刷新权限即可
flush privileges;
13.输入用户名密码
14.使用mysql
15.更新root用户权限,“%”指的是所有地址都可以访问
16.刷新权限即可
17.连接数据库,主机输入IP,输入密码连接即可
四:项目配置
1.下载若依项目到本地
2.下载之后可以看到前后端都在一起,可以分离开
3.把ruoyi-ui剪切出来和若依同级
4.新建导入sql文件到数据库
5.运行sql文件(两个文件都要导入运行)
6.完成全部文件导入
7.修改项目数据库,用户名密码
8.宝塔里面如果配置了redis密码,这里修改密码,没有配置不用处理
9.打包项目,先clean,再package
10.修改前端请求api地址,这里修改成服务器IP
11.打包前端代码
四:宝塔部署
1.点击文件,新建目录
2.新建目录,进入project目录里面
3.上传jar,文件
4.上传dist文件
5.上传完成之后
6.点击网站-Java项目,添加Java项目
7.安装对应版本的jdk,项目是1.8
8.选择上传的jar,确定
9.如果点击确定出现了警告,可以点击数据库导入到面板,确定数据库密码和代码里面的密码是否一致
10.启动之后可以查看jar是否成功启动
11.成功启动
12.配置nginx
server {
# 前端项目要部署到什么端口
listen 80;
#localhost改成请求的IP
server_name localhost;
location / {
# 告诉nginx,前端打包好的文件在哪里
root html/sssFront;
# index配置首页文件
index index.html index.htm;
}
#这里解决跨域问题,后端地址及端口号,这里的api会存在改动,根据项目配置
location /api/ {
# ip和端口 根据后端服务器来确定,因为我的后端服务也是部署在这台服务器中,所以可以写127.0.0.1
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
}
}
13.改成root,配置完成之后,点击保存
可以按照我的模板修改,具体的还需要根据项目配置进行修改
14.保存之后,重启nginx
15.放行8080端口,这里是后端配置的端口号,根据项目修改
五:项目访问
浏览器访问ip加端口号
到这里已经成功更新部署成功,可以按照模板进行配置,具体的还需要根据项目里面的配置进行修改,有什么不明白的也评论区讨论