Centos部署使用Jexus承載asp.net core2 web應用

一,首先安裝本地開發項目用的的 core對應版本運行時:

https://www.microsoft.com/net/download/linux-package-manager/centos/runtime-2.0.5javascript

    首先在部署服務器註冊微軟簽名祕鑰, 只須要執行一次php

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

 

而後安裝對應的net core 運行時
sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-runtime-2.0.5

 



2,安裝jexus做爲承載服務器

二:Jexus獨立版的安裝

Jexus「獨立版」指的是自帶.net運行時(mono),不須要在客戶服務器安裝mono就能正常運行的Jexus版本,該版本只支持 64位Linux操做系統。css

安裝jexus獨立版的命令是:
curl https://jexus.org/release/x64/install.sh|shhtml

注:運行安裝命令,須要操做者有root權限。java

經常使用命令:python

Jexus包括以下操做命令(首先 cd /usr/jexus):
啓動:sudo ./jws start 
中止:sudo ./jws stop 
重啓:sudo ./jws restart 
linux

三:建立站點

https://www.cnblogs.com/stulzq/p/7324616.htmlweb

首先得建「網站配置文件」,在/usr/jexus/siteconf中的每個文件都是一個網站的配置文件,每個配置文件就表明一個網站。
安裝jexus後,在/usr/jexus/siteocnf中,就已經有一個默認的網站配置文件,文件名叫「default」。
你能夠修改這個配置文件,也能夠將這個配置文件複製並修改成一個新站。
配置文件中,有關鍵的三項是必填項:
port:端口號定義
root:虛擬根路徑和物理根路徑的定義
hosts:域名定義
 
端口號(port)是一個整數,通常是80,也能夠是65535如下的其它整數,但這個端口號必須沒有其它服務程序佔用。
根路徑(root)由兩部分組成,中間用空格分開。空格前表示這個網站訪問時的虛擬根路徑(通常都是「/」),空格後是存放這個網站內容的文件夾的物理路徑(好比「/var/www/default」)。
域名(hosts),填寫訪問這個網站的域名,若是有多個域名,域名間就英文逗號分開,同時還能夠用「泛域名」,好比「*.mysite.com」。
網站名:jexus把網站配置文件的名稱,做爲網站名。
** 強調,網站配置文件名,不能有空格,第一個字符不能是「~」。
 
 
執行如下命令,建立網站目錄:
mkdir /wwwroot/test
cd /wwwroot/test
上傳網站文件到 test 目錄,而後修改jexus站點配置,這裏使用默認配置 default

修改配置以下圖:


修改完成,保存退出!
執行命令重啓jexus:
/usr/jexus/jws restart


四:部署core站點

使用ftp等工具上傳至服務器centos

這裏我放在/wwwroot/animal
而後配置animal站點的config文件
主要是: AppHost={cmd=dotnet /wwwroot/animal/xxxxx.dll; root=/wwwroot/student; port=5000}
 AppHost配置要點:
一,AppHost中的 root 路徑必定要寫對,要寫你那個程序的完整程徑
二,AppHost中的 dotnet 命令建議寫完整路徑
三,AppHost中的 port=0 很好用,但有前提(前提是你沒有在core web程序或它的配置文件中設置端口號)
 Jexus自帶進程守護 ,因此只要把jexus設置爲系統服務便可

AppHost的配置格式是:
AppHost={CmdLine=應用程序命令行; AppRoot=應用程序工做目錄; Port=應用程序HTTP偵聽端口},其中:
「CmdLine」表示啓動應用程序的命令行,如:dotnet /var/www/site1/app.dll;
「AppRoot」表示應用程序工做目錄,如:/var/www/site1;
「Port」表示這個HTTP應用程序所使用的偵聽端口,如:5000(Asp.Core默認端口是5000)。服務器

例如,假設Asp.Net Core應用程序存放的路徑在「/var/www/mysite」,其啓動程序存放在該文件夾中,名稱是「webapp」,程序啓動後的偵聽端口是5000,那麼,AppHost配置應爲: 
AppHost={CmdLine=/var/www/mysite/webapp;AppRoot=/var/www/mysite; port=5000 }
重啓某個站點:
sudo /usr/jexus/jws restart siteName格式五:安裝守護進程

五:安裝守護進程

http://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html

【安裝Supervisor】

1.yum install python-setuptools
2.easy_install supervisor

 


【配置Supervisor】
1.mkdir /etc/supervisor
2.echo_supervisord_conf > /etc/supervisor/supervisord.conf

 


修改supervisord.conf文件,將文件尾部的配置
;[include]
;files = relative/directory/*.ini
改爲
[include]
files = conf.d/*.conf

【配置對ASP.NET Core應用的守護】
在/etc/supervisor/conf.d/目錄下建立一個DotNetCoreWeb.conf文件,內容大體以下:

建立語法 touch DotNetCoreWeb.conf

[program:DotNetCoreWeb]
command=dotnet Portal.dll ; 運行程序的命令
directory=/home/wwwroot/DotNetCoreWeb/ ; 命令執行的目錄
autorestart=true ; 程序意外退出是否自動重啓
stderr_logfile=/var/log/DotNetCoreWeb.err.log ; 錯誤日誌文件
stdout_logfile=/var/log/DotNetCoreWeb.out.log ; 輸出日誌文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 進程環境變量
user=root ; 進程執行的用戶身份
stopsignal=INT

做者:StrongAndyZhang
連接:https://www.jianshu.com/p/e1b5ee442a70
來源:簡書
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。

運行supervisord,查看是否生效:

supervisord -c /etc/supervisor/supervisord.conf
ps -ef | grep DotNetCoreWeb

至此關於ASP.NET Core應用程序的守護即配置完成

相關文章
相關標籤/搜索