Jexus 5.8.2正式發(fā)布! 為Asp.Net Core生產(chǎn)環(huán)境提供平臺(tái)支持
Jexus 是一款運(yùn)行于 Linux 平臺(tái),以支持 ASP.NET、PHP 為特色的集高安全性和高性能為一體的 WEB 服務(wù)器和反向代理服務(wù)器。最新版 5.8.2 已經(jīng)發(fā)布,有如下更新:
1、現(xiàn)在大部分網(wǎng)站已經(jīng)部署HTTPS,大家對(duì)于安全越來(lái)越重視,順應(yīng)潮流新增HTTPS多證書支持,每個(gè)網(wǎng)站都可以配置自己獨(dú)立的SSL證書,現(xiàn)在有2種方式支持網(wǎng)站部署HTTPS。
A、添加全服務(wù)器使用的SSL配置:如果需要,可以添加一個(gè)ssl配置為所有沒(méi)有單獨(dú)配置ssl的網(wǎng)站提供共享,這個(gè)配置,對(duì)支持泛域名的證書提供了方便。
方法是,修改jws.conf中的“CertificateFile”和“CertificateKeyFile”項(xiàng),分別填寫證書文件和私鑰文件(絕對(duì)路徑)。
B、為指定的網(wǎng)站添加SSL配置:方法是修改網(wǎng)站配置文件,分別為“ssl.certificate”和“ssl.certificatekey”條目填寫證書文件和私鑰文件(絕對(duì)路徑)。
注1:網(wǎng)站啟用https,port必須設(shè)為443,并且UseHttps的值設(shè)為true。
注2:Jexus Https需要名為libssl的函數(shù)庫(kù)支持,如果你服務(wù)器沒(méi)有l(wèi)ibss.so.xxx文件,需要安裝openssl。
對(duì)于通用版,把libssl注冊(cè)到 /usr/etc/mono/config中,即向這個(gè)文件添加一行(假設(shè)libssl的文件名是"libssl.so.1.0.0"):
“<dllmap dll="libssl" target="/lib/x86_64-linux-gnu/libssl.so.1.0.0" />”
對(duì)于獨(dú)立版,只需要把libssl軟連到 jexus的runtime/lib文件夾中就行,如:
“sudo ln -s //lib/x86_64-linux-gnu/libssl.so.1.0.0 /usr/jexus/runtime/lib/libssl.so”
注3:如果單獨(dú)為網(wǎng)站配備SSL證書,那么該站的hosts項(xiàng)填寫的域名需要與SSL證書支持的域名一致。
2、新增AppHost(HTTP自宿主應(yīng)用程序管理器)配置項(xiàng),用于對(duì)Asp.net Core、Node.js、Tomcat等自宿主應(yīng)用程序的管理和高速數(shù)據(jù)轉(zhuǎn)發(fā),為自宿主服務(wù)程序提供了與站點(diǎn)操作相一致的同步管理和高可用性,為AppHost.Port(應(yīng)用程序端口轉(zhuǎn)發(fā))提供多端口支持。
3、啟用FastCGI的KEEP連接復(fù)用機(jī)制,進(jìn)一步提升了與PHP等Fast CGI處理程序間的數(shù)據(jù)交換性能。
4、完善WebSockets的Close方法。
6、新增對(duì)HTTP PATCH方法的支持。
7、修復(fù)當(dāng)使用Https向fastcgi、反向代理POST數(shù)據(jù)時(shí),可能出現(xiàn)數(shù)據(jù)不完整的BUG。
8、靜態(tài)文件并發(fā)處理速度提升14%左右。
本版的亮點(diǎn)是新增“AppHost”配置項(xiàng),將HTTP自宿主應(yīng)用程序(如Asp.net Core應(yīng)用程序、Node.js應(yīng)用程序等)統(tǒng)一納入Jexus的工作進(jìn)程序列進(jìn)行管控(啟動(dòng)、停止、重啟、崩潰后自動(dòng)恢復(fù)等管理、監(jiān)控功能),為Asp.Net Core應(yīng)用程序進(jìn)入企業(yè)化生產(chǎn)環(huán)境提供了強(qiáng)有力的平臺(tái)保障。使用 jexus整合asp.net core的優(yōu)點(diǎn):
1)支持多站點(diǎn),同一端口可以同時(shí)支持任何多的asp.net core應(yīng)用程序;
2)應(yīng)用程序啟動(dòng)、停止、重啟與站點(diǎn)的啟動(dòng)、停止、重啟等操作一致,無(wú)需手工管理asp.net core應(yīng)用程序;
3)具有應(yīng)用程序崩潰后自動(dòng)重啟功能,為企業(yè)級(jí)不間斷運(yùn)行保障;
4)具有比反向代理更高的性能優(yōu)勢(shì)。
5)提供與IIS相同的HTTP環(huán)境參數(shù)。
AppHost的配置格式是:
AppHost={CmdLine=應(yīng)用程序命令行; AppRoot=應(yīng)用程序工作目錄; Port=應(yīng)用程序HTTP偵聽(tīng)端口},其中:
“CmdLine”表示啟動(dòng)應(yīng)用程序的命令行,如:dotnet /var/www/site1/app.dll;
“AppRoot”表示應(yīng)用程序工作目錄,如:/var/www/site1;
“Port”表示這個(gè)HTTP應(yīng)用程序所使用的偵聽(tīng)端口,如:5000(Asp.Core默認(rèn)端口是5000)。
例如,假設(shè)Asp.Net Core應(yīng)用程序存放的路徑在“/var/www/mysite”,其啟動(dòng)程序存放在該文件夾中,名稱是“webapp”,程序啟動(dòng)后的偵聽(tīng)端口是5000,那么,AppHost配置應(yīng)為:
AppHost={CmdLine=/var/www/mysite/webapp;AppRoot=/var/www/mysite; port=5000 }
下面我們實(shí)例介紹下Centos 配置ASP.Net Core+ Jexus 運(yùn)行環(huán)境
用Visual Studio 2015 Update 3安裝.net core 1.1 ,創(chuàng)建一個(gè)asp.net core項(xiàng)目,我的代碼放在https://github.com/geffzhang/AspNetCoreStarted
安裝jexus5.8.2獨(dú)立版(推薦)
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=端口號(hào)}
說(shuō)明:CmdLine:必選項(xiàng)。表示啟動(dòng)這個(gè)web應(yīng)用程序的命令(含參數(shù)),如 CmdLine= dotnet /var/www/aspnetcore/AspNetCoreStarted.dll
AppRoot:必選項(xiàng)。表示這個(gè)應(yīng)用程序的工作目錄,如:AppRoot=/var/www/aspnetcore
Port:可選項(xiàng)。表示這個(gè)應(yīng)用程序的偵聽(tīng)端口,多個(gè)端口用英文逗號(hào)分隔(注:如果沒(méi)有填寫這一項(xiàng),就請(qǐng)?jiān)贏ppHost.port或reproxy中填寫端口號(hào),否則,請(qǐng)求數(shù)據(jù)無(wú)法轉(zhuǎn)發(fā)給應(yīng)用程序)。
Env:可選參數(shù)。表示這個(gè)應(yīng)用程序工作時(shí)需要的環(huán)境變量,如 env=(PATH=/usr/local/bin:/var/www/aspnetcore:$PATH),多個(gè)設(shè)置用英文逗號(hào)分開(kāi)。
ErrLog:可選項(xiàng)。表示將這個(gè)應(yīng)用程序的異常輸出重定向到指定的文件(需填寫完整路徑),如果不原意輸出日志,可以不用OutLog項(xiàng)。這時(shí), jexus會(huì)自動(dòng)關(guān)掉控制臺(tái)輸出(實(shí)質(zhì)是重定向到/dev/null中了);
OutLog:可選項(xiàng)。表示將這個(gè)應(yīng)用程序的控制臺(tái)輸出重定向到指定的文件(需填寫完整路徑);
User: 可選項(xiàng)。以指定的用戶身份運(yùn)行該應(yīng)用程序,默認(rèn)為root身份。
注意:
1、AppHost像AppHost.Port一樣,不支持虛擬路徑;
2、AppHost功能是將指定的具有http服務(wù)能力的web應(yīng)用程序納入jexus工作進(jìn)程進(jìn)行管理,對(duì)Asp.Net Core或Node.js等自宿主web程序用于生產(chǎn)環(huán)境具有重要的意義。
在Jexus 接管之前試試,確保應(yīng)用在服務(wù)器上運(yùn)行正常
啟動(dòng)jexus 服務(wù)接管應(yīng)用的管理
cd /usr/jexus
./jws start
用瀏覽器訪問(wèn)下我們的網(wǎng)站:
我們檢查下/tmp 目錄下的日志輸出:
已經(jīng)生成了我們所要的日志:
OutLog輸出的日志很多呀。產(chǎn)品運(yùn)營(yíng)環(huán)境用的時(shí)候,應(yīng)該把日志級(jí)別提高到err級(jí),這樣會(huì)少很多記錄,而且不影響速度,少不產(chǎn)生日志會(huì)大大提升性能。日志的等級(jí)可以這么設(shè)置:
我們?cè)賮?lái)看看Jexus 和 asp.net core的進(jìn)程
上圖可以看到的確已經(jīng)是jexus監(jiān)控下的子進(jìn)程了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Centos7.3服務(wù)器搭建LNMP環(huán)境的方法
這篇文章主要介紹了Centos7.3服務(wù)器搭建LNMP環(huán)境的方法,結(jié)合實(shí)例形式分析了Centos7.3搭建LNMP環(huán)境的相關(guān)步驟、命令、使用方法及注意事項(xiàng),需要的朋友可以參考下2018-04-04centos7下安裝oracle11gR2的詳細(xì)步驟
本篇文章主要介紹了centos7下安裝oracle11gR2的詳細(xì)步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02linux系統(tǒng)中rsync+inotify實(shí)現(xiàn)服務(wù)器之間文件實(shí)時(shí)同步
這篇文章主要介紹了rsync+inotify實(shí)現(xiàn)服務(wù)器之間文件實(shí)時(shí)同步,需要的朋友可以參考下2014-11-11linux下安裝openssl、swoole等擴(kuò)展的詳細(xì)步驟
本文給大家詳細(xì)介紹了linux下安裝openssl、swoole等擴(kuò)展的,本文涉及到編譯安裝和yum安裝的知識(shí)點(diǎn),本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2016-10-10Linux回收站機(jī)制實(shí)現(xiàn)過(guò)程及用法詳解
這篇文章主要介紹了Linux回收站機(jī)制實(shí)現(xiàn)過(guò)程及用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08Linux中配置雙機(jī)SSH信任 操作說(shuō)明
本篇文章小編為大家介紹,Linux中配置雙機(jī)SSH信任 操作說(shuō)明。需要的朋友參考下2013-04-04Linux中如何查看文件的創(chuàng)建時(shí)間詳解
這篇文章主要給大家介紹了關(guān)于Linux中如何查看文件的創(chuàng)建時(shí)間的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12