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
相关推荐
IT规划师18 小时前
C#|.net core 基础 - 扩展数组添加删除性能最好的方法
c#·.netcore·数组
时光追逐者18 小时前
分享6个.NET开源的AI和LLM相关项目框架
人工智能·microsoft·ai·c#·.net·.netcore
Lingbug1 天前
.Net日志组件之NLog的使用和配置
后端·c#·.net·.netcore
IT规划师2 天前
C#|.net core 基础 - 值传递 vs 引用传递
c#·.netcore·值传递·引用传递
wenyinvjiuke2 天前
节日庆典中的白酒文化,传承与创新并存
.netcore
平凡而伟大(心之所向)4 天前
关于.net Framework向.net core的移植
java·.net·.netcore
时光追逐者4 天前
C#/.NET/.NET Core技术前沿周刊 | 第 5 期(2024年9.9-9.15)
microsoft·c#·.net·.netcore
世界太过浮夸7 天前
.net core 通过Sqlsugar生成实体
.netcore