当前位置: 首页 > wzjs >正文

ssm做网站关键词优化的技巧

ssm做网站,关键词优化的技巧,河南省建设厅资质公示,青海西宁做网站多少钱ASP.NET Core部署Docker教程 一、创建解决方案和项目1. 创建解决方案目录结构2. 创建核心类库项目3. 创建主WebAPI项目4. 添加项目到解决方案5. 添加项目引用 二、配置端口和示例代码1. 修改 Program.cs2. 在核心库中添加示例类3. 在主项目中使用核心库 三、配置 Docker 环境1.…

ASP.NET Core部署Docker教程

      • 一、创建解决方案和项目
        • 1. 创建解决方案目录结构
        • 2. 创建核心类库项目
        • 3. 创建主WebAPI项目
        • 4. 添加项目到解决方案
        • 5. 添加项目引用
      • 二、配置端口和示例代码
        • 1. 修改 `Program.cs`
        • 2. 在核心库中添加示例类
        • 3. 在主项目中使用核心库
      • 三、配置 Docker 环境
        • 1. 创建 `.dockerignore`
        • 2. 编写 `Dockerfile`
      • 四、构建和运行
        • 1. 构建 Docker 镜像
        • 2. 运行容器
        • 3. 验证部署
      • 五、关键配置说明
      • 六、常见问题解决
      • 七、生产环境建议

以下是从零开始创建 BigDogServer 项目并部署到 Docker 的完整指南:


一、创建解决方案和项目

1. 创建解决方案目录结构
mkdir BigDogSolution
cd BigDogSolution
dotnet new sln -n BigDogServer
2. 创建核心类库项目
# 创建类库目录
mkdir -p src/BigDogServer.Core
cd src/BigDogServer.Core
dotnet new classlib -f net8.0 -n BigDogServer.Core
3. 创建主WebAPI项目
# 返回解决方案根目录
cd ../..
mkdir -p src/BigDogServer
cd src/BigDogServer
dotnet new webapi -f net8.0 -n BigDogServer
4. 添加项目到解决方案
cd ../..
dotnet sln add src/BigDogServer.Core/BigDogServer.Core.csproj
dotnet sln add src/BigDogServer/BigDogServer.csproj
5. 添加项目引用
cd src/BigDogServer
dotnet add reference ../BigDogServer.Core/BigDogServer.Core.csproj

二、配置端口和示例代码

1. 修改 Program.cs
var builder = WebApplication.CreateBuilder(args);// 添加服务配置
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();var app = builder.Build();// 配置中间件
if (app.Environment.IsDevelopment())
{app.UseSwagger();app.UseSwaggerUI();
}app.UseAuthorization();
app.MapControllers();// 动态端口配置(优先使用环境变量)
var port = Environment.GetEnvironmentVariable("ASPNETCORE_PORT") ?? "7789";
app.Run($"http://0.0.0.0:{port}");
2. 在核心库中添加示例类
// src/BigDogServer.Core/ExampleService.cs
namespace BigDogServer.Core;public class ExampleService
{public string GetWelcomeMessage() => "Welcome from Core Library!";
}
3. 在主项目中使用核心库
// 在 Program.cs 的 builder.Build() 前添加:
builder.Services.AddScoped<ExampleService>();// 添加测试控制器
// src/BigDogServer/Controllers/CoreTestController.cs
using BigDogServer.Core;
using Microsoft.AspNetCore.Mvc;namespace BigDogServer.Controllers;[ApiController]
[Route("[controller]")]
public class CoreTestController : ControllerBase
{private readonly ExampleService _service;public CoreTestController(ExampleService service){_service = service;}[HttpGet]public IActionResult Get(){return Ok(_service.GetWelcomeMessage());}
}

三、配置 Docker 环境

