从你提供的日志来看,你的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 包),上传到服务器,并在服务器上确保数据库连通和端口开放即可。