内容目录

还原数据库

使用文件夹db中对应的sql还原

调整appsettings.json

file

修改sln名称

用于区分不同项目

修改api项目名称

用于区分镜像仓库
file

修改端口 [当前5]

launchSettings.json

file

Program.cs
file

dev_run.bat
file

Dockerfile

调整 第三行 端口

FROM registry.cn-shanghai.aliyuncs.com/wivstn/dotnet-base:6.0 AS base
WORKDIR /app
EXPOSE 9102

调整项目名称
file

调整前端

调整启动端口 和自动打开浏览器
file

调整后端接口地址
file

解压并安装

api 文件夹 运行 VolPro.WebApi 下的 builder_run.bat
web.vite 文件夹 运行 install.bat 然后 build.bat

发布

file

file
file

粘贴镜像仓库地址,具体的仓库名称推送后会自动出现
例如:填写 registry.cn-shanghai.aliyuncs.com/chenglai
得到
registry.cn-shanghai.aliyuncs.com/chenglai/dkpwebapi

项目有可能不识别自带的 dockerfile , 可以右键 添加 docker 支持 , 重新打开项目

添加域名解析,前端后端2个

file

准备后端发布脚本(每一行都要调整)

docker pull registry.cn-shanghai.aliyuncs.com/chenglai/XXXXX:latest
docker stop XXXXX
docker rm XXXXX
sudo docker run -d -p 19100:910XXXXXX --restart always -v  volupload:/app/Upload -v  volwwwupload:/app/wwwroot/Upload -v /etc/localtime:/etc/localtime:ro -e  TZ=Asia/Shanghai --name XXXXX registry.cn-shanghai.aliyuncs.com/chenglai/XXXXX:latest

发布前端

linux上新增如下地址
file

web.vite运行build
把dist文件夹下内容复制过去

配置nginx

调整所有的 名称和地址为对应项目

server {
    listen 80;
    server_name dkp.chenglai.net;

    location ~ /.well-known/acme-challenge/ {
        allow all;
        root /usr/share/nginx/html;  # 确保这是 Certbot 配置的 webroot 路径
        try_files $uri =404;  # 直接尝试返回请求的文件,如果不存在则返回404
    }

    # Redirect all HTTP requests to HTTPS
    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name dkp.chenglai.net;

    ssl_certificate /etc/letsencrypt/live/dkp.chenglai.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/dkp.chenglai.net/privkey.pem;

    # SSL configurations
    ssl_session_cache shared:le_nginx_SSL:10m;
    ssl_session_timeout 10m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;

    root /var/www/dkp;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

server {
    listen 80;
    server_name dkpapi.chenglai.net;

    location ~ /.well-known/acme-challenge/ {
        allow all;
        root /usr/share/nginx/html;  # 确保这是 Certbot 配置的 webroot 路径
        try_files $uri =404;  # 直接尝试返回请求的文件,如果不存在则返回404
    }

    # Redirect all HTTP requests to HTTPS
    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name dkpapi.chenglai.net;

    ssl_certificate /etc/letsencrypt/live/dkp.chenglai.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/dkp.chenglai.net/privkey.pem;

    # SSL configurations
    ssl_session_cache shared:le_nginx_SSL:10m;
    ssl_session_timeout 10m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;

    location / {
        proxy_pass http://localhost:19100;
        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;
    }
}

https证书

更多请查看 https://blog.chenglai.net/archives/73

sudo certbot certonly \
    --webroot --webroot-path=/usr/share/nginx/html \
    --agree-tos --email 527993075@qq.com \
    -d dkp.chenglai.net -d dkpapi.chenglai.net\
    --cert-name dkp.chenglai.net \
    --key-type ecdsa

复制 .gitignore .gitattributes

时区调整

sudo docker run -d -p 19100:9101 --restart always --network erp_network -v volupload:/app/Upload -v volwwwupload:/app/wwwroot/Upload -v /etc/localtime:/etc/localtime:ro -e  TZ=Asia/Shanghai --name erp_api registry.cn-shanghai.aliyuncs.com/chenglai/volprowebapi:latest
最后修改日期: 2025 年 2 月 28 日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。