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


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

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

從下圖發布的文件圖片可以看出,不像以前bin目錄下有很多dll,現在總體文件大小比以前小了很多

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

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

   (2)安裝之后在模塊里可以找到AspNetCoreModule就說明成功了

 

   (3) 在IIS中添加網站:

 

         最后選擇 無托管代碼 即可

   (4)運行效果:

    

二.Liunx部署

   (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虛擬機

 


免責聲明!

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



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