Linux部署动态网页,Nginx发布支持动态配置的开源Web服务器
NGINX最近發(fā)布了NGINX Unit 1.0版。NGINX Unit是一種開源的Web和應(yīng)用服務(wù),它支持遠(yuǎn)程配置和動態(tài)配置,使得配置上的更改不會對服務(wù)造成中斷。Unit 1.0還支持在同一實例中運行Go、Perl、PHP、Python和Ruby等多種語言,也支持同一語言的多個版本。
NGINX Unit并非依賴于靜態(tài)的配置文件,而是使用JSON通過REST API進(jìn)行配置。所有的配置直接存儲在內(nèi)存中,支持運行中的服務(wù)無需重啟即可應(yīng)用配置更改。路由過程同樣也是持續(xù)的,不需要重啟。
Unit的基本配置需要指定至少一個監(jiān)聽器和一個應(yīng)用。在對監(jiān)聽器的定義中,指定了Unit監(jiān)聽的具體IP和端口,并重定向到一個命名的應(yīng)用。在對應(yīng)用的定義中,可支持指定具體的語言、應(yīng)用文件的目錄和過程的數(shù)量。
例如,用戶可以做如下的配置,在端口8300上定義一個監(jiān)聽器,為“/www/blogs/scripts”目錄中的PHP應(yīng)用提供服務(wù),最大可使用20個進(jìn)程:
{
"listeners": {
"*:8300": {
"application": "blogs"
}
},
"applications": {
"blogs": {
"type": "php",
"processes": 20,
"root": "/www/blogs/scripts",
"index": "index.php"
}
}
}
Unit官方文檔中的推薦做法,是將上述配置存儲在一個(受版本控制的)文件中,然后POST到服務(wù)器端。如果上述配置是存儲在一個名為start.json的文件中,那么可以使用如下命令創(chuàng)建初始配置:
# curl -X PUT -d @/path/to/start.json --unix-socket /path/to/control.unit.sock http://localhost/
Unit實現(xiàn)了路由進(jìn)程和具體運行應(yīng)用代碼的應(yīng)用進(jìn)程相分離。每個應(yīng)用過程池在自身的沙箱中運行,這確保了該進(jìn)程與其它進(jìn)程的分離。這種分離支持運行不同語言的多個應(yīng)用分享同一個服務(wù)器。
圖 NGINX Unix的架構(gòu)(NGINX官方提供)
下面的配置例子,設(shè)置在同一個Unit服務(wù)器中運行Go和Perl應(yīng)用:
{
"listeners": {
"*:8500": {
"application": "go_chat_app"
},
"127.0.0.1:8600": {
"application": "bugtracker"
}
},
"applications": {
"go_chat_app": {
"type": "go",
"user": "www-chat",
"group": "www-chat",
"working_directory": "/www/chat",
"executable": "bin/chat_app"
},
"bugtracker": {
"type": "perl",
"processes": 3,
"user": "www",
"group": "www",
"working_directory": "/www/bugtracker",
"script": "app.psgi"
} }
}
據(jù)NGINX產(chǎn)品負(fù)責(zé)人Owen Garrett介紹,Unit適用于獨立架構(gòu),也適用于基于微服務(wù)的架構(gòu)。它支持對進(jìn)程做按需擴展,并在每個進(jìn)程自身的沙箱中執(zhí)行該進(jìn)程。
NGINX規(guī)劃在未來的版本中添加對Java和Node.js語言的支持。企業(yè)還規(guī)劃支持SSL和HTTP/2,以及使用URI和主機名提供對靜態(tài)內(nèi)容和路由的服務(wù)。
下面關(guān)于Nginx的文章您也可能喜歡,不妨參考下:
Nginx 的詳細(xì)介紹:請點這里
Nginx 的下載地址:請點這里
總結(jié)
以上是生活随笔為你收集整理的Linux部署动态网页,Nginx发布支持动态配置的开源Web服务器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux网卡O I流量查询,查看lin
- 下一篇: linux 其他常用命令