手把手教你用CentOS 8 + Tomcat 8 + MySQL 8在腾讯云上部署JavaWeb项目(含开机自启配置)

张开发
2026/4/21 11:56:32 15 分钟阅读

分享文章

手把手教你用CentOS 8 + Tomcat 8 + MySQL 8在腾讯云上部署JavaWeb项目(含开机自启配置)
腾讯云CentOS 8环境下JavaWeb项目全栈部署实战指南在云计算时代将JavaWeb项目部署到云端服务器已成为开发者的必备技能。腾讯云轻量应用服务器以其高性价比和易用性成为众多开发者的首选。本文将聚焦CentOS 8.0操作系统结合Tomcat 8和MySQL 8这一经典组合带你从零开始完成项目部署全流程特别针对版本兼容性和服务持久化等关键环节提供深度解决方案。1. 环境准备与基础配置部署JavaWeb项目前确保服务器环境配置正确是成功的第一步。腾讯云轻量应用服务器提供了CentOS 8.0镜像开箱即用省去了系统安装的麻烦。首先登录腾讯云控制台在轻量应用服务器管理页面选择CentOS 8.0镜像。系统初始化后建议立即执行以下基础配置# 更新系统软件包 dnf update -y # 安装常用工具 dnf install -y vim wget curl net-tools对于国内服务器配置更快的软件源可以显著提升安装速度# 备份原有repo文件 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup # 下载腾讯云镜像源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos8_base.repo # 清理并重建缓存 dnf clean all dnf makecache提示腾讯云轻量应用服务器默认已配置内网镜像源但部分特殊情况下可能需要手动调整。2. JDK与Tomcat 8安装配置Java环境是运行Web项目的基础我们选择OpenJDK 1.8作为运行时环境# 搜索可用JDK版本 dnf search jdk # 安装OpenJDK 1.8 dnf install -y java-1.8.0-openjdk-devel # 验证安装 java -versionTomcat 8的安装需要手动下载并配置以下是详细步骤下载Tomcat 8二进制包wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.82/bin/apache-tomcat-8.5.82.tar.gz解压并安装到标准目录tar -zxvf apache-tomcat-8.5.82.tar.gz -C /usr/local/ mv /usr/local/apache-tomcat-8.5.82 /usr/local/tomcat配置环境变量echo export CATALINA_HOME/usr/local/tomcat /etc/profile echo export PATH$PATH:$CATALINA_HOME/bin /etc/profile source /etc/profile启动Tomcat测试startup.shTomcat服务管理常用命令命令功能描述startup.sh启动Tomcat服务shutdown.sh停止Tomcat服务catalina.sh run前台运行模式catalina.sh stop强制停止服务3. MySQL 8安装与优化MySQL 8作为当前主流数据库版本其安装配置需要特别注意与JavaWeb项目的兼容性。腾讯云CentOS 8默认仓库中的MySQL版本可能较旧建议使用官方仓库# 添加MySQL官方仓库 rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el8-4.noarch.rpm # 安装MySQL服务器 dnf install -y mysql-community-server # 启动服务并设置开机自启 systemctl enable --now mysqldMySQL 8安装完成后安全配置是关键步骤# 获取临时密码 grep temporary password /var/log/mysqld.log # 运行安全配置向导 mysql_secure_installation针对JavaWeb项目的数据库连接需要特别注意以下几点配置修改密码策略开发环境适用SET GLOBAL validate_password.policyLOW;创建专用数据库用户CREATE USER webuser% IDENTIFIED BY StrongPassword123!; GRANT ALL PRIVILEGES ON webdb.* TO webuser%; FLUSH PRIVILEGES;调整连接参数在/etc/my.cnf中添加[mysqld] default_authentication_pluginmysql_native_password character-set-serverutf8mb4 collation-serverutf8mb4_unicode_ci4. 项目部署与自动化配置将本地开发的JavaWeb项目部署到服务器需要经过编译打包、上传、配置等多个环节。以下是详细操作流程本地项目导出为WAR包Eclipse/IDEA右键项目 → Export → WAR fileMaven项目执行mvn clean package命令使用SCP命令上传WAR包到服务器scp your-project.war rootyour-server-ip:/usr/local/tomcat/webapps/服务器端自动解压部署# 设置Tomcat自动解压权限 chown -R tomcat:tomcat /usr/local/tomcat/webapps/对于需要频繁更新的项目可以配置自动化部署脚本deploy.sh#!/bin/bash # 停止Tomcat /usr/local/tomcat/bin/shutdown.sh # 备份旧版本 mv /usr/local/tomcat/webapps/your-project.war /backup/your-project_$(date %Y%m%d).war # 部署新版本 cp /tmp/your-project.war /usr/local/tomcat/webapps/ # 启动Tomcat /usr/local/tomcat/bin/startup.sh5. 服务持久化与系统优化确保Tomcat和MySQL服务在服务器重启后自动启动是生产环境部署的基本要求。Tomcat服务化配置创建systemd服务文件/etc/systemd/system/tomcat.service[Unit] DescriptionApache Tomcat 8 Aftersyslog.target network.target [Service] Typeforking EnvironmentCATALINA_PID/usr/local/tomcat/temp/tomcat.pid EnvironmentCATALINA_HOME/usr/local/tomcat EnvironmentCATALINA_BASE/usr/local/tomcat ExecStart/usr/local/tomcat/bin/startup.sh ExecStop/usr/local/tomcat/bin/shutdown.sh Usertomcat Grouptomcat Restarton-failure [Install] WantedBymulti-user.target创建专用用户并设置权限useradd -r -s /bin/nologin tomcat chown -R tomcat:tomcat /usr/local/tomcat启用服务systemctl daemon-reload systemctl enable --now tomcatMySQL 8性能优化建议在/etc/my.cnf中添加以下优化参数[mysqld] innodb_buffer_pool_size1G innodb_log_file_size256M innodb_flush_log_at_trx_commit2 innodb_flush_methodO_DIRECT skip_name_resolveON max_connections2006. 安全加固与故障排查部署完成后安全加固是不可忽视的环节。以下关键安全措施建议实施防火墙配置Firewalld# 开放必要端口 firewall-cmd --permanent --add-port8080/tcp firewall-cmd --permanent --add-port3306/tcp firewall-cmd --reloadTomcat安全配置删除默认ROOT应用修改manager应用密码禁用不必要协议MySQL远程访问限制-- 限制特定IP访问 RENAME USER webuser% TO webuser192.168.1.%;常见问题排查命令# 查看Tomcat日志 tail -f /usr/local/tomcat/logs/catalina.out # 检查MySQL错误日志 journalctl -u mysqld --no-pager -n 50 # 查看服务状态 systemctl status tomcat systemctl status mysqld # 端口监听检查 netstat -tulnp | grep -E 8080|3306在实际项目中遇到数据库连接问题时检查JDBC连接字符串格式尤为重要。MySQL 8需要添加时区参数jdbc.urljdbc:mysql://your-server-ip:3306/yourdb?useSSLfalseserverTimezoneAsia/Shanghai

更多文章