.net core 2.0學習筆記(二):部署到Windows和Liunx系統

   .Net Core最大的亮點就是跨平臺了,下面介紹下在Windows下和Liunx下的部署。python

   首先發布項目文件,點擊網站項目右鍵 發佈:linux

從下圖發佈的文件圖片能夠看出,不像之前bin目錄下有不少dll,如今整體文件大小比之前小了不少nginx

一.Windows下部署(較比以前部署多了下載一個模塊和選擇無託管)windows

   (1)安裝AspNetCoreModule託管模塊(已安裝則跳過),點擊我下載centos

   (2)安裝以後在模塊裏能夠找到AspNetCoreModule就說明成功了瀏覽器

 

   (3) 在IIS中添加網站:curl

 

         最後選擇 無託管代碼 便可工具

   (4)運行效果:網站

    

二.Liunx部署url

   (1)這裏以迷你版的CentOs(CentOS-7-x86_64-Minimal-1708)爲示例,運行CentOS

       1.修改 ifcfg-ens33 文件

修改以後按ESC鍵,再輸入:wq保存退出,最後輸入 service network restart 重啓網卡

       2.安裝net-tools

          輸入sudo yum install net-tools,最後根據提示輸入Y便可

       3.輸入ifconfig,查看當前系統ip地址

       4.第三步咱們知道了IP地址,下面就使用windows下的一個工具來操做centOS(畢竟在CentOs中操做比較麻煩),工具:點擊下載putty

複製好文字右鍵就是粘貼

       5.Nginx的安裝(重啓Nginx命令: systemctl restart nginx)

          輸入命令( 根據提示輸入Y 便可): 

          sudo yum install epel-release 

          sudo yum install nginx

          sudo systemctl start nginx

         還須要輸入關閉防火牆命令:

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

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

    sudo firewall-cmd --reload

         完成以後能夠在Windows的瀏覽器中輸入上面的IP訪問了

       6.在CentOs中下載.Net Core

          具體操做:https://www.microsoft.com/net/learn/get-started/linuxcentos

         安裝成功以後輸入dotnet --version會出現版本則說明成功了

      7.將咱們在 Visual Studio 2017 中的網站發佈文件複製到CentOs中,咱們須要用到FTP傳輸工具,這裏使用FlashFXP

        首先在FlashFXP菜單中找到 站點-站點管理器-新建站點

        鏈接成功以後,在home文件夾下新建netcore文件夾,而後把發佈文件經過FTP傳輸進去

若是輸入dotnet CoreDemo.dll出現報錯,運行命令: sudo yum install dotnet-sdk-2.1.3(或者在上面第6步操做的時候直接安裝這個)

 

 安裝以後再次輸入dotnet CoreDemo.dll:

在CentOS中使用命令: curl http://localhost:5000沒有出現錯誤則成功

 最後修改Nginx配置來實現局域網訪問:

 使用FlashFXP進入/etc/nginx/ 修改其中的nginx.conf文件(也可使用命令來編輯)

 將其中的server段替換成下面的配置

	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;
		}
	}

最後使用命令: systemctl restart nginx 重啓Nginx

輸入以後發現出現502 Bad GateWay.....

這個問題找了我很久...結果發現是由於Linux保護機制所致使,咱們須要將nginx添加至Linux的白名單

輸入如下命令:

yum install policycoreutils-python

sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx

sudo semodule -i mynginx.pp

再嘗試訪問:

 到如今基本部署完成了。

問題:咱們會發現重啓CentOs以後Nginx須要手動啓動,下面配置將Nginx改成自啓動:

使用命令: systemctl enable nginx.service 或者 systemctl enable nginx

使用命令: systemctl is-enabled nginx 來確認是否設置成功

 

 

 

可能出現的問題:

1.若是在Windows下出現訪問不了的狀況(FlashFXP/Putty鏈接不上),能夠重啓下CentOs虛擬機

相關文章
相關標籤/搜索