1. 创建 .dockerignore
**/.git
**/.vs
**/bin
**/obj
**/node_modules
Dockerfile
*.md
*.dockerignore
2. 编写 Dockerfile
# 第一阶段:构建
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build# 设置工作目录
WORKDIR /src# 复制解决方案和项目文件
COPY *.sln .
COPY src/BigDogServer/*.csproj ./src/BigDogServer/
COPY src/BigDogServer.Core/*.csproj ./src/BigDogServer.Core/# 恢复依赖(利用缓存)
RUN dotnet restore "BigDogServer.sln"# 复制所有源代码
COPY . .# 构建发布版本
RUN dotnet publish "src/BigDogServer/BigDogServer.csproj" \-c Release \-o /app/publish \--no-restore# 第二阶段:运行时
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app# 设置时区(中国时区)
RUN apt-get update && \apt-get install -y tzdata && \ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# 复制构建结果
COPY --from=build /app/publish .# 配置安全上下文
RUN adduser --disabled-password --gecos '' appuser && \chown -R appuser:appuser /app
USER appuser# 环境变量配置
ENV ASPNETCORE_ENVIRONMENT=Production
ENV ASPNETCORE_URLS=http://0.0.0.0:7789# 暴露端口
EXPOSE 7790# 启动命令
ENTRYPOINT ["dotnet", "BigDogServer.dll"]

四、构建和运行

1. 构建 Docker 镜像
docker build -t bigdogserver:1.0 .
2. 运行容器
docker run -d \-p 7790:7789 \--name bigdog-app \-e ASPNETCORE_ENVIRONMENT=Development \bigdogserver:1.0
3. 验证部署
# 查看容器日志
docker logs bigdog-app# 测试核心库接口
curl http://localhost:7790/coretest
# 应返回:"Welcome from Core Library!"# 检查健康状态
docker inspect --format='{{json .State.Health}}' bigdog-app

五、关键配置说明

配置项作用说明关联文件
多阶段构建分离构建环境与运行时环境,减小镜像体积Dockerfile
分层复制策略优先复制.csproj文件,优化Docker缓存利用率Dockerfile
动态端口配置支持通过环境变量覆盖默认端口Program.cs
非root用户运行提升容器安全性Dockerfile
时区配置保证容器内时间准确Dockerfile
环境变量分离区分开发与生产环境配置docker run命令

六、常见问题解决

  1. 依赖恢复失败

    # 清理缓存重新构建
    docker build --no-cache -t bigdogserver:1.0 .
    
  2. 端口冲突错误

    # 停止占用进程
    sudo lsof -i :7790
    # 或更换主机端口
    docker run -d -p 7791:7789 ...
    
  3. 文件权限问题

    # 临时进入容器排查
    docker exec -it bigdog-app bash
    ls -l /app
    
  4. 未更新代码变更

    # 重新构建并替换容器
    docker build -t bigdogserver:1.0 .
    docker stop bigdog-app && docker rm bigdog-app
    docker run ... # 使用新参数重新运行
    

七、生产环境建议

  1. 添加健康检查(在Dockerfile末尾添加):

    HEALTHCHECK --interval=30s --timeout=3s \CMD curl -f http://localhost:7789/health || exit 1
    
  2. 配置内存限制

    docker run -d \--memory=512m \--cpus=1.5 \...
    
  3. 启用HTTPS

    # 在运行时镜像中添加
    EXPOSE 443
    ENV ASPNETCORE_URLS=https://+:443;http://+:80
    
  4. 日志收集

    docker run -d \--log-driver=syslog \--log-opt syslog-address=udp://logserver:514 \...
    
http://www.dtcms.com/wzjs/133767.html

相关文章:

  • 室内设计做效果图可以接单的网站浙江疫情最新情况
  • 用php做网站要用构架吗域名注册查询软件
  • 襄阳网站seo公司大连seo
  • 怎样在微信中做网站企业查询软件
  • 徐州建站公司google网站增加关键词
  • 做网站学好哪些软件深圳网络营销推广服务
  • 北京网站推广排名网站优化培训班
  • 电商支付网站建设费进什么科目信息流广告怎么投放
  • 网站建设详细讲解 狐灵抖音代运营收费详细价格
  • 望牛墩做网站网盟推广平台
  • 企业做网站认证有哪些好处推广品牌
  • 织梦框架做网站简单线上推广平台有哪些
  • 广东网络品牌建站公司搜索引擎链接
  • 网站备案要收费吗深圳货拉拉
  • 免费学习的网站平台网络舆情处理公司
  • 专门做护理PDCA的网站网站推广app
  • 网站搭建平台选哪个手机网站优化排名
  • 上海建站中心运营推广是做什么的
  • 网站js 做日历如何在百度发布文章
  • 自建网站赚钱宁波seo外包引流推广
  • 那些小网站是哪里人做的seo优化轻松seo优化排名
  • 企业网站怎么做产品图片轮播百度贴吧网页版入口
  • 凡科免费个人做网站有弊吗市场调研公司
  • 广州网站制作选哪家百度推广客服电话
  • 设计网站页面特效怎么做著名的个人网站
  • 高端网站建设一般多少钱自助建站官网
  • 安徽网站优化哪里有不用流量的地图导航软件
  • asp.net做网站头部和尾部_都用什么来实现网络舆情的网站
  • 黑蜘蛛网站手游代理加盟哪个平台最强大
  • 网站建设的公司企业管理咨询