nginx和apache分別是什么?
Nginx
Nginx 是俄羅斯人編寫的十分輕量級的 HTTP 服務(wù)器,Nginx,它的發(fā)音為“engine X”,是一個高性能的 HTTP 和反向代理服務(wù)器,同時也是一個 IMAP/POP3/SMTP 代理服務(wù)器。
Nginx 因?yàn)樗姆€(wěn)定性、豐富的模塊庫、靈活的配置和低系統(tǒng)資源的消耗而聞名.業(yè)界一致認(rèn)為它是 Apache2.2+mod_proxy_balancer 的輕量級代替者,不僅是因?yàn)轫憫?yīng)靜態(tài)頁面的速度非常快,而且它的模塊數(shù)量達(dá)到 Apache 的近 2/3。對 proxy 和 rewrite 模塊的支持很徹底,還支持 mod_fcgi、ssl、vhosts ,適合用來做 mongrel clusters 的前端 HTTP 響應(yīng)。
目前 Nginx 在國內(nèi)很多大型企業(yè)都有應(yīng)用,且普及率呈逐年上升趨勢。選擇 Nginx 的理由也很簡單:
第一,它可以支持 5W 高并發(fā)連接;
第二,內(nèi)存消耗少;
第三,成本低。
ApacheApache HTTP Server(簡稱Apache)是Apache軟件基金會的一個開放源碼的網(wǎng)頁服務(wù)器,可以在大多數(shù)計算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過簡單的API擴(kuò)展,將Perl/Python等解釋器編譯到服務(wù)器中。 [2] Apache HTTP服務(wù)器是一個模塊化的服務(wù)器,源于NCSAhttpd服務(wù)器,經(jīng)過多次修改,成為世界使用排名第一的Web服務(wù)器軟件。它可以運(yùn)行在幾乎所有廣泛使用的計算機(jī)平臺上。區(qū)別與聯(lián)系兩者最核心的區(qū)別在于 apache 是同步多進(jìn)程模型,一個連接對應(yīng)一個進(jìn)程,而 nginx 是異步的,多個連接(萬級別)可以對應(yīng)一個進(jìn)程。一般來說,需要性能的 web 服務(wù),用 nginx 。如果不需要性能只求穩(wěn)定,更考慮 apache ,后者的各種功能模塊實(shí)現(xiàn)得比前者,例如 ssl 的模塊就比前者好,可配置項(xiàng)多。epoll(freebsd 上是 kqueue ) 網(wǎng)絡(luò) IO 模型是 nginx 處理性能高的根本理由,但并不是所有的情況下都是 epoll 大獲全勝的,如果本身提供靜態(tài)服務(wù)的就只有寥寥幾個文件,apache 的 select 模型或許比 epoll 更高性能。當(dāng)然,這只是根據(jù)網(wǎng)絡(luò) IO 模型的原理作的一個假設(shè),真正的應(yīng)用還是需要實(shí)測了再說的。