liunx系统发布.net core项目

liunx系统发布.net core项目

    • 准备.net6程序运行环境
    • [部署nginx,通过一个地址既能访问web api,又能访问web项目](#部署nginx,通过一个地址既能访问web api,又能访问web项目)
    • [有一个客户把web api放到docker中,想通过nginx转发,nginx也支持配置多个程序api接口的](#有一个客户把web api放到docker中,想通过nginx转发,nginx也支持配置多个程序api接口的)
    • 其它

liunx系统:centos-7u6-x86_64

项目框架:.net6

没有wget命令,先安装wget

bash 复制代码
yum install -y wget

准备.net6程序运行环境

  • 添加 Microsoft 包存储库,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。 打开终端并运行以下命令:
bash 复制代码
rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
  • .NET SDK 使你可以通过 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:
bash 复制代码
yum install dotnet-sdk-6.0
  • 通过 ASP.NET Core 运行时,可以运行使用 .NET 开发且未提供运行时的应用。 以下命令将安装 ASP.NET Core 运行时,这是与 .NET 最兼容的运行时。 在终端中,运行以下命令:
bash 复制代码
yum install aspnetcore-runtime-6.0
  • 使用终端查看当前安装的 .NET SDK 版本,请运行以下命令:
bash 复制代码
dotnet --list-sdks
  • 把Web API程序文件发布到指定目录下,执行运行命令:
bash 复制代码
dotnet Organization.Order.ApiSolution.dll --urls http://*:8888
  • 把Web项目发布到指定目录下,执行运行命令:
bash 复制代码
dotnet Organization.Order.Web.dll --urls http://*:6888

部署nginx,通过一个地址既能访问web api,又能访问web项目

  • cd进入路径/usr/local/,下载nginx
bash 复制代码
wget -c http://nginx.org/download/nginx-1.24.0.tar.gz
  • 找到nginx压缩包解压
bash 复制代码
tar -zxvf nginx-1.24.0.tar.gz
  • 解压后,CD进入nginx-1.24.0目录
bash 复制代码
cd /usr/local/nginx-1.24.0
  • 通过--prefix指定nginx安装目录
bash 复制代码
./configure --prefix=/usr/local/nginx

遇到报错"./configure: error: C compiler cc is not found"

执行命令:yum -y install gcc gcc-c++ autoconf automake make

  • 安装编译nginx
bash 复制代码
make & make install
  • 启动Nginx和查看nginx运行状态

    nginx相关命令如下:
bash 复制代码
#启动脚本是在
# /usr/local/nginx/sbin/nginx
#启动,
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#停止
/usr/local/nginx/sbin/nginx -s stop
#重载
/usr/local/nginx/sbin/nginx -s reload
#杀掉nginx
/usr/local/nginx/sbin/nginx -s quit
#查看nginx是否启动
ps -ef | grep nginx

#查看已放行的端口
firewall-cmd --list-all
#将80端口加入到防火墙放行白名单中,并重载防火墙
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

#临时关闭防火墙
systemctl stop firewalld.service
#永久关闭防火墙
systemctl disable firewalld.service

#设置nginx开启自启
vim /etc/rc.local
#文本底部追加
/usr/local/nginx/sbin/nginx
  • 编辑nginx配置文件nginx.conf
bash 复制代码
#打开ginx的配置文件,编辑
vi /usr/local/nginx/conf/nginx.conf
#退出不保存
Esc -> :q!
#保存退出
Esc -> :wq
#保存不退出
Esc -> :w

#查看linux系统ip地址
ifconfig
ip addr
ip address
ip addr show
ip address show

指定nginx反向代理地址,访问web网站

指定nginx接口请求地址,转发接口请求

由于修改了nginx配置文件,重新启动nginx

bash 复制代码
#停止
/usr/local/nginx/sbin/nginx -s stop
#启动,
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  • 最后效果
    web地址:

    web api地址:

    通过nginx转发:
    web:

    web api:

有一个客户把web api放到docker中,想通过nginx转发,nginx也支持配置多个程序api接口的

docker部署:https://blog.csdn.net/qq_41863998/article/details/131222630

csharp 复制代码
docker run --name orders -p 50001:88 order

修改nginx.conf文件

效果:

web:

api web api:

order web api :

其它

csharp 复制代码
操作liunx系统工具:Xshell
链接:https://pan.baidu.com/s/1_h37zJIwcWUxDePVz9JzZg 
提取码:kp36
相关推荐
武藤一雄5 小时前
C# 设计模式大全(第一弹|7种)
microsoft·设计模式·微软·c#·.net·.netcore
滴滴答答哒8 小时前
.netcore集成CAP事件总线,消息队列
.netcore
时光追逐者14 小时前
一个基于 .NET Core + Vue3 构建的开源全栈平台 Admin 系统
开源·c#·.net·.netcore·admin系统
武藤一雄1 天前
C#:nameof 运算符全指南
开发语言·microsoft·c#·.net·.netcore
武藤一雄1 天前
C# 核心技术解析:Parse vs TryParse 实战指南
开发语言·windows·microsoft·微软·c#·.netcore
武藤一雄2 天前
深入理解 C# 中的 sizeof 与非托管类型约束
开发语言·windows·c#·.net·.netcore
武藤一雄2 天前
C# 中精准锁定类型信息指南:typeof vs GetType()
开发语言·windows·c#·.net·.netcore
csdn_aspnet4 天前
ASP.NET Core:使用 JavaScript 加密并在控制器中解密
javascript·asp.net·.netcore
武藤一雄4 天前
从零构建C# OOP 知识体系
windows·microsoft·c#·.net·.netcore·oop
武藤一雄9 天前
C#常见面试题100问 (第一弹)
windows·microsoft·面试·c#·.net·.netcore