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
相关推荐
weixin_379880927 天前
.Net Core WebApi集成Swagger
java·服务器·.netcore
The Future is mine9 天前
.Net Core 在Linux系统下创建服务
linux·运维·.netcore
*长铗归来*10 天前
ASP.NET Core Web API 中控制器操作的返回类型及Swagger
后端·c#·asp.net·.netcore
IDOlaoluo10 天前
VS2017 安装 .NET Core 2.2 SDK 教程(包括 dotnet-sdk-2.2.108-win-x64.exe 安装步骤)
.netcore
csdn_aspnet18 天前
使用 Entity Framework Code First 方法创建 ASP.NET Core 5.0 Web API
.netcore·webapi
小先生81218 天前
.NET Core项目中 Serilog日志文件配置
c#·.netcore
爱吃香蕉的阿豪18 天前
.NET Core 中 System.Text.Json 与 Newtonsoft.Json 深度对比:用法、性能与场景选型
数据库·json·.netcore
csdn_aspnet18 天前
ASP.NET Core 10.0 的主要变化
.netcore
csdn_aspnet21 天前
在 C# .NETCore 中使用 MongoDB(第 1 部分):驱动程序基础知识和插入文档
mongodb·.netcore
csdn_aspnet21 天前
在 C# .NETCore 中使用 MongoDB(第 3 部分):跳过、排序、限制和投影
mongodb·c#·.netcore