在前几篇文章中我们一起探讨了如何在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,让我们运行浏览器

在Linux环境下使用Apache部署ASP.NET Core的更多相关文章

  1. 在Linux环境下使用Jexus部署ASP.NET Core

    关于如何在Linux中添加ASP.NET Core运行时环境请参考我的上一篇文章,本文章将不再做赘述. 本文章运行环境如下:  (1) 安装独立版Jexus 本教程安装的是独立版的Jexus,独立版的 ...

  2. ubuntu16.4下用jexus部署asp.net core rtm

    上篇文章介绍了下用vs发布部署到iis环境,今天说下ubuntu 下部署asp.net core,不需要安装.net core sdk,自带运行时方式部署,利用jexus服务器转发请求到asp.net ...

  3. Centos下使用Docker部署asp.net core项目

    本文讲述 CentOS 系统 Docker 中部署 asp.net core开源项目 abp 的过程 步骤 1. 拉取 asp.net core 基础镜像 docker pull microsoft/ ...

  4. Linux环境下详细讲解部署MySQL5.7版本

    说明: 在本人写作这篇安装MySQL文章时,虽然MySQL已经发布到8.0.17版本,但对于行业来说,主力版本依然是5.7版本.目前在Linux环境默认安装时,大部分已经默认安装到8版本了,所以本人特 ...

  5. linux系统下基于mono部署asp.net,使用ef6与mysql出现的问题【索引】

    git clone github.com/mono的源码,日期:2014-06-19,百度网盘链接:http://pan.baidu.com/s/1kTG9EUb 关于asp.net利用mono部署到 ...

  6. linux 环境下tomcat中部署jfinal项目

    tomcat中部署jfinal项目 问题现象如下图 问题描述: 我在自己的windows7系统上tomcat下面跑这个项目没有任何问题吗,但是当我把项目上传到linux服务器上的tomcatwebap ...

  7. linux环境下的Oracle部署

    一.  环境及相关软件 虚拟机:VMwore Workstation Linux系统:CentOS ORACLE:ORACLE_112030_Linux-x86-64 Xmanger软件 二.  安装 ...

  8. linux环境下python的部署

    linux系统环境自带python2.6,但有时我们项目使用的版本可能是3.x以上等等,此时我们需要在linux中再安装项目所需的python版本,此时就涉及多版本共存问题了,很多同学在安装多个版本P ...

  9. [Apache手册]Linux环境下配置Apache运行cgi

    CGI动态页面 相关模块 相关指令 mod_alias mod_cgi AddHandler Options ScriptAlias CGI(公共网关接口)定义了web服务器与外部内容生成程序之间交互 ...

随机推荐

  1. ansible小结常用模块

    根据官方的分类,将模块按功能分类为:云模块.命令模块.数据库模块.文件模块.资产模块.消息模块.监控模块.网络模块.通知模块.包管理模块.源码控制模块.系统模块.单元模块.web设施模块.window ...

  2. vbox的桥接网络

    直接连接到了外网上,宿主机可以访问虚拟机,但是虚拟机不可以访问宿主机.缺点:宿主机没有网络时,将不能ping通. 宿主机:win10 网络:无线 虚拟机系统:centos6.5 vbox版本:6.0. ...

  3. python自动化开发-[第二十四天]-高性能相关与初识scrapy

    今日内容概要 1.高性能相关 2.scrapy初识 上节回顾: 1. Http协议 Http协议:GET / http1.1/r/n...../r/r/r/na=1 TCP协议:sendall(&qu ...

  4. Intellij Idea识别Java Web项目

    使用maven生成一个Java项目,手动添加相应的web目录WEB_INF,web.xml等,此时idea没有自动识别为web项目,此时编辑web.xml文件会出现一些不该出现的错误,需要做的就是让i ...

  5. 2017-12-15python全栈9期第二天第七节之布尔值转数字

    #!/user/bin/python# -*- coding:utf-8 -*-print(int(True))print(int(False))

  6. 机器学习算法 Python&R 速查表

    sklearn实战-乳腺癌细胞数据挖掘( 博主亲自录制) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...

  7. Event Recommendation Engine Challenge分步解析第七步

    一.请知晓 本文是基于: Event Recommendation Engine Challenge分步解析第一步 Event Recommendation Engine Challenge分步解析第 ...

  8. flask 过滤器

    作用的对象是jinja2模版中的变量({{}}) 参考链接: http://jinja.pocoo.org/docs/2.9/templates/#builtin-filters 内置过滤器 字符串操 ...

  9. docker仓库harbor搭建

    1.安装docker-compose [root@docker02 ~]# yum install epel-release [root@docker02 ~]# pip install docker ...

  10. Journal Storage Directory not formatted

    类型一: 当你从异常信息中看到JournalNode not formatted,如果在异常中看到三个节点都提示需要格式化JournalNode. 如果你是新建集群,你可以重新格式化NameNode, ...