asp.net core 2.1 部署 centos7


asp.net core 2.1 部署 centos7

Kestrel 非常適合從 ASP.NET Core 提供動態內容。 但是,Web 服務功能不像服務器(如 IIS、Apache 或 Nginx)那樣功能豐富。 反向代理服務器可以從 HTTP 服務器卸載服務靜態內容、緩存請求、壓縮請求和 SSL 終端等工作。 反向代理服務器可能駐留在專用計算機上,也可能與 HTTP 服務器一起部署。
鑒於此指南的目的,使用 Nginx 的單個實例。 它與 HTTP 服務器一起運行在同一服務器上。

  • 參考文檔
  1. 官方文檔
  • 64位安裝SDK所需依賴
  1. yum update
  2. yum -y install libunwind
  3. yum -y install libicu
  • 注冊微軟產品密鑰
  1. 執行 sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
  • 安裝SDK/runtime
  1. yum -y install dotnet-sdk-2.1 或 yum -y install aspnetcore-runtime-2.1
  • 檢測安裝
  1. 執行 dotnet --info,驗證安裝結果,如下:

.NET Core SDK (reflecting any global.json):

Version: 2.1.401

Commit: 91b1c13032

Runtime Environment:

OS Name: centos

OS Version: 7

OS Platform: Linux

RID: centos.7-x64

Base Path: /usr/share/dotnet/sdk/2.1.401/

...

  • 創建並允許實例
  1. 創建MVC應用程序 X:\mvcApp2 dotnet new mvc
  2. 本地運行(win10) dotnet run
  3. 瀏覽器訪問
  4. 發布linux程序 dotnet publish -c Release -o "XX:\Web_IIS\mvcApp2" -r centos.7-x64

.net core運行時標識符

  1. xftp上傳文件到指定目錄 /home/doetnetcore/mvcApp2
  2. 運行程序 cd /home/dotnetcore/mvcApp2 dotnet mvcApp2.dll 如圖:默認啟用5000端口
  3. centos7 外部計算機若無法訪問,請檢查網絡防火牆(即使關閉防火牆端口默認只開放22)
  4. 檢查站點運行情況 curl http://localhost:5000

curl命令介紹

  1. 查看防火牆狀態 firewall-cmd --state //running 表示運行

附防火牆相關命令

啟動: systemctl start firewalld

查看狀態:systemctl status firewalld

停止:systemctl disable firewalld

禁用:systemctl stop firewalld

啟動服務:systemctl start firewalld.service

關閉服務:systemctl stop firewalld.service

重啟服務:systemctl restart firewalld.service

服務的狀態:systemctl status firewalld.service

在開機時啟用一個服務:systemctl enable firewalld.service

在開機時禁用一個服務:systemctl disable firewalld.service

查看服務是否開機啟動:systemctl is-enabled firewalld.service

查看已啟動的服務列表:systemctl list-unit-files|grep enabled

查看啟動失敗的服務列表:systemctl --failed

查看版本: firewall-cmd --version

查看幫助: firewall-cmd --help

顯示狀態: firewall-cmd --state

查看所有打開的端口: firewall-cmd --zone=public --list-ports

更新防火牆規則: firewall-cmd --reload

查看區域信息: firewall-cmd --get-active-zones

查看指定接口所屬區域: firewall-cmd --get-zone-of-interface=eth0

拒絕所有包:firewall-cmd --panic-on

取消拒絕狀態: firewall-cmd --panic-off

查看是否拒絕: firewall-cmd --query-panic

  • 配置Nginx轉發
  1. 安裝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

  1. 檢查端口占用情況 yum install net-tools netstat -a //端口列表
  2. 啟動 nginx

命令:systemctl start nginx

設置開機啟動 systemctl enable nginx

firewall-cmd --zone=public --add-port=80/tcp --permanent(永久啟用80端口)

重啟防火牆 systemctl restart firewalld

瀏覽器測試nginx能否正常訪問

  1. 修改nginx配置文件

yum -y install vim 可用默認vi替代

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

通過 vim /etc/nginx/conf.d/default.conf 打開,編輯里面的內容,保存時按 Esc 再輸入 :wq! 命令保存退出

修改為如下腳本:

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

  1. 啟動站點 瀏覽器正常訪問asp.netcore 應用程序
  2. Nginx參考文獻

http://nginx.org/en/docs/

http://tengine.taobao.org/book/index.html

其他參考文檔:https://yq.aliyun.com/articles/584510

  • 配置守護服務(Supervisor)

  • 配置Apache轉發

  1. 參考文檔


免責聲明!

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



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