在Linux环境下使用Apache部署ASP.NET Core
在前幾篇文章中我們一起探討了如何在Linux環(huán)境中安裝ASP.NET Core運(yùn)行時(shí)環(huán)境及將ASP.NET Core項(xiàng)目部署在Jexus中,這篇文章中我們將探討如何將ASP.NET Core部署于Apache(阿帕奇)中。
? ? 很幸運(yùn)能夠和大家一起學(xué)習(xí)和探討ASP.NET Core
本文章運(yùn)行環(huán)境如下:
(1)安裝Apache web服務(wù)器
運(yùn)行命令行如下:
sudo yum update -y? ?//更新倉庫
sudo yum -y install httpd mod_ssl? ?//安裝Apache web服務(wù)器
(2)新建一個(gè)空ASP.NET Core MVC 項(xiàng)目
運(yùn)行命令如下:
cd /home? ? //定位到home目錄下
dotnet new mvc -o hellomvc
接下來我們對(duì)空項(xiàng)目做一些變更以符合當(dāng)前運(yùn)行環(huán)境
? ?1??? 針對(duì)Program.cs類 BuildWebHost方法 添加指定端口運(yùn)行
? ??
? 2??? ? 在Startup.cs添加 Microsoft.AspNetCore.HttpOverrides命名空間,并在Configure方法中添加URL中間件
? ??
調(diào)試當(dāng)前項(xiàng)目運(yùn)行是否正常
運(yùn)行命令如下:
cd /home/hellomvc? ? ?//定位到指定目錄
dotnet run? ? ?//運(yùn)行當(dāng)前項(xiàng)目
運(yùn)行成功,效果如下:
(3) 生成項(xiàng)目部署文件
運(yùn)行命令如下:
mkdir -p /var/aspnetcore/hellomvc? ? ?//新建目錄?hellomvc
cd /home/hellomvc/? ? ?//定位到指定目錄
dotnet publish -o /var/aspnetcore/hellomvc? ? ?//生成部署文件
因?yàn)槭强盏捻?xiàng)目,所以我們把視圖文件夾復(fù)制到部署目錄中?
目錄結(jié)構(gòu)如下:
運(yùn)行下面的命令測(cè)試發(fā)布的程序是否運(yùn)行正常.
?
dotnet /var/aspnetcore/hellomvc/hellomvc.dll
(4) 修改Apache 網(wǎng)站配置文件
運(yùn)行如下命令
? cd /etc/httpd/conf.d/? ? ? ? //定位到指定目錄
? touch hellomvc.conf? ? ? //新建名為hellomvc.conf的文件
? vi hellomvc.conf? ? ?//打開hellomvc.conf
嗯 改成這樣就可以了,.你不會(huì)不會(huì)抄吧......(我知道命令行很痛苦,所以我千辛萬苦裝了個(gè)圖形界面)
查看配置是否正常
sudo service httpd configtest
重新啟動(dòng)Apache
sudo systemctl restart httpd
sudo systemctl enable httpd
OK,現(xiàn)在?Apache 已將位于?http://localhost:80?的請(qǐng)求轉(zhuǎn)發(fā)至h ttp://127.0.0.1:7000
(4) 設(shè)置?Kestrel 守護(hù)
ASP.NET Core運(yùn)行在Kestrel 上,我們使用systemd來啟動(dòng)和監(jiān)視Kestrel?。
創(chuàng)建服務(wù)定義文件
sudo nano /etc/systemd/system/kestrel-hellomvc.service
注意:? ?若提示??nano: command not found? ?則可能nano未安裝
執(zhí)行??yum install nano 命令, 安裝nano后再次執(zhí)行創(chuàng)建服務(wù)定義
文件命令.
服務(wù)定義文件內(nèi)容如下:
保存該文件并啟用該服務(wù),然后驗(yàn)證它正在運(yùn)行
systemctl enable kestrel-hellomvc.service
systemctl start kestrel-hellomvc.service
systemctl status kestrel-hellomvc.service
OK,讓我們運(yùn)行瀏覽器
相關(guān)文章:?
Linux使用Jexus托管Asp.Net Core應(yīng)用程序
Linux+.NetCore+Nginx搭建集群
.NET Core+MySql+Nginx 容器化部署
超級(jí)簡(jiǎn)便的容器化部署工具(使用 ASP.NET Core 演示)
原文地址?https://www.cnblogs.com/fanqisoft/p/8671228.html
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號(hào)文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的在Linux环境下使用Apache部署ASP.NET Core的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 BenchmarkDotnet 测
- 下一篇: 微软发布自己定制的 Linux 内核和发