前言简单整理一个linux 简单上线 。这个是该系列的外篇 , 该系列继续更新 。献给刚学的人 。
正文安装实例dotnet new webapp -n AspNetCoreDemo -o firstwebapp编译并运行:
dotnet run查看网络情况:
netstat -anpl
![重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]](http://shimg.jingyanzongjie.com/230727/0255292461-0.png)
文章插图
将项目发布到指定位置:
dotnet publish -o /var/testdotnet/将打包好的运行起来:
dotnet /var/testdotnet/AspNetCoreDemo.dll配置nginx这个时候是外面是访问不了的 , 原因如下:
![重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]](http://shimg.jingyanzongjie.com/230727/02552aO1-1.png)
文章插图
这里绑定的是127.0.0.1 , 这个是内网的 , 所以无法访问到 。
然后这里解释一下为什么localhost可以访问哈:
因为host: localhost 127.0.0.1 这个是默认的 。
当然我们可以改成0.0.0.0 去启动 , 但是一般不会这么干 。
这里说明一下 , 为什么我们一般有一个nginx 代理一个应用程序 。
那是因为nginx 做的不仅仅是代理 , nginx 有安全模块 , 有限流模块 , 这样我们就不用再应用程序中写了 。
大大减少了项目的复杂度 。
那么安装一下nginx:
yum install nginx -y然后启动一下:
sudo systemctl start nginx【重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]】然后配置文件改成这样:
![重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]](http://shimg.jingyanzongjie.com/230727/0255291327-2.png)
文章插图
server { listen 80; listen [::]:80; server_name _; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; error_page 404 /404.html; location = /404.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }然后nginx 重新加载配置一下:
nginx -s reload然后我这里访问一下:
![重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]](http://shimg.jingyanzongjie.com/230727/0255291F8-3.png)
文章插图
经验总结扩展阅读
- .Net Core&RabbitMQ限制循环消费
- IQueryable和IEnumerable 快读《ASP.NET Core技术内幕与项目实战》EFCore2.5:集合查询原理揭秘
- .NET6打包部署到Windows Service
- Dapr实现.Net Grpc服务之间的发布和订阅,并采用WebApi类似的事件订阅方式
- 是什么让.NET7的Min和Max方法性能暴增了45倍?
- no one与nobody的用法是什么 相关句子整理
- 浏览器下载的文件怎么重新下载(在浏览器下载的文件怎么打开)
- 19 基于.NetCore开发博客项目 StarBlog - Markdown渲染方案探索
- 房贷提前还款后利息重新计算吗
- 31 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取Android系统中Flutter应用程序的包
