阿里云服务器部署教程 1 放开springboot的访问端口比如8080检查防火墙状态sudofirewall-cmd --state如果防火墙运行,检查 8080 端口是否开放sudofirewall-cmd --list-ports···
阿里云服务器部署教程
1 放开springboot的访问端口比如8080
检查防火墙状态sudofirewall-cmd --state如果防火墙运行,检查 8080 端口是否开放sudofirewall-cmd --list-ports | grep 8080如果没有开放,添加端口sudofirewall-cmd --permanent --add-port=8080/tcpsudofirewall-cmd --reload如果是云服务器(阿里云、腾讯云等),还需要检查安全组规则:
快速测试当前状况
测试1:从服务器本机访问curl http://localhost:8080curl http://127.0.0.1:8080curl http://0.0.0.0:8080测试2:从服务器内网IP访问(如果有)curl http://内网IP:8080测试3:从其他服务器访问(如果有多台)curl http://139.155.84.244:80802.将上传到centos的jar文件部署为system服务
在 CentOS 上部署 SpringBoot JAR 文件,以下是完整的部署步骤:
1. 准备工作
上传 JAR 文件到服务器
```bash创建应用目录sudomkdir -p /opt/myappcd/opt/myapp上传你的 JAR 文件到这个目录例如:myapp-1.0.0.jar```
2. 安装 Java(如果尚未安装)
```bash检查是否已安装 Javajava -version如果未安装,安装 OpenJDKsudo yuminstalljava-1.8.0-openjdk -y或者安装 OpenJDK 11sudo yuminstalljava-11-openjdk -y```3. 创建启动脚本
创建应用管理脚本
```bash sudo vim /opt/myapp/start.sh ``````bash!/bin/bashAPP_NAME="myapp"JAR_NAME="myapp-1.0.0.jar"APP_HOME="/opt/myapp"LOG_FILE="$APP_HOME/app.log"cd$APP_HOME停止之前运行的进程pkill -f$JAR_NAME启动应用nohup java -jar$JAR_NAME--spring.profiles.active=prod >$LOG_FILE2>&1 &echo"Application$APP_NAMEstarted"```创建停止脚本
```bash sudo vim /opt/myapp/stop.sh ``````bash!/bin/bashAPP_NAME="myapp"JAR_NAME="myapp-1.0.0.jar"pkill -f$JAR_NAMEecho"Application$APP_NAMEstopped"```设置脚本权限
```bash sudo chmod +x /opt/myapp/start.sh sudo chmod +x /opt/myapp/stop.sh ```4. 使用 systemd 管理(推荐)
创建 systemd 服务文件
```bash sudo vim /etc/systemd/system/myapp.service `````` [Unit] Description=My SpringBoot Application After=network.target [Service] Type=simple User=root WorkingDirectory=/opt/myapp ExecStart=/usr/bin/java -jar myapp-1.0.0.jar --spring.profiles.active=prod ExecStop=/bin/kill -15 $MAINPID Restart=on-failure RestartSec=10 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target ```启用和管理服务
```bash重新加载 systemdsudosystemctl daemon-reload启用开机自启sudosystemctl enable myapp启动应用sudosystemctl start myapp查看状态sudosystemctl status myapp查看日志sudojournalctl -u myapp -f```5. 配置 Nginx 反向代理(可选)
美国云服务器好吗
安装 Nginx```bashsudoyum install nginx -y```配置 Nginx```bashsudovim /etc/nginx/conf.d/myapp.conf``````nginxserver{listen80;server_nameyour-domain.com; 替换为你的域名或服务器IP静态文件缓存location/static/ {alias/opt/myapp/static/;expires30d;}API 请求转发到 SpringBootlocation/ {proxy_passhttp://localhost:8080;proxy_set_headerHost $host;proxy_set_headerX-Real-IP $remote_addr;proxy_set_headerX-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_headerX-Forwarded-Proto $scheme;超时设置proxy_connect_timeout30s;proxy_send_timeout30s;proxy_read_timeout30s;}}```启动 Nginx```bash测试配置sudonginx -t启动 Nginxsudosystemctl start nginxsudosystemctl enable nginx重启 Nginxsudosystemctl restart nginx```6. 防火墙配置
```bash开放 80 端口(HTTP)sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https如果直接访问 SpringBoot,开放 8080 端口sudofirewall-cmd --permanent--add-port=8080/tcp重载防火墙sudo firewall-cmd --reload ```7. 应用目录结构
最终的目录结构应该是:
``` /opt/myapp/ ├── myapp-1.0.0.jar ├── start.sh ├── stop.sh ├── application-prod.properties (可选) └── logs/ (如果应用生成日志文件)```
8. 部署验证
检查应用是否运行
```bash检查进程psaux | grep java检查端口netstat-tlnp | grep 8080测试应用curlhttp://localhost:8080/healthcurlhttp://your-server-ip/```查看应用日志
```bash如果使用 systemdsudojournalctl -u myapp -f如果使用 nohuptail-f /opt/myapp/app.log```9. 常用管理命令
```bash启动应用sudosystemctl start myapp停止应用sudosystemctl stop myapp重启应用sudosystemctl restart myapp查看状态sudosystemctl status myapp查看日志sudojournalctl -u myapp -n 50 -f```10. 备份和更新
更新应用时
```bash停止应用sudosystemctl stop myapp备份旧版本
阿里云服务器声音
cp/opt/myapp/myapp-1.0.0.jar /opt/myapp/backup/myapp-1.0.0.jar.backup上传新版本 JAR 文件
启动应用
sudosystemctl start myapp```
这样就完成了 SpringBoot JAR 文件在 CentOS 上的完整部署。推荐使用 **systemd** 方式管理,更加稳定和方便。
云计算机服务器
您好:云优数据云计算 www.yunyoushuju.cn 2核2G6M最低19.9元/月 欢迎开机

发表评论
最近发表
标签列表