本文主要向大家介绍了Linux运维知识之在Linux环境下使用Apache部署ASP.NET Core,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。
在前几篇文章中我们一起探讨了如何在Linux环境中安装ASP.NET Core运行时环境及将ASP.NET Core项目部署在Jexus中,这篇文章中我们将探讨如何将ASP.NET Core部署于Apache(阿帕奇)中。 很幸运能够和大家一起学习和探讨ASP.NET Core本文章运行环境如下:(1)安装Apache web服务器运行命令行如下:sudo yum update -y //更新仓库sudo yum -y install httpd mod_ssl //安装Apache web服务器(2)新建一个空ASP.NET Core MVC 项目运行命令如下:cd /home //定位到home目录下dotnet new mvc -o hellomvc接下来我们对空项目做一些变更以符合当前运行环境 1?? 针对Program.cs类 BuildWebHost方法 添加指定端口运行 2?? 在Startup.cs添加 Microsoft.AspNetCore.HttpOverrides命名空间,并在Configure方法中添加URL中间件 调试当前项目运行是否正常运行命令如下:cd /home/hellomvc //定位到指定目录dotnet run //运行当前项目运行成功,效果如下:(3) 生成项目部署文件运行命令如下:mkdir -p /var/aspnetcore/hellomvc //新建目录 hellomvccd /home/hellomvc/ //定位到指定目录dotnet publish -o /var/aspnetcore/hellomvc //生成部署文件因为是空的项目,所以我们把视图文件夹复制到部署目录中 目录结构如下:运行下面的命令测试发布的程序是否运行正常.
dotnet /var/aspnetcore/hellomvc/hellomvc.dll
(4) 修改Apache 网站配置文件运行如下命令 cd /etc/httpd/conf.d/ //定位到指定目录 touch hellomvc.conf //新建名为hellomvc.conf的文件 vi hellomvc.conf //打开hellomvc.conf嗯 改成这样就可以了,.你不会不会抄吧......(我知道命令行很痛苦,所以我千辛万苦装了个图形界面)查看配置是否正常sudo service httpd configtest重新启动Apachesudo systemctl restart httpdsudo systemctl enable httpdOK,现在 Apache 已将位于 http://localhost:80 的请求转发至h ttp://127.0.0.1:7000(4) 设置 Kestrel 守护ASP.NET Core运行在Kestrel 上,我们使用systemd来启动和监视Kestrel 。创建服务定义文件sudo nano /etc/systemd/system/kestrel-hellomvc.service注意: 若提示 nano: command not found 则可能nano未安装执行 yum install nano 命令, 安装nano后再次执行创建服务定义文件命令.服务定义文件内容如下:
保存该文件并启用该服务,然后验证它正在运行systemctl enable kestrel-hellomvc.servicesystemctl start kestrel-hellomvc.servicesystemctl status kestrel-hellomvc.serviceOK,让我们运行浏览器
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!