1. 程式人生 > >釋出自己的第一版asp.net core的RESTful介面程式

釋出自己的第一版asp.net core的RESTful介面程式

使用window開發一個簡單的asp.net Core的RESTfull程式,網上很多,這裡不說,我是直接使用IDE自己生成的專案來發布的。沒有修改過主要程式碼。在IDE裡釋出到本地目錄,得到類似檔案

好了,去linux伺服器上安裝dotnet core

https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial#install

注意選擇需要作業系統

把釋出的資料夾上傳到linux上,在當前目錄下執行如下命令

dotnet MyPriceApi.dll

到此我都比較順利。但以上命令在斷開終端後,程式會退出。所以還需要弄個守護程序。結果網上的資訊比較舊的,搞得很是狼狽。最後在參考以下文章,

https://www.xncoding.com/2016/10/12/linux/supervisor.html

才得到完成。這裡詳細說說

安裝配置supervisor

我使用以下命令安裝

yum install  supervisor

安裝完成之後,可以執行 echo_supervisord_conf 生成預設的配置檔案:

echo_supervisord_conf > /etc/supervisord.conf

修改配置檔案,方便匯入子目錄下的所有conf檔案

vi /etc/supervisord.conf

將檔案尾部的files一段修改如下

[include]
files 
= supervisord.d/*.conf

之後在/etc/supervisord.d目錄下建立我自己其中的一個專案配置檔案priceApi.conf,內容如下:

[program: MyPriceApi]
command=dotnet MyPriceApi.dll ; 執行程式的命令
directory=/opt/publish/ ; 命令執行的目錄
autorestart=true ; 程式意外退出是否自動重啟
autostart=true ; 是否自動啟動
stderr_logfile=/var/log/MyPriceApi.err.log ; 錯誤日誌檔案
stdout_logfile
=/var/log/MyPriceApi.out.log ; 輸出日誌檔案 environment=ASPNETCORE_ENVIRONMENT=Production ; 程序環境變數 user=root ; 程序執行的使用者身份 stopsignal=INT startsecs=1 ; 自動重啟間隔

將文中開始說到的檔案都上傳到linux的/opt/publish目錄下,啟動守護程序程式

systemctl start supervisord.service

期間還遇到過伺服器曾升級過python,部分命令支行出錯,需要vi相關命令檔案,修改頭的一行#!/usr/bin/python修改為#!/usr/bin/python2.7