原文: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环境)的更多相关文章

  1. centos 配置.Net core 环境并部署dotnet Core文件

    一.配置环境[Microsoft dotnet Core] 1) Add the dotnet product feed sudo rpm -Uvh https://packages.microsof ...

  2. ABP core学习之二 IIS部署.NET CORE

    本文是关于IIS部署.NET CORE的总结,以后有碰到问题将陆续添加 IIS部署.NET CORE总结 一.服务器环境 首先确定自己项目的core版本,然后下载对应的包在服务器上安装 下载地址: h ...

  3. 在Ubuntu 16.04上利用Jexus+.Net Core+Linux版SQL Server部署ZKEACMS.Core

    百度传课视频地址:https://chuanke.baidu.com/v5849090-223278-1498090.html 一.SQL Server on Linux的安装 官方文档:https: ...

  4. linux后台server开发环境的部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))

    linux后台server开发环境部署配置 引言 背景 随着互联网业务的不断增多.开发环境变得越来越复杂,为了便于统一server端的开发部署环境,特制定本配置文档. 使用软件 CentOS 6.3( ...

  5. 在离线环境中使用.NET Core

    在离线环境中使用.NET Core 0x00 写在开始 很早开始就对.NET Core比较关注,一改微软之前给人的印象,变得轻量.开源.跨平台.最近打算试着在工作中使用.但工作是在与互联网完全隔离的网 ...

  6. Centos7 部署.Net Core+Nginx+Supervisor

    1.安装.Net Core SDK 1.1. 在安装.NET之前,您需要注册Microsoft密钥,注册产品存储库并安装所需的依赖项.这只需要每台机器完成一次. sudo rpm -Uvh https ...

  7. CentOS7安装搭建.Net Core 2.0环境-详细步骤

    一.构建.Net core 2的应用程web发布 因为是用来测试centos上的core 环境,先直接用vs17自带的core实例. 二.部署CentOS7的core环境 1.连接并启动之前安装的虚拟 ...

  8. 生产环境中CentOS7部署NET Core应用程序

    NET Core应用程序部署至生产环境中(CentOS7) 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. ...

  9. Centos7安装Docker 基于Dockerfile 搭建httpd运行环境

    Centos7安装Docker 基于Dockerfile 搭建httpd运行环境 docker docker搭建 docker build 本文档完成目标内容如下 使用Docker搭建http服务器一 ...

随机推荐

  1. 一个Web报表项目的性能分析和优化实践(六):设置MySQL的最大连接数(max_connections)

    在上一篇文章中"一个Web报表项目的性能分析和优化实践(二):MySQL数据库连接不够用(TooManyConnections)问题的一次分析和解决案例"提到,项目中新增几个数据库 ...

  2. PHP实现事件机制实例分析

    PHP实现事件机制实例分析 内置了事件机制的语言不多,php也没有提供这种功能.事件(Event)说简单了就是一个Observer模式.实现起来非常easy.可是有所不同的是,事件的监听者谁都能够加, ...

  3. 实战c++中的string系列--string的替换、查找(一些与路径相关的操作)

    今天继续写一些string操作. string给我们提供了非常多的方法,可是每在使用的时候,就要费些周折. 场景1: 得到一个std::string full_path = "D:\prog ...

  4. spring 使用c3po连接池

    1 数据源:能够简单理解为数据的来源. 2 连接池:是缓存一定数量的数据库连接,当程序须要数据库连接的时候,直接在连接池中获取空暇的连接,使用完再放回连接池中,此连接又变成空暇状态,等待下一次连接. ...

  5. jQuery源码04 data() : 数据缓存

    /* Implementation Summary 1. Enforce API surface and semantic compatibility with 1.9.x branch 2. Imp ...

  6. 基于x86平台的Solaris安装视频(时长25分钟)

    基于X86平台的Solaris安装视频 本视频分为三个部分分别在附件中1.2.3(第三部分附件较大请在这里下载:http://down.51cto.com/data/263614) ,远程连接的视频由 ...

  7. Linux系统存储交换机日志

    Linux系统存储交换机日志     日志记录是为系统设备在运行过程中报告其运行情况而设的, 为了保证系统正常运行, 解决每一天可能遇到的各种各样的问题, 网络管理员必须认真地读取日志记录.目前公司系 ...

  8. 【Django】ContentType组件

    目录 理解 表结构 使用 @ 好,现在我们有这样一个需求,我们的商城里有很多的商品,然而节日要来了,我们要搞活动. 那么,我们就要设计优惠券,优惠券都有什么类型呢?满减的.折扣的.立减的.等等等... ...

  9. python的循环测试

    这段代码要实现的是:猜数字58 ,猜三次,三个判断条件和一个结束条件.判断为等于58的时候跳出循环. 首先定义一个固定变量 int 函数是更改input输入的文字类型 if guess_age == ...

  10. ssh-agent && 及 ssh-add介绍

    ssh-agent命令是一种控制用来保存公钥身份验证所使用的私钥的程序.ssh-agent在X会话或登录会话之初启动,所有其他窗口或程序则以客户端程序的身份启动并加入到ssh-agent程序中.通过使 ...