Centos7安装.Net Core 2.2环境以及部署.Net Core MVC程序(Apache+Jexus环境)
原文:Centos7安装.Net Core 2.2环境以及部署.Net Core MVC程序(Apache+Jexus环境)
1.双11抢购搬瓦工VPS.配置如下:
- CPU:2 核
- 内存:2048 MB
- 硬盘:40 GB SSD
- 流量:1 TB
- 带宽:1 Gbps
2.VPS安装Centos7-x86_64-bbr系统(bbr 是为了加速科学上网)

3.开启80端口
CentOS7打开80端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent systemctl restart firewalld.service
如果上述命令无法找到的话,使用以下命令
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT service iptables save service iptables restart
4.安装Apache
安装之前都要记得,先执行update
yum update
安装Apache
yum install httpd httpd-devel
安装完成之后启动Apache
systemctl start httpd.service
访问IP,成功如下图。

附上Apache几条命令(我已经偷偷设置开机启动)
systemctl start httpd.service #启动Apache systemctl stop httpd.service #停止Apache systemctl restart httpd.service #重启Apache systemctl enable httpd.service #设置Apache开机启动
5.安装.Net Core 2.2(参照官方地址:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial#linuxcentos)
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update
sudo yum install dotnet-sdk-2.2
安装完成之后,查看信息
dotnet --info

.Net Core 2.2.1的版本,以及安装的路径。
6.VS2017 创建一个MVC程序(参照官方地址:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/linux-apache?view=aspnetcore-2.2)

直接确定就好。
在Startup.cs类中添加引用:Microsoft.AspNetCore.HttpOverrides;

在Startup.cs类Configure方法中添加代码

app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
}); app.UseAuthentication();
发布代码

发布完成之后可以使用命令运行测试 (VPSTest是的项目名称 所以生成了VPSTest.dll) 默认端口为5000
dotnet G:\WebSite\VPSTest.dll
上传代码 我使用FTP上传。上传路径为/var/www/html/MVC 我在Html文件夹里面新建了MVC文件夹 。
在Xshell中执行运行命令
dotnet /var/www/html/MVC/VPSTest.dll

端口5000没有开放 只开放80端口。所以暂时还不能看到效果,出现如图一样的信息就是正常的。
7.配置Apache
在/etc/httpd/conf.d/路径中创建一个名为MVCTest.conf 的配置文件,代码如下
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http://127.0.0.1:5000/
ServerName www.xxx.com
ServerAlias *.www.xxx.com
ErrorLog ${APACHE_LOG_DIR}helloapp-error.log
CustomLog ${APACHE_LOG_DIR}helloapp-access.log common
</VirtualHost>
其中域名为自己的。没有试过可不可以不填。
测试配置,如果正确会提示 Syntax [OK]
sudo service httpd configtest
重启Apache,就可以访问IP看到效果了,但是断开Xshell之后就挂了。
8.Kestrel 进程守护配置
在/etc/systemd/system/创建服务文件名字为kestrel-MVCTest.service 代码如下:
[Unit]
Description=Example .NET Web API App running on CentOS 7 [Service]
WorkingDirectory=/var/www/html/MVC/
ExecStart=/usr/bin/dotnet /var/www/html/MVC/VPSTest.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=apache
Environment=ASPNETCORE_ENVIRONMENT=Production [Install]
WantedBy=multi-user.target
需要注意WorkingDirectory的路径,ExecStart的命令格式(ExecStart dotnet的路径 dll的路径),不对的话会在状态中显示的。
保存该文件并启用该服务,并确认它正在运行
systemctl enable kestrel-MVCTest.service systemctl start kestrel-MVCTest.service systemctl status kestrel-MVCTest.service

