1. 程式人生 > >.net core項目部署到centos7

.net core項目部署到centos7

查看 home 說了 con window 應用 str 項目部 emc

環境說明

系統:CentOS Linux release 7.2.1511 (Core)

相關工具:xftp

服務器軟件:.net core,nginx

準備.net core應用程序

.NET Core分為兩種應用類型:Portable applications(便攜應用) Self-contained application(自宿主應用)

我們選擇便攜應用,這樣發布的項目會小一點,也是微軟推薦的發布方式。

  • 技術分享


    確保這份發布應用可以在windows上運行,以減少後續的問題。

服務器安裝CentOS7

這個不多說了,網上好多教程。

服務器安裝.net sdk for .net core

sudo yum install libunwind libicu(安裝libicu依賴)

curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131(下載sdk壓縮包,不一定非要用這個,可以去官網找最新的鏈接

sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet(解壓縮)

sudo ln -s /opt/dotnet/dotnet /usr/local/bin(創建鏈接)

輸入 dotnet –info 來查看是否安裝成功

技術分享

如果可以執行則表明.NET Core SDK安裝成功

部署.net core應用程序到服務器

使用Xftp上傳到服務器,需要註意一點,配置xftp時,協議選擇sftp,不要選ftp,否則會出現連不上服務器的情況。

項目上傳至服務 home/WebApp

檢查項目是否能夠運行

命令:dotnet /home/WebApp/WebApp.dll

  技術分享

可以看到端口號是5000:Now listening on: http://localhost:5000

安裝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

輸入:systemctl start nginx 來啟動nginx。


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

配置Nginx對Asp .Net Core的轉發

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

技術分享

將文本內容替換為上圖:

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        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;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

:wq 覆蓋保存。

執行:nginx –s reload 使其即時生效

感謝博客園的大牛園友的無私奉獻!!

參考:http://www.cnblogs.com/ants/p/5732337.html

.net core項目部署到centos7