染卷不卷'blog

12年站长,AI实践中。互联网 IT行业,工作见闻、技术教程全分享。

服务器运维 / 软件应用

宝塔面板快速部署前后端分离web项目(Vue3+SpringBoot3)

本篇目录

很久没在宝塔上部署java项目了,最近AI coding了一个http服务监测系统,记录下在最新的宝塔V13版本上5分钟部署这个前后端分离的项目。

一、准备部署物

准备jar包文件,一般AI开发调试时会自动打包,我这个java后端使用的数据库是sqlite。前端文件也可直接让AI编译一般在dist目录下。

java项目AI已经配置所有接口会自动增加/api前缀。

至此部署所需的文件都已经准备好了(一个jar文件 + 打包后的前端dist目录下的所有静态文件)。

二、宝塔配置

1、打包上传前后端文件到宝塔所在服务器,我是传到宝塔www目录下。

在宝塔后台网页上传的文件权限都是www这个用户的。

2、添加Java项目后端

在后台网站—Java项目—添加项目—SpringBoot中的项目路径选择上传的jar文件,会自动填写其他内容然后点击确定保存,这样jar后端项目就能启动了。

3、编辑Java项目

最重要的就是这一步了,需要编辑刚才创建的Java项目,设置一个域名后开启外网访问配置。 如果你没有真实域名可以随便设置个域名,然后修改本地host文件指向来实现个人访问。

开启外网映射/api/后(不要少了斜杠),需要继续打开静态文件开关,设置静态文件。

4、访问项目

如果本身你已经把域名能解析到刚才的宝塔所在服务器直接访问域名网址即可,如果是局域网或 解析还没生效就可以修改本机host的方式让自己可以先访问。我习惯直接在火绒的工具箱里面修改host。

域名解析没问题后就可以浏览器打开配置这个monitor.ranjuan.cn域名访问了。一开始访问发现登录不了,才想起来是之前让AI检查安全性的时候做了处理,这个监控系统首次安装时会在日志中打印一次密码,避免系统部署后使用之前的默认admin123这个默认密码。

使用日志中的密码首次登录需要强制修改密码,修改后LitVmonitor监控系统登录成功。

5、检查nginx配置

如果你熟悉nginx配置,完全可以自己编辑配置文件,下面这个是本次监控系统项目部署配置后的核心配置文件。

之前我写过一篇利用MCP在虚拟机中部署这个监控系统的文章(使用LitSSHmcp部署轻量级HTTP/API监控系统 – LitVMonitor),跟宝塔这个部署比起来需要自己管理jar包的启动,大家可以参考下区别,配置文件如下:

# LitVMonitor - system nginx site (port 80)
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
 
root /var/www/litvmonitor/dist;
index index.html;
 
# API -> Spring Boot backend (context-path /api)
location /api/ {
proxy_pass http://127.0.0.1:8088;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 30s;
proxy_read_timeout 60s;
proxy_send_timeout 60s;
}
 
# SPA history-mode fallback
location / {
try_files $uri $uri/ /index.html;
}
}

三、安全建议

1、java程序不要放到网站目录下避免被人下载(比如我这个监控系统jar运行后还会在程序目录下生成.db文件),比如部署的时候把前dist整个文件夹上传,然后添加静态文件的时候直接选dist文件夹,这样nginx就会把网站目录限制在dist文件夹下,这个文件夹里面只会有前端文件。

2、宝塔面板的每个网站nginx配置会有一些默认安全配置,你可以照着它的格式比如增加禁止jar文件的访问来避免被人下载,但是还是建议把程序放到别的地方!!!

3、服务器尽量减少对外接口,数据库什么的最好也是内网连接。

4、nginx今年爆了几个严重的洞,务必尽快升级版本,我目前升到1.30.4。

染卷

本站文章也会定期同步到微信公众号,可以关注下避免错过~

建站 12年 15天
微信公众号

发表评论

邮箱不会公开,带 * 为必填。