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

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

原文地址:https://www.cnblogs.com/fanqisoft/p/8671228.html

时间: 2024-08-28 16:28:59

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

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

关于如何在Linux中添加ASP.NET Core运行时环境请参考我的上一篇文章,本文章将不再做赘述. 本文章运行环境如下:  (1) 安装独立版Jexus 本教程安装的是独立版的Jexus,独立版的Jexus自带Mono,使用的是Mono的稳定版本4.8.安装 Jexus 直接使用一下命令即可(需要在root身份下执行): curl https://jexus.org/release/x64/install.sh|sh 安装成功后会提示:OK, Jexus has been installed

Linux环境下快速项目部署

由于Linux和Java一样开源,所以现在在服务器的部署上基本上都是采用Linux平台作为服务器,然后部署项目!在开发项目的过程中,绝大部分程序猿还是使用最经典的windows操作系统,虽然Linux也有桌面化的系统,对于国人来说,还是不太习惯,并且国内的软件绝大部分都不支持Linux平台,所以在使用的频率那是相当的少! 在开发中,开发环境中编译使用等一系列通过后,还不能说功能已经ok,因为环境一旦变化,出现的问题的可能是自己没有考虑的,所以程序猿都知道真实的环境才是最可靠的,有时候出现的问题,

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

git clone github.com/mono的源码,日期:2014-06-19,百度网盘链接:http://pan.baidu.com/s/1kTG9EUb 使用EntityFramework6连接MySql数据库(db first方式) 使用EntityFramework6连接MySql数据库(code first方式) 关于Linux和Windows下部署mysql.data.dll的注册问题 linux系统下基于mono部署asp.net,使用ef6与mysql出现的问题[索引]

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

上篇文章介绍了下用vs发布部署到iis环境,今天说下ubuntu 下部署asp.net core,不需要安装.net core sdk,自带运行时方式部署,利用jexus服务器转发请求到asp.net core. 1.部署准备环境 vmware虚拟机(其他也可以) ubuntu16.04镜像 2.发布环境 win10系统 vs2015 update3 或vs code (也可以用dotnet new -t web 命令创建项目) dotnet sdk  DotNetCore.1.0.0-SDK.

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

本文讲述 CentOS 系统 Docker 中部署 asp.net core开源项目 abp 的过程 步骤 1. 拉取 asp.net core 基础镜像 docker pull microsoft/aspnetcore 2.编写 Dockerfile 文件 FROM docker.io/microsoft/aspnetcore WORKDIR /app COPY . . ENTRYPOINT ["dotnet", "QXD.BBS.Web.Mvc.dll"] 3.

Linux环境下web工程部署

1-1 Jdk安装 将jdk安装文件jdk-6u21-linux-x64.bin放到服务器上某个目录,例如 /usr/local/ 打开远程连接工具SSH或者SecureCRT 进入该目录下面 [[email protected]~]# cd /usr/local/ 如果安装文件不是可执行的,先将其修改为可执行文件 chmod755 jdk-6u21-linux-x64.bin 执行ll查看安装文件状态,如果是-rwxr-xr-x就可以了. 执行安装命令: [[email protected]/

linux 环境下tomcat中部署jfinal项目

tomcat中部署jfinal项目 问题现象如下图 问题描述: 我在自己的windows7系统上tomcat下面跑这个项目没有任何问题吗,但是当我把项目上传到linux服务器上的tomcatwebapps目录下后,启动tomcat,服务器死活找不到工程目录. 然后我就郁闷了............. 分析运行环境: 本机: 系统  win7 64 tomcat 8.0.33 jdk版本 1.8.0_51 linux服务器: 系统   Linux version 2.6.32-431.el6.x8

linux环境下python的部署

linux系统环境自带python2.6,但有时我们项目使用的版本可能是3.x以上等等,此时我们需要在linux中再安装项目所需的python版本,此时就涉及多版本共存问题了,很多同学在安装多个版本Python时会遇到各种问题,本篇文章针对python多版本共存做了详细安装说明 1.下载python安装包 打开https://www.python.org/downloads/,选择downloads>>All releases 这里我选择安装python3.6.1 选择源码安装,下载源码通过x

阿里云服务器 :Linux环境下搭建Apache+php+mysql

以前我用的是Windows2012 的服务器,那时候只是抱着玩一玩的心态,所有用的是Windows,但是后来被导师给DISS了,于是决定改服务器的操作系统: (一)下载安装php+mysql+apache 我选的操作系统是Linux的Ubuntu系统,使用的工具是xshell,xftp 1.切换管理员身份           //这一步我没用,我进入的时候就是root权限 在ubuntu中需要用root身份进行操作,所以用下面的命令确保以root身份登录: sudo su 2.开始安装mysql