使用宝塔面板部署Java项目确实能省去不少配置环境的时间。下面整理了一份详细的部署步骤,并汇总了关键信息以方便实践。
为了对整个流程有清晰的把握,下面这个表格概括了部署的核心步骤:
步骤 |
主要内容 |
1. 安装宝塔面板 |
通过脚本安装面板,并登录配置。 |
2. 安装基础软件 |
通过宝塔的"软件商店"安装Nginx、MySQL、Redis。 |
3. 配置Java环境 |
安装JDK,可以通过宝塔的"Java项目"模块或手动安装。 |
4. 部署后端项目 |
将Jar包上传至服务器,并通过宝塔的"Java项目"功能或命令启动。 |
5. 部署前端项目 & 配置Nginx |
上传前端文件,并配置Nginx进行反向代理和静态资源服务。 |
6. 配置数据库与Redis |
创建数据库、导入数据,并配置Redis远程连接。 |
7. 检查与访问 |
开放端口,通过浏览器访问项目。 |
💻 环境准备与软件安装
- 安装宝塔面板
- 准备一台阿里云轻量应用服务器,操作系统选择CentOS,轻量应用服务器配置选择入口:https://www.aliyun.com/product/swas
- 通过VNC终端连接你的服务器。
- 执行以下命令安装宝塔面板(适用于CentOS系统):
代码语言:javascript
AI代码解释
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
- 安装必要软件登录宝塔面板后,在软件商店中查找并安装以下软件:
- Nginx
- MySQL (推荐5.7或8.0版本)
- Redis
☕ 配置Java环境
根据你的项目类型,可以选择不同的JDK安装方式:
- 方式一:通过宝塔面板安装(推荐)进入宝塔面板的「网站」-「Java项目」-「Java环境管理」,你可以直接下载并安装所需的JDK版本(如OpenJDK 1.8、11、17等)。这种方式便于统一管理。
- 方式二:手动安装如果宝塔提供的版本不满足需求,可以手动安装。
- 通过宝塔的"文件"功能,将JDK压缩包(如
.tar.gz格式)上传到服务器,例如/usr/local/java目录。 - 在终端中解压:
tar -zxvf jdk-8u144-linux-x64.tar.gz。 - 配置环境变量:编辑
/etc/profile文件,在末尾添加以下内容(请根据实际路径修改):
代码语言:javascript
代码解释
export JAVA_HOME=/usr/local/java/jdk1.8.0_144 export CLASSPATH=$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/bin
🚀 部署后端Java项目
- 准备项目包将你的Spring Boot项目打包成Jar包,然后通过宝塔的"文件"功能上传到服务器,例如
/www/wwwroot目录下。 - 启动Java项目宝塔面板提供了两种主要方式来运行Jar包:
- 使用"Java项目"功能(推荐): 进入「网站」-「Java项目」-「添加Java项目」。
- 项目类型:选择"Spring Boot项目"。
- 项目路径:选择你上传的Jar包。
- JDK版本:选择你已安装的版本。
- 启动参数(可选):如果需要指定配置文件,可以填入
--spring.profiles.active=prod。 这种方式可以自动放行端口,并方便地管理项目日志。
- 使用命令后台启动: 如果你习惯使用命令行,可以进入Jar包所在目录,执行:
代码语言:javascript
AI代码解释
nohup java -jar your-project.jar --spring.profiles.active=prod >log.out &
- 其中
--spring.profiles.active=prod用于指定使用生产环境配置。
🌐 部署前端与配置Nginx
- 部署前端文件将你打包好的前端静态文件(如Vue项目的
dist目录)上传到服务器,例如/www/wwwroot/your-frontend目录下。 - 配置Nginx
- 在宝塔面板的「网站」中「添加站点」,域名暂时填写你的服务器IP,根目录选择你上传的前端文件所在目录(例如上面的
/www/wwwroot/your-frontend)。 - 添加站点后,点击站点设置里的"配置文件",进行修改。
- 核心配置是添加一个
location块,将前端的API请求反向代理到后端Java服务(假设后端运行在8080端口):
代码语言:javascript
AI代码解释
location /api/ { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
代码语言:javascript
AI代码解释
location / { try_files $uri $uri/ /index.html; }
🗄️ 配置数据库与Redis
- 配置MySQL
- 在宝塔面板的「数据库」中创建新数据库,设置名称、用户名和密码。字符集建议选择
utf8mb4。 - 为了方便远程连接或调试,可以将数据库的"权限"设置为"所有人",否则可能只有本地
localhost能连接。 - 通过"导入"功能,将本地的SQL文件导入到新创建的数据库中。
- 记得检查并修改你Java项目的配置文件(如
application-prod.yml),确保其中的数据库连接URL、用户名和密码已更新为线上环境的信息。 - 配置Redis
- 在宝塔面板中找到已安装的Redis,点击"设置"。
- 在"配置文件"中,找到
bind 127.0.0.1这一行,在其前面加上#将其注释掉(或者改为0.0.0.0),以允许远程连接。 - 找到
protected-mode yes,将其改为protected-mode no。 - 找到
# requirepass foobared这一行,删除#注释,并将foobared改为你自己的强密码。 - 同样,在你的Java项目配置文件中,需要更新Redis服务器的地址和密码。
🔧 最终检查与访问
- 检查端口放行:确保你的服务器安全组和宝塔面板的防火墙已经放行了项目所需的端口,例如80(HTTP)、443(HTTPS)、3306(MySQL)、6379(Redis)以及你的后端应用端口(如8080)。
- 访问项目:在浏览器中输入你的服务器IP地址或绑定的域名,检查前后端是否正常运行。