centos 配置.Net core 環境並部署dotnet Core文件


一、配置環境【Microsoft dotnet Core

  1) Add the dotnet product feed

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

 2) Install the .NET SDK

sudo yum update
sudo yum install dotnet-sdk-2.1

 3) Create your project

dotnet new webapi -n test

4) 運行項目

dotnet run 

5)發布

dotnet publish

 6) 運行

dotnet test.dll

7)運行結果

二、從本地上傳項目,執行運行操作

 出現這個問題是沒有安裝 dotnet-hosting-2.0.0,安裝一下

yum install dotnet-hosting-2.0.0

再次運行,又出現問題

說明現在的平台上的dotnet SDK不是2.0.3的【2.0.6不存在】,執行以下命令即可:

sudo yum install dotnet-sdk-2.0.3

 繼續運行,安裝dotnet-hosting-2.0.x版本不對(你軟件對應的.net core 版本)

yum install dotnet-hosting-2.0.X

運行

這是因為沒裝libunwind。libunwind庫為基於64位CPU和操作系統的程序提供了基本的堆棧輾轉開解功能,32位操作系統不要安裝。其中包括用於輸出堆棧跟蹤的API、用於以編程方式輾轉開解堆棧的API以及支持C++異常處理機制的API

yum install libunwind

好了,終於運行成功

 此時程序再centos上運行成功,我們可以在centos服務器中進行訪問,但是無法在外部瀏覽器中進行訪問,需要一個web容器進行轉發。可以使用jexus,也可以使用Nginx.

三、安裝Nginx

curl -o  nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

  rpm -ivh nginx.rpm

  yum install nginx

 啟動nginx

  輸入:systemctl start nginx 來啟動nginx。

  輸入:systemctl enable nginx 來設置nginx的開機啟動(linux宕機、重啟會自動運行nginx不需要連上去輸入命令)。

 開啟端口,進行測試nginx

firewall-cmd --zone=public --add-port=80/tcp --permanent

ystemctl restart firewalld

 

四、配置dotnet core到nginx 【文章來源

  修改 /etc/nginx/conf.d/default.conf 文件。

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

執行:nginx  reload 使其即時生效

再次訪問,還是失敗。

這個問題是由於SELinux保護機制所導致,我們需要將nginx添加至SELinux的白名單。

yum install policycoreutils-python

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

sudo semodule -i mynginx.pp

再次訪問

 


免責聲明!

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



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