您好,登錄后才能下訂單哦!
Jexus 是一款運行于 Linux 平臺,以支持 ASP.NET、PHP 為特色的集高安全性和高性能為一體的 WEB 服務器和反向代理服務器。最新版 5.8.2 已經發布,有如下更新:
1、現在大部分網站已經部署HTTPS,大家對于安全越來越重視,順應潮流新增HTTPS多證書支持,每個網站都可以配置自己獨立的SSL證書,現在有2種方式支持網站部署HTTPS。
A、添加全服務器使用的SSL配置:如果需要,可以添加一個ssl配置為所有沒有單獨配置ssl的網站提供共享,這個配置,對支持泛域名的證書提供了方便。
方法是,修改jws.conf中的“CertificateFile”和“CertificateKeyFile”項,分別填寫證書文件和私鑰文件(絕對路徑)。
B、為指定的網站添加SSL配置:方法是修改網站配置文件,分別為“ssl.certificate”和“ssl.certificatekey”條目填寫證書文件和私鑰文件(絕對路徑)。
注1:網站啟用https,port必須設為443,并且UseHttps的值設為true。
注2:Jexus Https需要名為libssl的函數庫支持,如果你服務器沒有libss.so.xxx文件,需要安裝openssl。
對于通用版,把libssl注冊到 /usr/etc/mono/config中,即向這個文件添加一行(假設libssl的文件名是"libssl.so.1.0.0"):
“<dllmap dll="libssl" target="/lib/x86_64-linux-gnu/libssl.so.1.0.0" />”
對于獨立版,只需要把libssl軟連到 jexus的runtime/lib文件夾中就行,如:
“sudo ln -s //lib/x86_64-linux-gnu/libssl.so.1.0.0 /usr/jexus/runtime/lib/libssl.so”
注3:如果單獨為網站配備SSL證書,那么該站的hosts項填寫的域名需要與SSL證書支持的域名一致。
2、新增AppHost(HTTP自宿主應用程序管理器)配置項,用于對Asp.net Core、Node.js、Tomcat等自宿主應用程序的管理和高速數據轉發,為自宿主服務程序提供了與站點操作相一致的同步管理和高可用性,為AppHost.Port(應用程序端口轉發)提供多端口支持。
3、啟用FastCGI的KEEP連接復用機制,進一步提升了與PHP等Fast CGI處理程序間的數據交換性能。
4、完善WebSockets的Close方法。
6、新增對HTTP PATCH方法的支持。
7、修復當使用Https向fastcgi、反向代理POST數據時,可能出現數據不完整的BUG。
8、靜態文件并發處理速度提升14%左右。
本版的亮點是新增“AppHost”配置項,將HTTP自宿主應用程序(如Asp.net Core應用程序、Node.js應用程序等)統一納入Jexus的工作進程序列進行管控(啟動、停止、重啟、崩潰后自動恢復等管理、監控功能),為Asp.Net Core應用程序進入企業化生產環境提供了強有力的平臺保障。使用 jexus整合asp.net core的優點:
1)支持多站點,同一端口可以同時支持任何多的asp.net core應用程序;
2)應用程序啟動、停止、重啟與站點的啟動、停止、重啟等操作一致,無需手工管理asp.net core應用程序;
3)具有應用程序崩潰后自動重啟功能,為企業級不間斷運行保障;
4)具有比反向代理更高的性能優勢。
5)提供與IIS相同的HTTP環境參數。
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 }
下面我們實例介紹下Centos 配置ASP.Net Core+ Jexus 運行環境
用Visual Studio 2015 Update 3安裝.net core 1.1 ,創建一個asp.net core項目,我的代碼放在https://github.com/geffzhang/AspNetCoreStarted
安裝jexus5.8.2獨立版(推薦)
cd /tmp wget linuxdot.net/down/jexus-5.8.2-x64.tar.gz tar zxvf jexus-5.8.2-x64.tar.gz cd jexus/ cd siteconf/ vi default
添加AppHost
格式:AppHost={CmdLine=命行行; AppRoot=工作路徑; Port=端口號}
說明:CmdLine:必選項。表示啟動這個web應用程序的命令(含參數),如 CmdLine= dotnet /var/www/aspnetcore/AspNetCoreStarted.dll
AppRoot:必選項。表示這個應用程序的工作目錄,如:AppRoot=/var/www/aspnetcore
Port:可選項。表示這個應用程序的偵聽端口,多個端口用英文逗號分隔(注:如果沒有填寫這一項,就請在AppHost.port或reproxy中填寫端口號,否則,請求數據無法轉發給應用程序)。
Env:可選參數。表示這個應用程序工作時需要的環境變量,如 env=(PATH=/usr/local/bin:/var/www/aspnetcore:$PATH),多個設置用英文逗號分開。
ErrLog:可選項。表示將這個應用程序的異常輸出重定向到指定的文件(需填寫完整路徑),如果不原意輸出日志,可以不用OutLog項。這時, jexus會自動關掉控制臺輸出(實質是重定向到/dev/null中了);
OutLog:可選項。表示將這個應用程序的控制臺輸出重定向到指定的文件(需填寫完整路徑);
User: 可選項。以指定的用戶身份運行該應用程序,默認為root身份。
注意:
1、AppHost像AppHost.Port一樣,不支持虛擬路徑;
2、AppHost功能是將指定的具有http服務能力的web應用程序納入jexus工作進程進行管理,對Asp.Net Core或Node.js等自宿主web程序用于生產環境具有重要的意義。
在Jexus 接管之前試試,確保應用在服務器上運行正常
啟動jexus 服務接管應用的管理
cd /usr/jexus
./jws start
用瀏覽器訪問下我們的網站:
我們檢查下/tmp 目錄下的日志輸出:
已經生成了我們所要的日志:
OutLog輸出的日志很多呀。產品運營環境用的時候,應該把日志級別提高到err級,這樣會少很多記錄,而且不影響速度,少不產生日志會大大提升性能。日志的等級可以這么設置:
我們再來看看Jexus 和 asp.net core的進程
上圖可以看到的確已經是jexus監控下的子進程了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。