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