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
相关推荐
切糕师学AI2 天前
.NET Core 如何使用 Quartz?
.netcore·quartz·作业调度
聪明努力的积极向上2 天前
【C#】System.Text.Encoding.Default 属性在framework和.netcore中的区别
开发语言·c#·.netcore
切糕师学AI4 天前
.NET Core Web + Vue 项目集成消息推送工具SignalR
vue.js·.netcore·signalr
万19994 天前
asp.net core webapi------3.AutoMapper的使用
c#·.netcore
dephixf6 天前
工业级部署指南:在西门子IOT2050(Debian 12)上搭建.NET 9.0环境与应用部署
物联网·.netcore·智能制造·边缘网关·西门子·iot 2050
睡前要喝豆奶粉6 天前
在.NET Core Web Api中使用JWT并配置UserContext获取用户信息
前端·.netcore
睡前要喝豆奶粉6 天前
在.NET Core Web Api中使用阿里云OSS
阿里云·c#·.netcore
周杰伦fans6 天前
.NET Core WebAPI 中 HTTP 请求方法详解:从新手到精通
网络协议·http·.netcore
睡前要喝豆奶粉8 天前
.NET Core Web API开发需引入的三个基本依赖配置说明
oracle·c#·.netcore
睡前要喝豆奶粉8 天前
.NET Core Web API中数据库相关配置
数据库·c#·.netcore