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
相关推荐
小兜全糖(xdqt)5 小时前
.netCore WebAPI中字符串加密与解密
.netcore
沪上百卉5 小时前
.NET Core 常用的三个生命周期
.netcore
时光追逐者1 天前
C#/.NET/.NET Core学习路线集合,学习不迷路!
开发语言·学习·c#·asp.net·.net·.netcore·微软技术
Jeffrey侠客2 天前
.Net Core 6.0 WebApi在Centos中部署
linux·centos·.netcore
技术拾荒者2 天前
.net core mvc 控制器中页面跳转
后端·c#·asp.net·mvc·.netcore
时光追逐者3 天前
Visual Studio 2022:一个功能全面且强大的IDE
ide·c#·.net·.netcore·visual studio
.Net Core 爱好者5 天前
ASP .NET CORE 6 在项目中集成WatchDog开源项目
c#·.net·.netcore
想起你的日子5 天前
.net core 接口,动态接收各类型请求的参数
.netcore
qq_383139845 天前
Quartz实现定时调用接口(.net core2.0)
.netcore
时光追逐者5 天前
一个.NET开源、轻量级的运行耗时统计库 - MethodTimer
开源·c#·asp.net·.net·.netcore·微软技术