当前位置: 首页 > 工具软件 > Kestrel > 使用案例 >

微软kestrel服务器开启,用微软的kestrel在Linux上利用Apache架设Asp.Net Core环境

栾峰
2023-12-01

第一步,安装dotnet环境,网上需求教程都没有强调这一点,致使仅按教程是操做不了的。apache

添加dotnet 产品  Feed。要开始安装.NET,您须要注册Microsoft签名密钥并添加Microsoft产品提要。这只须要在每台机器上完成一次。 bash

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

sudo sh -c 'echo -e "[packages-microsoft-com-prod]

name=packages-microsoft-com-prod baseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod enabled=1gpgcheck=1gpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

开始安装 ASP.NET Core运行时环境(有提问时所有回答Y)mvc

sudo yum update

sudo yum -y install libunwind libicu

sudo yum install dotnet-sdk-2.0.3

第一步安装完成,查看一下是否安装成功app

dotnet --version

第二步升级系统并安装Apache 2.4测试

sudo yum update -y

sudo yum-y install httpd mod_ssl

第三步建立Apache虚拟网站配置文件如:helloapp.conf,存放于位置/etc/httpd/conf.d/helloapp.conf网站

注意修改域名、IP地址和端口(端口要与应用程序设置一致)ui

RequestHeaderset "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}

ProxyPreserveHost On

ProxyPass/ http://127.0.0.1:5000/

ProxyPassReverse / http://127.0.0.1:5000/

ServerName www.example.com

ServerAlias*.example.com

ErrorLog ${APACHE_LOG_DIR}helloapp-error.log

CustomLog ${APACHE_LOG_DIR}helloapp-access.log common

测试配置文件是否有问题url

sudo service httpd configtest

从新启动 Apache:spa

sudo systemctl start httpd //启动

sudo systemctl restart httpd //重启

sudo systemctl enable httpd //

建立服务定义文件并存放在制定位置:/etc/systemd/system/kestrel-helloapp.servicerest

[Unit]

Description=Example .NET Web API App running on CentOS 7[Service]

WorkingDirectory=/var/www/helloapp

ExecStart=/usr/bin/dotnet /var/www/helloapp/helloapp.dll

Restart=always

# Restart service after10 seconds ifthe dotnet service crashes:

RestartSec=10KillSignal=SIGINT

SyslogIdentifier=dotnet-example

User=apache

Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]

WantedBy=multi-user.target

建立应用程序网站放置的位置目录,要与上面服务定义的文件一致:

mkdir -p /var/www/helloapp

启用该服务:

sudo systemctl enable kestrel-helloapp.service //启用服务

sudo systemctl start kestrel-helloapp.service  //启动服务

sudo systemctl status kestrel-helloapp.service  //查看服务状态

第四步,发布应用程序

建立示例测试程序

安装好dotnet环境后执行如下命令

cd /home

dotnetnew mvc -o helloapp

修改Program.cs文件(也能够修改配置文件)

public classProgram

{public static void Main(string[] args)

{

BuildWebHost(args).Run();

}public static IWebHost BuildWebHost(string[] args) =>WebHost.CreateDefaultBuilder(args)

.UseUrls("http://*.5000") //注意端口要一致

.UseStartup()

.Build();

}

将修改好的示例应用程序发布到网站目录

dotnet publish -o /var/www/helloapp/

将试图文件夹拷贝到网站目录下

cp -r /home/helloapp/Views/ /var/www/helloapp/

重启apache便可范文网站

 类似资料: