在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服务器与外部内容生成程序之间交互 ...
随机推荐
- 谈.Net委托与线程——创建无阻塞的异步调用(一)
前言 本文大部分内容来自于mikeperetz的Asynchronous Method Invocation及本人的一些个人体会所得,希望对你有所帮助.原英文文献可以在codeproject中搜索到. ...
- 【强大的视频编辑工具】Adobe Premiere Pro CC 2019 for Mac
[简介] PR CC是视频编辑爱好者和专业人士必不可少的视频编辑工具.它可以提升您的创作能力和创作自由度,它是易学.高效.精确的视频剪辑软件.PR CC提供了采集.剪辑.调色.美化音频.字幕添加.输出 ...
- Django中的ORM框架使用小技巧
Django中的ORM框架使用小技巧 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Django对各个数据提供了很好的支持,包括PostgreSQL,MySQL,SQLite ...
- 7.Hystrix-服务熔断
服务熔断 类似现实生活中的“保险丝“,当某个异常条件被触发,直接熔断保险丝来起到保护电路的作用, 熔断的触发条件可以依据不同的场景有所不同,比如统计一个时间窗口内失败的调用次数. 1.断路器状态机: ...
- [NIO-1]缓冲区
常用的是ByteBuffer.CharBuffer
- Swagger入门
新手入门Swagger看了很多博客,竟然没有一个是步骤齐全的或直接能运行的.于是CSDN下载了SSM+Swagger整合的demo,一顿瞎整,终于可以运行了. 不容易,因此分享这篇博客,祝新手朋友们早 ...
- HTML5-语义化标签
article -- 解释 article标签装载显示一个独立的文章内容.例如一篇完整的论坛帖子,一则网站新闻,一篇博客文章等等,一个用户评论等等 artilce可以嵌套,则内层的artilce对外层 ...
- c++进阶学习
以后可能要做c++开发了..记录要看的书和可能用的技术,让自己有个学习的方向... 1. 语言基础 2. 算法与数据结构基础 3. 多线程开发基础 4. 数据库 5. 网络编程 6. 内存数据库技 ...
- 简述react与vue的区别
React 和Vue是现在主流的两个框架(相对来说angular用的已经少了) 两者的区别体现在以下方面 相同点: 1.react和vue都支持服务端渲染 2.都有虚拟DOM,组件化开发,通过prop ...
- Excel公式使用
IF语句: 想要给F16自动求值,可以利用IF语句,如下: 语句: 同时,还需要设置B27的单元格格式为“常规”