.net core項目部署到centos7
阿新 • • 發佈:2017-10-20
查看 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