启用成功,正常运行。我要去科学上网了。
Centos7安装.Net Core 2.2环境以及部署.Net Core MVC程序(Apache+Jexus环境)的更多相关文章
- centos 配置.Net core 环境并部署dotnet Core文件
一.配置环境[Microsoft dotnet Core] 1) Add the dotnet product feed sudo rpm -Uvh https://packages.microsof ...
- ABP core学习之二 IIS部署.NET CORE
本文是关于IIS部署.NET CORE的总结,以后有碰到问题将陆续添加 IIS部署.NET CORE总结 一.服务器环境 首先确定自己项目的core版本,然后下载对应的包在服务器上安装 下载地址: h ...
- 在Ubuntu 16.04上利用Jexus+.Net Core+Linux版SQL Server部署ZKEACMS.Core
百度传课视频地址:https://chuanke.baidu.com/v5849090-223278-1498090.html 一.SQL Server on Linux的安装 官方文档:https: ...
- linux后台server开发环境的部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))
linux后台server开发环境部署配置 引言 背景 随着互联网业务的不断增多.开发环境变得越来越复杂,为了便于统一server端的开发部署环境,特制定本配置文档. 使用软件 CentOS 6.3( ...
- 在离线环境中使用.NET Core
在离线环境中使用.NET Core 0x00 写在开始 很早开始就对.NET Core比较关注,一改微软之前给人的印象,变得轻量.开源.跨平台.最近打算试着在工作中使用.但工作是在与互联网完全隔离的网 ...
- Centos7 部署.Net Core+Nginx+Supervisor
1.安装.Net Core SDK 1.1. 在安装.NET之前,您需要注册Microsoft密钥,注册产品存储库并安装所需的依赖项.这只需要每台机器完成一次. sudo rpm -Uvh https ...
- CentOS7安装搭建.Net Core 2.0环境-详细步骤
一.构建.Net core 2的应用程web发布 因为是用来测试centos上的core 环境,先直接用vs17自带的core实例. 二.部署CentOS7的core环境 1.连接并启动之前安装的虚拟 ...
- 生产环境中CentOS7部署NET Core应用程序
NET Core应用程序部署至生产环境中(CentOS7) 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. ...
- Centos7安装Docker 基于Dockerfile 搭建httpd运行环境
Centos7安装Docker 基于Dockerfile 搭建httpd运行环境 docker docker搭建 docker build 本文档完成目标内容如下 使用Docker搭建http服务器一 ...
随机推荐
- css line-height详解
行高指的是文本行的基线间的距离(更简单来说,行高是指文字尺寸与行距之间的和). 而基线(Base line),指的是一行字横排时下沿的基础线, 基线并不是汉字的下端沿,而是英文字母x的下端沿,同时还有 ...
- Linux系统中命令提示符解释-Linux中命令格式、分类-bash中的快捷键
1.命令提示符 [root@mysqlserver01 opt]# [root@mysqlserver01 ~]# root 当前用户名 @ 固定的(格式) mysqlserver01 主机名 opt ...
- HRBUST 1818 石子合并问题--直线版
石子合并问题--直线版 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HRBUST. Original ...
- [ Javascript ] JavaScript中的定时器(Timer) 是怎样工作的!
作为入门者来说.了解JavaScript中timer的工作方式是非常重要的.通常它们的表现行为并非那么地直观,而这是由于它们都处在一个单一线程中.让我们先来看一看三个用来创建以及操作timer的函数. ...
- nagios插件之登陆防火墙实现session监控
ssh_firewall_session.sh -- 登陆防火墙并运行dis session statistics firewall_check_sessions.c -- 调用上面脚本.过滤出ses ...
- js---15深拷贝浅拷贝 原型链
//&&得到的结果不是布尔类型,如果前面都是 true就执行最后一个,并返回最后一个表达式的值,前面有一个为false,后面不执行,返回前面表达式的值 var a = 3; var b ...
- View State
如何查看viewstate 鼠标右键页面,然后view page source 源码中搜索viewstate,会找到一个隐藏的字段. <input type="hidden" ...
- 小白算法之路-非确定性多项式(non-deterministic polynomial,缩写NP)
前端小白的算法之路 时隔多日终于解决了埋在心头的一道难题,霎时云开雾散,今天把一路而来碰到的疑惑和心得都记录下来,也算是开启了自己探索算法的大门. 问题背景 曾经有一个年少轻狂的职场小白,在前端圈 ...
- es6 --- Generator 函数
第一部分,ES6 中的 Generator 在 ES6 出现之前,基本都是各式各样类似Promise的解决方案来处理异步操作的代码逻辑,但是 ES6 的Generator却给异步操作又提供了新的思路, ...
- 下载安装与配置Excel 2013数据挖掘加载项(SQL Server 2012 SP1 + SQLServer2012_DMAddin.msi)
一.系统要求 在安装这个数据挖掘加载项前,你的机器必须要可以支持如下的相关系统设备: (1)操作系统:windows 7 和 windows 8,暂时不支持 windows 10. (2)excel ...