一、windows下發布到IIS
1、前奏:IIS 上的准備
(1)IIS 必須安裝AspNetCoreModule 模塊
下載地址:(DotNetCore.2.0.3-WindowsHosting-aspnetcoremodule for iis)
(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)用nginx將80端口映射到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老師。
