上传到服务器的问题
·
从你提供的日志来看,你的 NewBeeMall 项目已经启动成功了!🎉
以下是日志中几个关键信息的解读,以及你接下来需要做的操作:
📊 日志关键点解读
- 启动成功标志:
Started NewBeeMallApplication in 3.194 seconds- 这句话出现意味着 Spring Boot 容器已经完全初始化完毕,没有报错。
- 服务端口:
Tomcat started on port(s): 28089 (http)- 你的后端服务目前运行在 28089 端口上。
- 请求处理正常:
- 最后几行日志显示
Initializing Spring DispatcherServlet。这说明当你访问网站时,Spring MVC 的核心控制器已经开始工作并准备接收请求了。
- 最后几行日志显示
⚠️ 接下来的重要步骤(结合之前的上下文)
虽然本地启动成功了,但如果你是要部署到刚才那台阿里云服务器(47.97.59.142)上,请注意以下几点:
1. 检查数据库连接
目前的日志只显示应用启动了,但没有显示是否成功连接到了数据库。
- 如果你在浏览器访问页面时报错(比如 500 错误),或者日志后面出现了
Access denied for user...或Communications link failure,那就说明数据库没连上。 - 原因可能是: 代码里的
application.properties配置的数据库地址是localhost,但在服务器上运行时,如果 MySQL 跑在 Docker 里,你需要把数据库地址改为 Docker 的网桥 IP 或者宿主机的内网 IP(即截图中的172.23.193.55),而不是127.0.0.1。
2. 服务器防火墙/安全组放行
你的项目用的是 28089 端口,而不是默认的 80。
- 必须操作: 去阿里云控制台 -> 实例详情 -> 安全组 -> 配置规则。
- 添加入方向规则: 协议选 TCP,端口范围填
28089/28089,授权对象填0.0.0.0/0。 - 如果不加这一条,外网是无法通过
http://47.97.59.142:28089访问到你的网站的。
3. Nginx 反向代理(推荐)
之前我们配置了 Nginx 监听 80 端口。为了让你能通过域名或 IP 直接访问(不用输 :28089),你需要修改 Nginx 配置,把请求转发给这个 Java 程序。
在服务器的 /etc/nginx/conf.d/default.conf (或者你的配置文件) 中添加类似如下配置:
server {
listen 80;
server_name 47.97.59.142; # 或者你的域名
location / {
# 转发到你刚才启动的 Java 端口
proxy_pass http://127.0.0.1:28089;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
修改完后记得执行 docker restart nginx 重启 Nginx。
总结: 本地运行非常完美!现在只需要把代码打包(打成 JAR 包),上传到服务器,并在服务器上确保数据库连通和端口开放即可。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)