原文: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. javascript中 visibility和display的区别

    visibility属性用来确定元素是显示还是隐藏的,这用visibility="visible|hidden"来表示(visible表示显示,hidden表示隐藏). 当visi ...

  2. iscsi共享存储的简单配置和应用

    1.环境介绍 SCSI(Small Computer System Interface)是块数据传输协议,在存储行业广泛应用,是存储设备最基本的标准协议.从根本上说,iSCSI协议是一种利用IP网络来 ...

  3. Spring MVC 转发和重定向

    本文介绍Spring MVC中转发和重定向的区别. 转发和重定向 开始Java EE时,可能会对转发(forward)和重定向(redirect)这个两个概念不清楚.本文先通过代码实例和运行结果图片感 ...

  4. CS224d lecture 9札记

    欢迎转载.转载注明出处: http://blog.csdn.net/neighborhoodguo/article/details/47193885 近期几课的内容不是非常难.还有我的理解能力有所提高 ...

  5. CentOS6.4安装Docker

    首先,须要安装EPEL仓库 # wget http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm # rpm -ivh e ...

  6. Android_L(64bit) 模拟器配置及创建项目

    Android L可能就是Android 5.0.随之而来的还有Android Watch. Android TV. 而据说在10月中旬也就是15号Google的公布会上应该会推出Nexus 6和Ne ...

  7. 考满分软件测试工程师(实习)面试&软达启航面试

    考满分软件测试工程师(实习)面试 从这学期秋季开学的时候开始准备找工作,一边学习看书,一边完善简历海投:九月下旬的时候在年级实习群里看到考满分发的宣传海报马上就加了hr的微信,hr要了我的简历,并给技 ...

  8. 将BT下载对抗到底

    将BT下载对抗到底      随着互联网业务的多元化,各种P2P应用也越来越多,在企业中多数流量都会被类似于BT的下载所占用,BT之所以会危害到局域网,是因为它占用了大量网络带宽.网络管理员可以通过一 ...

  9. Linux下截图技巧

           在需要Linux显示图片的场合,最普通的方法,会考虑用数码相,或是用Vmware,或VPc来抓拍,这样以来会比较麻烦,Linux也自带了些工具例如Gimp,ksnapshot这里我介绍一 ...

  10. factor---将素数分解为质数