在前几篇文章中我们一起探讨了如何在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     //新建目录 hellomvc

cd /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

重新启动Apache

sudo systemctl restart httpd

sudo systemctl enable httpd

OK,现在 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.service

systemctl start kestrel-hellomvc.service

systemctl status kestrel-hellomvc.service

OK,让我们运行浏览器

最新文章

  1. 防御性编程习惯:求出链表中倒数第 m 个结点的值及其思想的总结
  2. adminLTE的自动化菜单
  3. 使用IzPack打包JAVA Web应用程序
  4. python中获取当前日期在当月是第几天
  5. REST构架风格介绍:状态表述转移
  6. Android版多线程下载器核心代码分享
  7. 9.13noip模拟试题
  8. 优秀的前端project如何制定一个老师--html学习路径
  9. Nexus5/6刷 lineageos 过程
  10. 一个Android上的以滑动揭示的方式显示并切换图片的View
  11. APNS导致消息丢失和发送效率原因
  12. css重要知识点
  13. keep or remove data frame columns in R
  14. AFNetworking 上传文件
  15. 20155222 2016-2017-2 《Java程序设计》第10周学习总结
  16. 开发技巧:高效的使用 Response.Redirect
  17. 解决 android sdk 下载慢
  18. cpp中文乱码
  19. EOJ Monthly 2018.1
  20. Comparator.comparing比较排序

热门文章

  1. Tensorflow object detection API 搭建物体识别模型(二)
  2. 设计模式_代理模式_在SqlSessionTemplate(Spring)中的应用
  3. Linux 检查 外部设备 是否存在
  4. mysql一张表多个字段关联另一张表查询
  5. 【1】【leetcode-79】 单词搜索
  6. HDU - 4625 JZPTREE(第二类斯特林数+树DP)
  7. tomcat部署应用时设置context path为空的上下文路径问题
  8. 实惠VPS推荐
  9. VS Code使用 Vue工程配置 eslint
  10. Java入门系列Java NIO