開發日誌:Kylin麒麟作業系統部署ASP.NET CORE

峡谷少爷發表於2024-04-25

需求場景:

我需要部署的專案是在Windows上開發的,目標框架為.net core 6.0 因此我們需要先在kylin上部署專案執行所需要的環境。

藉助百度詞條,先看看Kylin是什麼:

伺服器資源:

檢視系統版本 cat /etc/kylin-release cat /proc/version

需要用到的工具:

  1. SSH遠端連結工具 https://mobaxterm.mobatek.net/download.html
  2. 7-zipWindows下打包tar.gz檔案 https://7-zip.org/download.html

部署步驟和方法:

在Kylin作業系統中安裝ASP.NET Core,您可以遵循以下步驟:

    1. 開啟終端(SSH遠端連結工具)
    2. 新增Microsoft包儲存庫:rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
    3. 安裝.NET Core SDK:yum install dotnet-sdk-6.0
    4. 安裝ASP.NET Core 執行時:yum install aspnetcore-runtime-6.0
    5. 上傳編譯好的DotNet專案檔案(*.tar.gz)上傳目錄 /root/website/ 也就是當前目錄
  1. 解壓tar -zxvf *.tar.gz 專案檔案到指定目錄
  2. 執行專案 dotnet *.dll
  3. 訪問專案,這時需要一直開著終端才能訪問所以需要
  4. 安裝Supervisor守護程序
  5. 完成

以上步驟會在Kylin作業系統上安裝.NET Core SDK和ASP.NET Core 執行時以及專案部署到Kylin伺服器上。請確保替換步驟4中的URL,使之指向最新的.NET Core版本。

Supervisor安裝步驟:

  1. 輸入命令:yum install python-setuptools
  2. 輸入命令:easy_install supervisor
  3. 配置Supervisor:mkdir /etc/supervisor 執行 echo_supervisord_conf > /etc/supervisor/supervisord.conf 生成配置檔案
    1. 修改/etc/supervisor/supervisord.conf檔案內容在檔案結尾[include]節點處把;

    2. files = relative/directory/*.ini 改為 files = conf.d/*.conf

    3. 在/etc/supervisor/下建立conf.d資料夾,ProjectName.conf(以專案名稱命名)
  4. 重啟命令:supervisorctl reload
  5. 執行supervisord,檢視是否生效,執行以下命令:
  6. supervisord -c /etc/supervisor/supervisord.conf
  7. ps -ef | grep ProjectName

使用7-zip打包tar.gz檔案:

  1. 右鍵-7.ZIP-新增壓縮包壓縮格式選擇"tar"確定
  2. 選擇打包好的“tar”右鍵-7.ZIP-新增壓縮包壓縮格式選擇"gzip"確定就打包*.tar.gz格式的檔案了

碰到的問題:

A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 31 - Encryption(ssl/tls) handshake failed)
https://github.com/dotnet/SqlClient/issues/2252

解決方法:

vim /etc/pki/tls/openssl.cnf
#在oid_section=new_oids下增加
openssl_conf = default_conf
#在檔案末尾增加
[default_conf]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT@SECLEVEL=1

相關文章