ASP.NET Core下發布網站


一、windows下發布到IIS

1、前奏:IIS 上的准備

(1)IIS 必須安裝AspNetCoreModule 模塊

下載地址:(DotNetCore.2.0.3-WindowsHosting-aspnetcoremodule for iis

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/aspnet-core-module?tabs=aspnetcore2x

(2)添加網站:

相應的配置:

至此iis配置完畢

2、使用控制台命令發布網站

F:\asp.net core-Project\HelloVS>dotnet publish
F:\asp.net core-Project\HelloVS>dotnet publish -o E:\website\aspnetcoredemo

發布完畢

3、使用vs2017發布網站

右鍵項目:

選則發布,選擇文件系統發布——>發布成功!

二、ASP.NET Core部署到centos7,利用Nginx代理

1、准備centos環境

(1)下載vmvare

(2)下載centos

(3)安裝centos

(4)運行虛擬機

由於我裝是centos最小系統還需要測試安裝網卡,以下為我測試安裝網卡的步驟:

 

ls
ping baidu.com
ifconfig
Cd  /etc/sysconfig
Ls
Cd network-scripts/
Ls
Vi ifcfg-ens33  --將onboot=no 改成yes ,按ESC退出編輯
:wq
Service network restart --重啟網卡
Ping baidu.com --按CTRL +C 停止
Ifconfig
Sudo yum install net-tools --安裝工具
Ifconfig--成功

 2、 Install Nginx on CentOS 7

安裝nginx作用:nginx的作用像iis,是個web服務器。做轉發。

我們發現http://localhost:5000 可以訪問。但是通過ip卻不能訪問。那么我們現在就可以通過80訪問nginx,然后nginx再幫我們訪問5000。

step one

sudo yum install epel-release

step two

sudo yum install nginx

step three

sudo systemctl start nginx

step four 

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

 訪問centos IP地址

安裝成功!

3、在 CentOS 上安裝 .NET Core 運行時

下載.net core 網址 https://www.microsoft.com/net/learn/get-started/linuxcentos

step one :Add the dotnet product feed

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

step two:Install the .NET SDK

sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.1.4

運行 dotnet --version 

顯示2.1.4 

成功

示例:

Dotnet new webapi

Dotnet run 

打開另一個窗口輸入:

 curl http://localhost:5000/api/values

4、j將asp.net core mvc 項目部署到centos

(1)打開VS2017創建asp.net core mvc 項目,並用文件系統發布。

(2)用FileZilla軟件將文件導入到centos里面home文件夾下面的netcore文件夾下,端口為22:

(2)檢查文件是否存在以及在centos上啟動這個網站。

啟動:dotnet mhqtalks.dll

(3)打開另一個編輯器窗口 ,輸入

 curl http://localhost:5000

這里可以看到網站已經可以訪問了

(4)nginx80端口映射到5000端口上,配置反向代理

進入nginx安裝目錄 cd /etc/nginx

查看nginx.conf

vi nginx.conf

可以看到默認是吧所有的*.conf文件引入進來的

剛開始有默認的80端口的配置,我們要把它注釋掉

注釋后

這時候進入conf.d文件夾發現里面並沒有任何文件

這時候我們創建一個netcore.conf文件,將80端口對5000對口進行轉發

插入代碼:

server {
    listen 80;
    location / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
Esc-:wq
nginx -s reload
systemctl restart nginx

結束。

在這里感謝jeese老師。

友情提示

作者: mhq_martin

博客園地址: http://www.cnblogs.com/mhq-martin/

本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM