云服务器安装宝塔并部署 Nginx(前端 + 反向代理)
1.云服务器安装宝塔
# 安装基础依赖
sudo apt install -y wget curl sudo# 下载宝塔安装脚本
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh# 执行安装
sudo bash install.sh
2.云服务器配置(Docker 部署后端)
#进入 root 用户,并输入密码
su root
# 进入docker:cd /usr/local/docker/ (可用 ls 查看文件列表, ll )
# 创建文件:mkdir new_project_name
mkdir new_project_name
# 上传前端压缩文件,并上传后端jar包,确保数据库存在腾讯云地址:11.111.111:3306
前端:上传到
/usr/local/docker/nginx/html/(Nginx 默认静态文件目录)后端:上传
springboot-webhook-starter-7.10.0.jar(Java Spring Boot 应用)# 前端上传 cd /usr/local/docker/nginx/html/
# 上传指令 rz
# .rar解压指令
rar x progject_name.rar
# 创建Dockerfile:
基于 openjdk:17 镜像构建容器
复制 JAR 文件到容器内
运行 Spring Boot 应用(监听8085端口)
# 创建文件
nano Dockerfile
# 写入(该项目使用的是17,端口是8085)
# 使用 JDK 17 的官方镜像作为基础镜像
FROM openjdk:17-jdk-slim
# 设置工作目录
WORKDIR /app
# 将本地打包好的 Spring Boot jar 文件复制到容器中
COPY ./springboot-webhook-starter-7.10.0.jar /app/springboot-webhook-starter.jar
# 暴露应用的端口,假设 Spring Boot 使用默认的 8085 端口
EXPOSE 8085
# 启动 Spring Boot 应用
CMD ["java", "-jar", "springboot-webhook-starter.jar"]
# 保存退出指令
Ctrl+o/O 回车 Ctrl+x/X
# 创建容器脚本start.sh(自动化脚本)
nano start.sh
# 写入
#!/bin/bash
# 设置一些变量
IMAGE_NAME="springboot-webhook-starter"
IMAGE_TAG="7.10.0"
CONTAINER_NAME="bots-app"
JAR_FILE="springboot-webhook-starter-7.10.0.jar"
JAR_PATH="/usr/local/docker/dog-play/$JAR_FILE"
# 检查是否上传了 JAR 文件
if [ ! -f "$JAR_PATH" ]; then
echo "JAR 文件不存在,请确保已上传 JAR 文件到正确的目录。"
exit 1
fi
# 构建 Docker 镜像
echo "正在构建 Docker 镜像..."
docker build -t $IMAGE_NAME:$IMAGE_TAG .
# 检查 Docker 镜像是否成功构建
if [ $? -ne 0 ]; then
echo "Docker 镜像构建失败!"
exit 1
fi
# 检查容器是否已经存在
EXISTING_CONTAINER=$(docker ps -a -q -f name=$CONTAINER_NAME)
if [ ! -z "$EXISTING_CONTAINER" ]; then
echo "容器已存在,正在停止并删除现有容器..."
docker stop $CONTAINER_NAME
docker rm $CONTAINER_NAME
fi
# 启动新的 Docker 容器
echo "正在启动 Docker 容器..."
docker run -d -p 8085:8085 --name $CONTAINER_NAME $IMAGE_NAME:$IMAGE_TAG
# 检查容器是否成功启动
if [ $? -eq 0 ]; then
echo "容器启动成功,应用已在 http://localhost:8085 运行。"
else
echo "容器启动失败!"
exit 1
fi
# 让容器保持运行
echo "保持容器运行..."
docker exec -d $CONTAINER_NAME tail -f /dev/null
# 显示容器的日志
echo "查看容器日志..."
docker logs -f $CONTAINER_NAME
# Docker 镜像构建
# . 是指当前目录,告诉 Docker 使用当前目录下的 Dockerfile 和相关文件来构建镜像。 docker build -t springboot-webhook-starter:7.10.0 .
# 启动Docker容器
sh start.sh
# 查看运行状态 docker ps -a
3.云服务器通过宝塔部署Nginx( 宝塔部署 Nginx(前端 + 反向代理))
server
{
listen 80;
listen 443 ssl http2 ; # 启用 HTTPS
server_name 11.11.cn; #你的域名
index index.html index.htm default.htm default.html;
root /www/wwwroot/default/dogplay_react/dist; # 前端打包后的目录
#CERT-APPLY-CHECK--START
# 用于SSL证书申请时的文件验证相关配置 -- 请勿删除并保持这段设置在优先级高的位置 include /www/server/panel/vhost/nginx/well-known/11.11.cn.conf;
#CERT-APPLY-CHECK--END
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
ssl_certificate /www/server/panel/vhost/cert/11.11.cn/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/11.11.cn/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20; # 这个不完整,请自行甄别
ssl_prefer_server_ciphers on;
ssl_session_tickets on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m; add_header Strict-Transport-Security "max-age=31536000";
error_page 497 https://$host$request_uri;
#SSL-END
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
#error_page 404 /404.html;
#error_page 502 /502.html;
#ERROR-PAGE-END
#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
include /www/server/panel/vhost/rewrite/html_11.11.cn.conf;
#REWRITE-END
#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
#一键申请SSL证书验证目录相关设置
location ~ \.well-known
{
allow all;
}
#禁止在证书验证目录放入敏感文件
if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
return 403;
}
location ~ .*\\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log /dev/null;
}
location ~ .*\\.(js|css)?$
{
expires 12h;
error_log /dev/null;
access_log /dev/null;
}
location /
{
try_files $uri /index.html;
}
# 处理 API 请求的代理
location /api
{
proxy_pass http://11.111.111:3306:8080; # 后端 API 地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
access_log /www/wwwlogs/11.11.cn.log; error_log /www/wwwlogs/11.11.cn.error.log; }
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)