釋出自己的第一版asp.net core的RESTful介面程式
阿新 • • 發佈:2018-12-26
使用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