在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服务器与外部内容生成程序之间交互 ...
随机推荐
- layui基础总结
1.layui结构 ├─css //css目录 │ │─modules //模块css目录(一般如果模块相对较大,我们会单独提取,比如下面三个:) │ │ ├─laydate ...
- 购物demo
这段时间从一个模板网站上拷了个购物系统的demo,试着写了一下,发现div+css布局还真是精妙无穷呢.设置好了布局,加上动态效果也只是锦上添花而已.所以,接下来的重点就是布局了! 我把网址粘上去:h ...
- 2017-12-15python全栈9期第二天第五节之while else的用法二当不被break打断时else内容的结果会被打印
#!/user/bin/python# -*- coding:utf-8 -*-count = 0while count <=5 : count += 1 if count == 3 : pas ...
- 剑指Offer_编程题_8
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. class Solution { public: int jumpFloor(int number ...
- Shell中变量扩展操作
假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir ...
- I/O模型之四:Java 浅析I/O模型(BIO、NIO、AIO、Reactor、Proactor)
目录: <I/O模型之一:Unix的五种I/O模型> <I/O模型之二:Linux IO模式及 select.poll.epoll详解> <I/O模型之三:两种高性能 I ...
- powershell 中常用cmd,unix命令(get-alias)
powershell 中常用cmd,unix命令(get-alias) Get-Content Alias cat -> Get-Content Alias gc -> Get-Conte ...
- PHPMYWIND4.6.6前台Refer头注入+后台另类getshell分析
下载链接 https://share.weiyun.com/b060b59eaa564d729a9347a580b7e4f2 Refer头注入 全局过滤函数如下 function _RunMagicQ ...
- 【转载】详解KMP算法
网址:https://www.cnblogs.com/yjiyjige/p/3263858.html
- 一、VS2017 的创建程序
1.1 创建第一个子程序 1.1.1 创建项目 打开 VS2017,选择菜单栏 [文件]->[新建]->[项目]: 点击[确定]后,弹出如下界面: 点击[下一步]: 选择 空项目, 然后点 ...