很多人第一次买云服务器,不是为了跑个静态页面,而是想把亲手写的项目真真正正跑起来——比如一个带用户注册、登录、发帖、点赞的Java小论坛。它不复杂,但刚好卡在“能跑通”和“总差一口气”的临界点上。你本地开发环境一切正常,一上传到云服务器就报错:连不上数据库、页面打不开、8080端口访问超时……别急,这不是你代码的问题,而是部署链路上几个关键环节没对齐。
下面这篇内容,就从你刚下单完腾讯云服务器那一刻开始,一步步带你把一个Spring Boot + MySQL + Vue前端(或纯Thymeleaf后端渲染)的论坛项目,完整部署上线。不跳步、不省略、不假设你懂Linux,所有命令和路径都基于真实操作场景还原。
先选对服务器,不是越贵越好,而是刚好够用
部署这种带用户体系的Java论坛项目,核心要稳、网络要通、系统要干净。新手最容易踩的坑,就是买完就急着传包——结果发现系统盘才40GB,装完JDK、MySQL、Tomcat再解压你的jar包,直接告警;或者选了Ubuntu却习惯用CentOS命令,卡在yum和apt之间反复横跳。
根据实际部署经验,这类项目建议直接选腾讯云轻量应用服务器,不是因为便宜,而是它自带优化过的Linux环境(比如CentOS 7.9或Debian 12),预装了基础工具链,SSH密钥、防火墙规则、系统盘扩容都更顺手。更重要的是,它把公网带宽、系统盘、CPU内存打包成固定套餐,不用再纠结“5M带宽够不够”“系统盘要不要单独挂数据盘”这种决策疲劳问题。
配置上,选2核4G内存 + 80GB系统盘 + 5M峰值带宽就完全够用。2核保障Spring Boot启动和MySQL并发查询不卡顿;4G内存留足JVM堆空间(-Xms1g -Xmx2g)和MySQL缓存;80GB系统盘装完JDK、MySQL、项目jar、日志文件还有富余;5M带宽足够支撑几十人同时访问登录页和首页帖子列表。
操作系统选CentOS 7.9(64位),不是因为它多先进,而是因为网上90%的Java部署教程、报错排查方案、甚至你Ctrl+C/Ctrl+V的命令,都是基于这个版本写的。少一个版本差异,就少三小时debug时间。
登录服务器后,这四件事必须按顺序做
拿到服务器公网IP和root密码后,用SSH工具(比如Windows自带的PowerShell或Mac终端)执行:
- 轻量2核2G4M 服务器99元/年(约8.25元/月)
了解详情 →
服务器4M带宽,访问速度更快,适合流量稍大的网站
- 轻量2核4G5M 服务器188元/年(约15.67元/月)
了解详情 →
服务器5M带宽 + 4G内存,性能均衡,适合中型应用
- 轻量2核4G6M 服务器199元/年(约16.58元/月)
了解详情 →
服务器6M带宽 + 4G内存,高性价比选择
立即查看详细配置和优惠,为您的项目选择最佳服务器
- 连接服务器:
ssh root@你的公网IP(首次连接会提示保存密钥,选“是”) - 更新系统基础包:
yum update -y(确保系统组件最新,避免后续装JDK报glibc版本冲突) - 关闭SELinux(否则Tomcat可能被拦截):
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0 - 开放必要端口:
firewall-cmd --permanent --add-port=8080/tcp && firewall-cmd --permanent --add-port=3306/tcp && firewall-cmd --reload(8080是项目端口,3306是MySQL端口)
这四步做完,你的服务器才算真正“准备好接项目”。跳过任意一步,后面都可能在日志里看到“Connection refused”或“Permission denied”这种让人抓狂的提示。
JDK、MySQL、项目jar,安装顺序不能乱
Java项目依赖链很清晰:先有JDK,才能跑jar;先有MySQL,jar启动时才能连库。很多新手把jar上传了,一运行报“java: command not found”,才发现JDK根本没装。
我们用最稳妥的手动安装方式(不依赖镜像,便于排查):
- JDK 11安装:从Oracle官网下载
jdk-11.0.22_linux-x64_bin.tar.gz,上传到服务器/opt目录,执行:tar -zxvf jdk-11.0.22_linux-x64_bin.tar.gz -C /opt && echo 'export JAVA_HOME=/opt/jdk-11.0.22' >> /etc/profile && echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile && source /etc/profile - MySQL 8.0安装:用腾讯云镜像源加速:
yum install https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm -y && yum install mysql-community-server -y && systemctl start mysqld && systemctl enable mysqld
首次启动后,用grep 'temporary password' /var/log/mysqld.log查初始密码,然后登录改密、建库:mysql -uroot -p→ 输入临时密码 → 执行:ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPass123!'; CREATE DATABASE forum_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - 上传并运行项目jar:把你本地Maven打包好的
forum-springboot-1.0.jar用scp或FTP上传到服务器/home/app目录,然后创建启动脚本start.sh:nohup java -Xms1g -Xmx2g -Dfile.encoding=UTF-8 -jar /home/app/forum-springboot-1.0.jar --spring.profiles.active=prod > /home/app/logs/app.log 2>&1 &
赋予执行权限:chmod +x start.sh,运行:./start.sh
数据库脚本、yml配置、日志路径,三个地方最容易出错
你jar包能启动,不代表项目能用。绝大多数“登录页空白”“注册失败无提示”的问题,都出在这三个配置文件上:
- GPU推理型 32核64G服务器691元/月
了解详情 →
1.5折32核超高性价比!
- GPU计算型 8核32G 服务器502元/月
了解详情 →
适用于深度学习的推理场景和小规模训练场景
- HAI-GPU基础型 服务器26.21元/7天
了解详情 →
搭载NVIDIA T4级GPU,16G显存
- HAI-GPU进阶型 服务器49元/7天
了解详情 →
搭载NVIDIA V100级GPU,32G显存
立即查看详细配置和优惠,为您的项目选择最佳服务器
| 文件位置 | 常见错误 | 正确做法 |
|---|---|---|
application-prod.yml |
数据库地址写localhost;密码写错;驱动类名用com.mysql.jdbc.Driver(MySQL 8+必须用com.mysql.cj.jdbc.Driver) |
地址写127.0.0.1;密码核对MySQL中设置的;驱动类名确认为com.mysql.cj.jdbc.Driver;加上?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true&useSSL=false |
schema.sql(建表脚本) |
用本地MySQL 5.7脚本,直接在云服务器MySQL 8.0执行报错(比如datetime默认值不能为0000-00-00 00:00:00) |
把脚本中所有datetime DEFAULT '0000-00-00 00:00:00'换成datetime NULL,或改用timestamp DEFAULT CURRENT_TIMESTAMP |
logback-spring.xml |
日志路径写D:/logs/app.log(Windows路径);或/logs/app.log(根目录权限不足) |
路径必须写绝对路径,且确保目录存在:/home/app/logs/,执行mkdir -p /home/app/logs |
访问不了?别急着重装,先查这三行日志
浏览器打不开http://你的公网IP:8080,不是服务器坏了,大概率是服务没真跑起来。别关终端,执行:
- 轻量2核2G3M 服务器68元/年(约5.67元/月)
了解详情 →
服务器适合个人项目、学习测试、小流量网站
- 轻量4核4G3M 服务器79元/年(约6.58元/月)
了解详情 →
服务器适合中型网站、企业官网、开发环境
- 轻量4核8G10M 服务器630元/年(约52.5元/月)
了解详情 →
服务器适合高并发应用、数据库服务器、电商平台
点击了解更多优惠信息
- 看Java进程是否在跑:
ps -ef | grep java→ 应该能看到你的jar包路径和JVM参数 - 看8080端口是否被监听:
netstat -tuln | grep 8080→ 应该显示LISTEN - 看最后10行启动日志:
tail -10 /home/app/logs/app.log→ 如果看到Started Application in X seconds,说明启动成功;如果卡在Connecting to database...,就是数据库配置或网络问题
假设性示例:某次部署中,tail -10 app.log显示Access denied for user 'root'@'localhost',但MySQL里明明改了密码。后来发现,是application-prod.yml里写成了root@127.0.0.1,而MySQL用户是root@localhost,两者不等价。删掉MySQL里root@127.0.0.1用户,或在yml里统一用localhost,问题就解了。
小贴士:云产品续费较贵,建议一次性购买3年或5年,性价比更高。
点击了解更多优惠信息
如果你也正站在部署这一步,想用一台开箱即用、配置清晰、文档对得上号的云服务器把Java论坛跑起来,可以看看腾讯云轻量应用服务器的当前配置选项:腾讯云服务器优惠链接。它把系统环境、基础软件、网络策略都做了预适配,省下的不是几百块钱,而是你反复重装系统、查报错、问群友的那几个晚上。
| 厂商 | 配置 | 带宽 / 流量 | 价格 | 购买地址 |
|---|---|---|---|---|
| 腾讯云 | 4核4G | 3M | 79元/年 | 点击查看 |
| 腾讯云 | 2核4G | 5M | 188元/年 | 点击查看 |
| 腾讯云 | 4核8G | 10M | 630元/年 | 点击查看 |
| 腾讯云 | 4核16G | 12M | 1024元/年 | 点击查看 |
| 腾讯云 | 2核4G | 6M | 528元/3年 | 点击查看 |
| 腾讯云 | 2核2G | 5M | 396元/3年(≈176元/年) | 点击查看 |
| 腾讯云GPU服务器 | 32核64G | AI模型应用部署搭建 | 691元/月 | 点击查看 |
| 腾讯云GPU服务器 | 8核32G | AI模型应用部署搭建 | 502元/月 | 点击查看 |
| 腾讯云GPU服务器 | 10核40G | AI模型应用部署搭建 | 1152元/月 | 点击查看 |
| 腾讯云GPU服务器 | 28核116G | AI模型应用部署搭建 | 1028元/月 | 点击查看 |
所有价格仅供参考,请以官方活动页实时价格为准。