在Linux环境下使用Apache部署ASP.NET Core
很幸运能够和大家一起学习和探讨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 //生成部署文件
因为是空的项目,所以我们把视图文件夹复制到部署目录中
目录结构如下:

运行下面的命令测试发布的程序是否运行正常.

(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的更多相关文章
- 在Linux环境下使用Jexus部署ASP.NET Core
关于如何在Linux中添加ASP.NET Core运行时环境请参考我的上一篇文章,本文章将不再做赘述. 本文章运行环境如下: (1) 安装独立版Jexus 本教程安装的是独立版的Jexus,独立版的 ...
- ubuntu16.4下用jexus部署asp.net core rtm
上篇文章介绍了下用vs发布部署到iis环境,今天说下ubuntu 下部署asp.net core,不需要安装.net core sdk,自带运行时方式部署,利用jexus服务器转发请求到asp.net ...
- Centos下使用Docker部署asp.net core项目
本文讲述 CentOS 系统 Docker 中部署 asp.net core开源项目 abp 的过程 步骤 1. 拉取 asp.net core 基础镜像 docker pull microsoft/ ...
- Linux环境下详细讲解部署MySQL5.7版本
说明: 在本人写作这篇安装MySQL文章时,虽然MySQL已经发布到8.0.17版本,但对于行业来说,主力版本依然是5.7版本.目前在Linux环境默认安装时,大部分已经默认安装到8版本了,所以本人特 ...
- linux系统下基于mono部署asp.net,使用ef6与mysql出现的问题【索引】
git clone github.com/mono的源码,日期:2014-06-19,百度网盘链接:http://pan.baidu.com/s/1kTG9EUb 关于asp.net利用mono部署到 ...
- linux 环境下tomcat中部署jfinal项目
tomcat中部署jfinal项目 问题现象如下图 问题描述: 我在自己的windows7系统上tomcat下面跑这个项目没有任何问题吗,但是当我把项目上传到linux服务器上的tomcatwebap ...
- linux环境下的Oracle部署
一. 环境及相关软件 虚拟机:VMwore Workstation Linux系统:CentOS ORACLE:ORACLE_112030_Linux-x86-64 Xmanger软件 二. 安装 ...
- linux环境下python的部署
linux系统环境自带python2.6,但有时我们项目使用的版本可能是3.x以上等等,此时我们需要在linux中再安装项目所需的python版本,此时就涉及多版本共存问题了,很多同学在安装多个版本P ...
- [Apache手册]Linux环境下配置Apache运行cgi
CGI动态页面 相关模块 相关指令 mod_alias mod_cgi AddHandler Options ScriptAlias CGI(公共网关接口)定义了web服务器与外部内容生成程序之间交互 ...
随机推荐
- 新建体(3):dbms_job下新建一个job定期自动执行存储过程
http://blog.csdn.net/thinkscape/article/details/7411012http://java-admin.iteye.com/blog/231159sql窗口执 ...
- qml: 截图(单窗口);
Item提供了grabToImage方法,能够对窗口内指定区域进行截图: Rectangle { id: source width: 100 height: 100 gradient: Gradien ...
- SpringBoot笔记十三:引入webjar资源和国际化处理
目录 什么是webjar 怎么使用webjar 国际化 新建国际化配置文件 配置配置文件 使用配置文件 我们先来看一个html,带有css的,我们就以这个为准来讲解. 资源可以去我网盘下载 链接:ht ...
- bash guide
Table of Contents Basic Operations 1.1. File Operations 1.2. Text Operations 1.3. Directory Operatio ...
- 队列 Queue 与 生产者消费模型
队列:先进先出 # from multiprocessing import Queue # Q = Queue(4) # Q.put('a') # Q.put('b') # Q.put('b') # ...
- 用IntelliJ IDEA搭建第一个SpringBoot例子
前言:最近把IntelliJ IDEA弄好了,也偶然接触到了springboot这个新的微服务框架.发现这个框架简单但也有一些不足.听说springboot可以在140个字符内发布一个web应用.所以 ...
- git步骤
1.New一个Repositories 2.拿到这个仓库的URL 3.git clone https://github.com/zhuobo/new.git 4.进入到clone下来的文件夹,然后gi ...
- js 数组拷贝与深拷贝
1.对于普通数组(数组元素为数字或者字符串) var _testCopy = [1,2,3].concat();//拷贝数组(浅拷贝) 2.对于对象数组 (深拷贝) //形如var _objArr=[ ...
- 10.tesseract
1.Tesseract-OCR简介 一个Google支持的开源的OCR图文识别开源项目.支持多种语言(我使用的是3.02 版本,支持包括英文,简体中文,繁体中文),支持Windows,Linux,M ...
- partial.js client-side routing(客户端路由-基于HTML5 SPA特性的历史API)
partial.js client-side routing https://github.com/petersirka/partial.js-clientside Framework support ...