腾讯云轻量服务器CentOS 8.0上,手把手部署JavaWeb项目(JDK 1.8 + Tomcat 8 + MySQL 8.0)

张开发
2026/4/21 20:24:06 15 分钟阅读

分享文章

腾讯云轻量服务器CentOS 8.0上,手把手部署JavaWeb项目(JDK 1.8 + Tomcat 8 + MySQL 8.0)
腾讯云轻量服务器CentOS 8.0环境下的JavaWeb项目全栈部署实战在云计算时代将JavaWeb项目部署到轻量级云服务器已成为中小型项目的首选方案。腾讯云轻量应用服务器以其开箱即用的特性、极具竞争力的价格和稳定的性能特别适合个人开发者和小型团队快速搭建线上服务。本文将聚焦CentOS 8.0系统环境下使用JDK 1.8、Tomcat 8和MySQL 8.0这一经典技术组合的完整部署流程不仅涵盖基础安装步骤更会深入探讨版本兼容性优化、性能调优和安全加固等进阶内容。1. 环境准备与初始化配置1.1 腾讯云轻量服务器选购与系统初始化腾讯云轻量应用服务器提供了多种配置选项对于大多数JavaWeb项目2核4GB内存的配置已能胜任初期需求。购买时需注意地域选择根据目标用户群体地理位置选择最近地域镜像选择CentOS 8.0 64位系统防火墙设置初始建议开放22(SSH)、80(HTTP)、443(HTTPS)和3306(MySQL)端口系统初始化后首先应更新系统基础组件dnf update -y dnf upgrade -y dnf install -y wget vim net-tools1.2 SSH安全加固在连接服务器前建议先进行SSH安全配置修改默认SSH端口禁用root直接登录启用密钥认证修改/etc/ssh/sshd_config文件关键参数Port 29222 PermitRootLogin no PasswordAuthentication no2. 核心组件安装与配置2.1 JDK 1.8安装与优化CentOS 8官方仓库提供OpenJDK 1.8的稳定版本安装命令如下dnf install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel安装完成后配置环境变量echo export JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk /etc/profile echo export PATH$JAVA_HOME/bin:$PATH /etc/profile source /etc/profile验证安装java -version javac -version性能调优建议根据服务器内存调整JVM参数生产环境建议使用G1垃圾收集器2.2 Tomcat 8部署与安全加固2.2.1 二进制包安装wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.82/bin/apache-tomcat-8.5.82.tar.gz tar -xzf apache-tomcat-8.5.82.tar.gz -C /usr/local/ ln -s /usr/local/apache-tomcat-8.5.82 /usr/local/tomcat2.2.2 安全配置要点删除默认应用rm -rf /usr/local/tomcat/webapps/*修改管理端口!-- conf/server.xml -- Server port8005 shutdownSHUTDOWN 改为随机字符串禁用不必要协议!-- conf/server.xml -- Connector port8080 protocolHTTP/1.1 添加 URIEncodingUTF-8 /2.3 MySQL 8.0安装与安全配置2.3.1 官方仓库安装dnf install -y https://dev.mysql.com/get/mysql80-community-release-el8-4.noarch.rpm dnf module disable -y mysql dnf install -y mysql-community-server2.3.2 安全初始化systemctl start mysqld grep temporary password /var/log/mysqld.log mysql_secure_installation2.3.3 远程访问配置CREATE USER webuser% IDENTIFIED BY ComplexPssw0rd; GRANT ALL PRIVILEGES ON webdb.* TO webuser%; FLUSH PRIVILEGES;3. 项目部署与优化3.1 应用部署最佳实践3.1.1 WAR包部署方式推荐将应用部署在Tomcat的webapps目录外!-- conf/server.xml -- Context docBase/data/webapps/myapp.war path /3.1.2 日志配置优化修改conf/logging.properties1catalina.org.apache.juli.AsyncFileHandler.level FINE 1catalina.org.apache.juli.AsyncFileHandler.directory ${catalina.base}/logs3.2 MySQL 8.0兼容性处理3.2.1 驱动更新MySQL 8.0需要更新JDBC驱动!-- pom.xml -- dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version8.0.28/version /dependency3.2.2 连接参数调整# application.properties spring.datasource.urljdbc:mysql://localhost:3306/webdb?useSSLfalseallowPublicKeyRetrievaltrueserverTimezoneUTC4. 系统集成与自动化4.1 服务自启动配置4.1.1 Tomcat系统服务创建/etc/systemd/system/tomcat.service[Unit] DescriptionApache Tomcat 8 Aftersyslog.target network.target [Service] Usertomcat Grouptomcat EnvironmentCATALINA_PID/usr/local/tomcat/temp/tomcat.pid EnvironmentCATALINA_HOME/usr/local/tomcat EnvironmentCATALINA_BASE/usr/local/tomcat ExecStart/usr/local/tomcat/bin/catalina.sh start ExecStop/usr/local/tomcat/bin/catalina.sh stop [Install] WantedBymulti-user.target启用服务systemctl daemon-reload systemctl enable tomcat4.2 监控与维护4.2.1 基础监控命令Tomcat线程状态ps -ef | grep java jstack pidMySQL性能监控SHOW STATUS LIKE Threads_connected; SHOW PROCESSLIST;4.2.2 日志轮转配置配置/etc/logrotate.d/tomcat/usr/local/tomcat/logs/catalina.out { daily rotate 30 missingok compress copytruncate }5. 安全加固进阶5.1 防火墙策略优化firewall-cmd --permanent --add-port8080/tcp firewall-cmd --permanent --add-port3306/tcp firewall-cmd --reload5.2 定期备份策略5.2.1 数据库自动备份#!/bin/bash mysqldump -u root -ppassword --all-databases | gzip /backup/mysql_$(date %Y%m%d).sql.gz find /backup -type f -name *.sql.gz -mtime 30 -delete5.2.2 应用备份tar -czf /backup/tomcat_$(date %Y%m%d).tar.gz /usr/local/tomcat/webapps /usr/local/tomcat/conf在实际部署过程中经常会遇到MySQL 8.0的SSL连接问题可以通过在连接字符串中添加allowPublicKeyRetrievaltrue参数解决。对于高并发场景建议调整Tomcat的线程池配置和MySQL的连接池参数这些优化往往能带来显著的性能提升。

更多文章