一、前端部署
1.cmd运行打包命令,得到dist文件夹
npm run build:prod
2.登录宝塔页面,在文件中找一个目录上传dist文件夹
3.软件商店下载nginx
4.在网站php项目中添加站点
5.添加站点添加项目
① 域名填写自己的云服务器ip地址
② 在根目录中选择刚刚上传的dist文件夹
③ 填写完成点击添加即可
6.配置nginx(重点)
在创建的网站中点击设置,进入到配置文件(参考如下:)
listen 端口;
server_name ip地址;
index index.php index.html index.htm default.php default.htm default.html;
root 上传的dist路径;
# 防止浏览器刷新页面丢失
location / {
index 你的dist文件的路径/index.html;
# 防止浏览器刷新页面丢失
try_files $uri $uri/ /index.html;
}
# 配置代理 要和你的后端对应上
location /dev-api/ {
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;
# 填写的内容要与若依前端代码中的target中的地址一致
proxy_pass ip:端口;
proxy_connect_timeout 6000s;
proxy_read_timeout 6000s;
proxy_send_timeout 6000s;
}
# 服务器访问时,f12进入检查时会自动带上的prod-api前缀,要和你的后端对应上
location /prod-api/{
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;
# 填写的内容要与若依前端代码中的target中的地址一致
proxy_pass ip:端口;
proxy_connect_timeout 6000s;
proxy_read_timeout 6000s;
proxy_send_timeout 6000s;
}
注意:nginx配置的proxy_pass地址要于这里的地址要对应上,否则无法访问后端。
7. 配置完成,访问地址能正常获取到验证码即可成功。
二、后端部署
1.在宝塔中安装mysql
直接在软件商店中安装mysql,选择合适的版本下载即可
安装完成后,本地连接会出现连接不上的情况:
Can‘t connect to MySQL server on xxxx
首先先确保宝塔和服务器开放端口3306
解决方案①:按顺序输入以下命令即可
mysql -u root -p
use mysql;
GRANT ALL PRIVLEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;
解决方案②:按顺序输入以下命令即可
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
exit;
2. 在软件商店中安装redis
安装完成进行redis配置,以确保后端能正常访问到redis
以上配置可以确保所有的地址都能访问到redis,如只需要给某个地址放行,可在bind中配置地址即可,0.0.0.0 表示放行所有ip。
3.安装jdk和tomcat
4.打包后台项目
①在ruoyi-admin中的application.yaml修改自己的数据库的ip地址,名称,账号,密码还有redis的地址,密码等
② 在logback.xml中修改日志生成的路径(如图所示),修改成自己的服务器路径
③ maven执行package打包命令,得到ruoyi-admin.jar文件
5.在宝塔中部署项目
在网站中java项目中添加网站,选择刚刚打包后上传到服务器中的ruoyi-admin.jar文件路径,
填写端口,jdk即可
点击提交,启动项目,访问前端,可以正常获取验证码,至此部署成功