以下是一份基于你现有环境(本地使用 IntelliJ IDEA 编辑,服务器为腾讯云 CentOS 7.6 系统并安装了宝塔 7.9,且已在宝塔的 Java 项目 JDK 环境管理工具里安装了 JDK 17.0.8)的详细搭建部署教程:
如果你还没有安装 IntelliJ IDEA,可以从 JetBrains 官网 下载并安装适合你操作系统的版本。
JDK 配置:打开 IntelliJ IDEA,进入 File
-> Project Structure
-> Project Settings
-> Project
,将 Project SDK
设置为你本地安装的 JDK 17。
Maven 配置:进入 File
-> Settings
-> Build, Execution, Deployment
-> Build Tools
-> Maven
,配置 Maven 的安装路径、settings.xml
文件路径和本地仓库路径。
打开 IntelliJ IDEA,选择 File
-> Open
,找到你克隆的项目 meishi
目录并打开。
IntelliJ IDEA 会自动识别项目的 Maven 结构,并下载所需的依赖。
通过宝塔面板安装:登录宝塔面板,在软件商店中搜索 MySQL
,选择合适的版本(如 MySQL 8.0)进行安装。
配置数据库:安装完成后,在宝塔面板的数据库管理界面创建一个名为 meishi
的数据库,并记录下数据库的用户名和密码。
通过宝塔面板安装:在宝塔面板的软件商店中搜索 Redis
,选择合适的版本进行安装。
配置 Redis:安装完成后,可在宝塔面板的 Redis 管理界面修改 Redis 的配置,如设置密码等。
由于你已经在宝塔的 Java 项目 JDK 环境管理工具里安装了 JDK 17.0.8,可以通过以下命令检查 JDK 是否安装成功:
java -version
如果输出 JDK 17 的版本信息,则说明安装成功。
打开项目的 meishi/pom.xml 文件,在 IntelliJ IDEA 的右侧 Maven 工具栏中,双击 Lifecycle
下的 clean
和 package
命令,对项目进行清理和打包。
打包完成后,每个模块的 target
目录下会生成对应的 JAR 文件。
在宝塔面板的 文件
管理界面,点击右上角的 SFTP
服务开关,开启 SFTP 服务。
推荐使用 FileZilla
等 SFTP 工具,连接到你的腾讯云服务器。
将 user-service
、quartz
和 admin-service
模块生成的 JAR 文件上传到服务器的指定目录,例如 /opt/meishi
。
根据服务器的实际情况,修改上传到服务器的 JAR 文件对应的配置文件(如 application-pro.yml
)中的数据库和 Redis 连接信息。可以使用 vim
或 nano
等文本编辑器进行修改:
vim /opt/meishi/user-service-0.0.1-SNAPSHOT.jar.original
找到数据库和 Redis 相关配置项,修改为服务器上的实际信息。
如果服务器开启了防火墙,需要开放项目所需的端口(如 user-service
的 10125
端口、quartz
的 10666
端口、admin-service
的 8989
端口):
# 开放端口firewall-cmd --zone=public --add-port=10125/tcp --permanentfirewall-cmd --zone=public --add-port=10666/tcp --permanentfirewall-cmd --zone=public --add-port=8989/tcp --permanent# 重新加载防火墙规则firewall-cmd --reload
nohup
命令启动项目在服务器上,使用以下命令启动各个服务:
user-service:
nohup java -jar /opt/meishi/user-service-0.0.1-SNAPSHOT.jar --spring.profiles.active=pro > /opt/meishi/user-service.log 2>&1 &
quartz:
nohup java -jar /opt/meishi/quartz-<版本号>.jar --spring.profiles.active=pro > /opt/meishi/quartz.log 2>&1 &
admin-service:
nohup java -jar /opt/meishi/admin-service-<版本号>.jar --spring.profiles.active=pro > /opt/meishi/admin-service.log 2>&1 &
nohup
命令用于在后台运行程序,> /opt/meishi/user-service.log 2>&1
表示将程序的输出重定向到指定的日志文件中,&
表示将程序放到后台运行。
可以通过以下命令查看服务的日志文件,检查服务是否正常启动:
tail -f /opt/meishi/user-service.log
使用浏览器或工具(如 Postman)访问各个服务的 Swagger UI 页面,验证服务是否正常启动:
user-service:http://<服务器 IP>:10125/swagger-ui.html
quartz:http://<服务器 IP>:10666/swagger-ui.html
admin-service:http://<服务器 IP>:8989/swagger-ui.html
端口冲突:确保服务器上的端口没有被其他应用程序占用,否则可能导致服务启动失败。
配置文件:根据实际情况调整 application-pro.yml
中的配置信息,如数据库连接、Redis 连接等。
日志监控:定期查看服务的日志文件,及时发现和解决问题。
通过以上步骤,你可以完成项目的搭建和部署,并确保各个服务正常运行。
如何优化 Java 项目的性能?
除了 IntelliJ IDEA,还有哪些适合 Java 开发的 IDE?