導航:首頁 > 編程語言 > nginx與iisphp

nginx與iisphp

發布時間:2022-12-11 15:49:51

php在IIS8 Apache Nginx 哪個性能更好

IIS8是首先排除的,因為IIS對PHP的支持不是那麼好。
Apache是處理動態頁面較快,但是卻會將靜態頁面也通過動態頁面的處理方式來處理,所以會導致靜態頁面輸出相對較慢,而且造成了資源浪費。
Nginx可以說是Apache的反面,特性剛好相反,所以說可以採用Apache+Nginx的方式來架設,使用Apache處理動態頁面,Nginx處理靜態頁面

Ⅱ php和nginx之間是如何工作的

Nginx+php-fpm實現原理 Nginx本身不會對PHP進行解析,終端對PHP頁面的請求將會被Nginx交給FastCGI進程監聽的IP地址及埠,由php-fpm作為動態解析伺服器處理,最後將處理結果再返回給nginx。其實,Nginx就是一個反向代理伺服器。Nginx通過反向代理功能將動態請求轉向後端php-fpm,從而實現對PHP的解析支持,這就是Nginx實現PHP動態解析的原理。 Nginx不支持對外部程序的直接調用或者解析,所有的外部程序(包括PHP)必須通過FastCGI介面來調用。FastCGI介面在linux下是socket(這個socket可以是文件socket,也可以是ip socket)。為了調用CGI程序,還需要一個FastCGI的wrapper(wrapper可以理解為用於啟動另一個程序的程序),這個wrapper綁定在某個固定socket上,如埠或者文件socket。當Nginx將CGI請求發送給這個socket的時候,通過FastCGI介面,wrapper接收到請求,然後派生出一個新的線程,這個線程調用解釋器或者外部程序處理腳本並讀取返回數據;接著,wrapper再將返回的數據通過FastCGI介面,沿著固定的socket傳遞給Nginx;最後,Nginx將返回的數據發送給客戶端。
當nginx接收到一個http請求時,通過配置文件找到對應的server。然後匹配server中的所有location,找到最匹配的。而在location中的命令會啟動不同的模塊去完成工作,比如rewrite模塊、index模塊。因此在nginx中模塊可以看作真正的勞動工作者。nginx的模塊是被編譯到nginx中的,屬於靜態方式。啟動nginx時,模塊被自動載入。

Ⅲ windows系統上iis+fastcgi+php跟nginx哪個好

肯定是nginx好,並發性能好,資料也多,如果以後遷移到linux平台也差不多,因為linux下也有nginx,但是沒IIS.

Ⅳ php伺服器用IIS好還是用Apache好,其他的伺服器怎麼

看你的項目,apache肯定好於iis的,但是apache和nginx之間也是有區別的。
輕量級,同樣起web 服務,比apache 佔用更少的內存及資源 ,抗並發,nginx 處理請求是非同步非阻塞的,而apache 則是阻塞型的,在高並發下nginx 能保持低資源低消耗高性能 ,高度模塊化的設計,編寫模塊相對簡單,社區活躍,各種高性能模塊出品迅速啊
apache 相對於nginx 的優點:
rewrite ,比nginx 的rewrite 強大,模塊超多,基本想到的都可以找到,少bug ,nginx 的bug 相對較多,超穩定,存在就是理由,一般來說,需要性能的web 服務,用nginx 。如果不需要性能只求穩定,那就apache 吧。後者的各種功能模塊實現得比前者,例如ssl 的模塊就比前者好,可配置項多。這里要注意一點,epoll(freebsd 上是 kqueue )網路IO 模型是nginx 處理性能高的根本理由,但並不是所有的情況下都是epoll 大獲全勝的,如果本身提供靜態服務的就只有寥寥幾個文件,apache 的select 模型或許比epoll 更高性能。當然,這只是根據網路IO 模型的原理作的一個假設,真正的應用還是需要實測了再說的。
---------------------

Ⅳ PHP+MYSQL或者NOSQL 從性能角度 選擇IIS好還是APACHE或者NGINX

看你要幹嘛了...本地測試還是做伺服器...
伺服器用windows的話,就用iis+php+mysql吧...iis自帶...
linux主機就用apache+php+mysql就好了
本地測試,用iis+php+mysql或者apache+php+mysql都可以
也可以用集成的伺服器軟體來做,比如APMServ或者織夢的伺服器集成軟體都可以...
看你具體的用途了...
如果是初學,又不想配置伺服器,建議你用集成軟體...
省時間,安全,快捷...
如果是想學習配置伺服器的話,呃~~~我只會apache+php+mysql的配置
一定要注意80埠和防火牆的設置了...
80埠被佔用的話 伺服器就會無法啟動

Ⅵ IIS、Apache、Tomcat、Nginx、CDN,它們之間有何區別

一個學習的總結,或者說是匯總,有些鏈接給出的觀點過時,已按照自己的理解經過修改編輯;

web伺服器

Web伺服器的基本功能就是提供Web信息瀏覽服務,響應客戶端的瀏覽器請求。因為Web伺服器主要支持的協議就是HTTP,所以通常情況下HTTP伺服器和WEB伺服器是相等的。待考:支持除HTTP之外的協議的web伺服器?

不支持事務處理或資料庫連接池,但它可以配置各種策略來實現容錯性和可擴展性,例如負載平衡,緩沖,集群。

IIS、Apache、Tomcat都可以屬於Web伺服器。

IIS 是微軟開發的web伺服器,需要收費,主要用來跑 asp.net asp php,只能在windows下運行。


Apache與Tomcat都是Apache開源組織開發的用於處理HTTP服務的項目,兩者都是免費的,都可以做為獨立的Web伺服器運行。Apache是Web伺服器而Tomcat是java應用伺服器。Apache伺服器 只處理 靜態HTML,而tomcat伺服器 靜態HTML 動態 JSP Servlet 都能處理。

一般是把 Apache伺服器 與 tomcat伺服器 搭配在一起用:

1) Apache伺服器 負責處理所有 靜態的 頁面/圖片 等信息。

2) Tomcat 只處理動態的 部分。

Apache:是C語言實現的,專門用來提供HTTP服務。特性:簡單、速度快、性能穩定、可配置(代理)

1、主要用於解析靜態文本,並發性能高,側重於HTTP服務;

2、支持靜態頁(HTML),不支持動態請求如:CGI、Servlet/JSP、PHP、ASP等;3、具有很強的可擴展性,可以通過插件支持PHP,還可以單向Apache連接Tomcat實現連通;

4、Apache是世界使用排名第一的Web伺服器。

Tomcat:是Java開發的一個符合JavaEE的Servlet規范的JSP伺服器(Servlet容器),是 Apache 的擴展。特性:免費的Java應用伺服器

1、主要用於解析JSP/Servlet,側重於Servlet引擎;

2、支持靜態頁,但效率沒有Apache高;支持Servlet、JSP請求;

3、Tomcat本身也內置了一個HTTP伺服器用於支持靜態內容,可以通過Tomcat的配置管理工具實現與Apache整合。

Apache + Tomcat:兩者整合後優點:如果請深圳市是靜態網頁則由Apache處理,並將結果返回;如果是動態請求,Apache會將解析工作轉發給Tomcat處理,Tomcat處理後將結果通過Apache返回。這樣可以達到分工合作,實現負載遠衡,提高系統的性能。apache是web伺服器,tomcat是應用(java)伺服器,它只是一個servlet容器,可以認為是apache的擴展,但是可以獨立於apache運行。獨立於apache運行。換句話說,apache是一輛卡車,上面可以裝一些東西如html等。但是不能裝水,要裝水必須要有容器(桶),而這個桶也可以不放在卡車上。

Nginx是俄羅斯人編寫的十分輕量級的HTTP伺服器,Nginx,它的發音為「engine X」,是一個高性能的HTTP和反向代理伺服器,同時也是一個IMAP/POP3/SMTP 代理伺服器。

Nginx與Apache比較:

1)輕量級,同樣起web 服務,比apache佔用更少的內存及資源 ;

2)高並發,nginx 處理請求是非同步非阻塞的,而apache 則是阻塞型的,在高並發下nginx 能保持低資源低消耗高性能 ;

3)高度模塊化的設計,編寫模塊相對簡單 ;

4)提供負載均衡;

5)apache是同步多進程模型,一個連接對應一個進程;nginx是非同步的,多個連接(萬級別)可以對應一個進程;

Web Server中文名稱叫網頁伺服器或web伺服器。WEB伺服器也稱為WWW(WORLD WIDE WEB)伺服器,主要功能是提供網上信息瀏覽服務 IIS

IIS是微軟公司的Web伺服器。主要支持ASP語言環境,對於中小企業來說建立自己的網站,對外展示自己的頁面是最平常不過的事情了。目前最流行的建立WWW服務工具就要屬Apache與IIS了。 IIS只能在微軟公司的windows操作系統下使用,離開了windows他將一事無成。無法移植到其他類型的操作系統中。

Tomcat

java裡面一個web容器,就是一個http請求來了,它幫你接受,可能再對請求做些處理,然後拉起你controller的代碼,把請求傳進去,最後當controller處理結束後,再把請求簡單處理一下返回給請求者。

Tomcat 伺服器是一個免費的開放源代碼的Web 應用伺服器,屬於輕量級應用伺服器,在中小型系統和並發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。對於一個初學者來說,可以這樣認為,當在一台機器上配置好Apache 伺服器,可利用它響應HTML(標准通用標記語言下的一個應用)頁面的訪問請求。實際上Tomcat 部分是Apache 伺服器的擴展,但它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。

CDN

中文叫內容分發網路,都是雲服務商在運營,它可以讓你的用戶在訪問資源的時候就近訪問,提高靜態資源的訪問速度。

這些都是不同的東西,不過都是概念上的,功能上有一定的重疊,不過在使用中基本都是不同的東西。

一般生產上iis,nginx,apache都是當反向代理用,少數情況會當靜態文件伺服器用。tomcat,無論何時都是web容器。cdn一般只在生產上用,主要是提供靜態文件服務。

至於他們的實現,理論上講用什麼語言否沒問題,不管是java node還是啥的,不過有現成的,應該沒人會造新的。

Apache

Apache是一個web伺服器環境程序 啟用他可以作為web伺服器使用 不過只支持靜態網頁. 但asp,php,cgi,jsp等動態網頁的就不行. 如果要在APACHE環境下運行jsp 的話就需要一個解釋器來執行jsp網頁, 而這個jsp解釋器就是TOMCAT, 為什麼還要JDK呢?因為jsp需要連接資料庫的話就要jdk來提供連接資料庫的驅程,所以要運行jsp的web伺服器平台就需要APACHE+TOMCAT+JDK 整合的好處是:如果客戶端請求的是靜態頁面,則只需要Apache伺服器響應請求如果客戶端請求動態頁面,則是Tomcat伺服器響應請求因為jsp是伺服器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷。

apache是web伺服器,tomcat是應用(java)伺服器,它只是一個servlet(jsp也翻譯成servlet)容器,可以認為是apache的擴展。

Apache:普通伺服器,本身只支持html即普通網頁,它是html容器,功能像IIS一樣

tomcat:解釋java程序(jsp,serverlet),它是是jsp/servlet容器,用於發布JSP及JAVA的

apache是一輛卡車,上面可以裝一些東西如html等。但是不能裝水,要裝水必須要有容器(桶),tomcat就是一個桶(裝像JAVA這樣的水),而這個桶也可以不放在卡車上。

訣竅是, 當配置正確時,Apache 為HTML頁面服務,而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS等Web伺服器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態HTML的能力不如Apache伺服器。目前Tomcat最新版本為9.0。

Nginx

Nginx是俄羅斯人編寫的十分輕量級的HTTP伺服器,Nginx,它的發音為「engine X」,是一個高性能的HTTP和反向代理伺服器,同時也是一個IMAP/POP3/SMTP 代理伺服器。

nginx相對於apache的優點

輕量級,同樣起web 服務,比apache佔用更少的內存及資源

抗並發,nginx 處理請求是非同步非阻塞的,而apache 則是阻塞型的,在高並發下nginx 能保持低資源低消耗高性能

高度模塊化的設計,編寫模塊相對簡單

提供負載均衡

社區活躍,各種高性能模塊出品迅速

總結

Nginx優點:負載均衡、反向代理、處理靜態文件優勢。nginx處理靜態請求的速度高於Apache優點:相對於Tomcat伺服器來說處理靜態文件是它的優勢,速度快。Apache是靜態解析,適合靜態HTML、圖片等。

Tomcat:動態解析容器,處理動態請求,是編譯JSPServlet的容器,Nginx有動態分離機制,靜態請求直接就可以通過Nginx處理,動態請求才轉發請求到後台交由Tomcat進行處理。

Apache在處理動態有優勢,Nginx並發性比較好,CPU內存佔用低,如果rewrite頻繁,那還是Apache較適合。

反向代理的理解:

反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連接請求,然後將請求轉發給內部網路上的伺服器,

並將從伺服器上得到的結果返回給internet上請求連接的客戶端,此時代理伺服器對外就表現為一個伺服器。

您的提問,有我回答,我是IT屠工!

IIS

IIS是互聯網信息服務,是由微軟公司提供的基於運行Microsoft Windows的互聯網基本服務。

IIS是一種Web(網頁)服務組件,其中包括Web伺服器、FTP伺服器、NNTP伺服器和SMTP伺服器,分別用於網頁瀏覽、文件傳輸、新聞服務和郵件發送等方面,它使得在網路(包括互聯網和區域網)上發布信息成了一件很容易的事。

IIS的功能

IIS是一個World Wide Web server。Gopher server和FTP server全部包容在裡面。 IIS支持一些有趣的東西,像有編輯環境的界面(FRONTPAGE)、有全文檢索功能的(INDEX SERVER)、有多媒體功能的(NET SHOW)。

其次,IIS是隨Windows NT Server 4.0一起提供的文件和應用程序伺服器,是在Windows NT Server上建立Internet伺服器的基本組件。它與Windows NT Server完全集成,允許使用Windows NT Server內置的安全性以及NTFS文件系統建立強大靈活的Internet/Intranet站點。

Apache

Apache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放源碼的網頁伺服器,可以在大多數計算機操作系統中運行,由於其多平台和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的API擴展,將Perl/Python等解釋器編譯到伺服器中。

Apache HTTP伺服器是一個模塊化的伺服器,源於NCSAhttpd伺服器,經過多次修改,成為世界使用排名第一的Web伺服器軟體。它可以運行在幾乎所有廣泛使用的計算機平台上。

Apacheweb伺服器軟體主要功能:

1.支持最新的HTTP/1.1通信協議

2.擁有簡單而強有力的基於文件的配置過程

3.支持通用網關介面

4.支持基於IP和基於域名的虛擬主機

5.支持多種方式的HTTP認證

6.集成Perl處理模塊

7.集成代理伺服器模塊

8.支持實時監視伺服器狀態和定製伺服器日誌

9.支持伺服器端包含指令(SSI)

10.支持安全Socket層(SSL)

11.提供用戶會話過程的跟蹤

12.支持FastCGI

13.通過第三方模塊可以支持JavaServlets

Tomcat

Tomcat是Apache 軟體基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發而成。由於有了Sun 的參與和支持,最新的Servlet 和JSP 規范總是能在Tomcat 中得到體現,因為Tomcat 技術先進、性能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟體開發商的認可,成為目前比較流行的Web 應用伺服器。

Tomcat 伺服器是一個免費的開放源代碼的Web 應用伺服器,屬於輕量級應用伺服器,在中小型系統和並發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。對於一個初學者來說,可以這樣認為,當在一台機器上配置好Apache 伺服器,可利用它響應HTML(標准通用標記語言下的一個應用)頁面的訪問請求。實際上Tomcat是Apache 伺服器的擴展,但運行時它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。

當配置正確時,Apache 為HTML頁面服務,而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS等Web伺服器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態HTML的能力不如Apache伺服器。

Nginx

Nginx 是一款自由的、開源的、高性能的 HTTP 伺服器和反向代理伺服器;同時也是一個 IMAP、POP3、SMTP 代理伺服器。

Nginx 可以作為一個 HTTP 伺服器進行網站的發布處理,另外 Nginx 可以作為反向代理進行負載均衡的實現。

CDN

CDN的全稱是Content Delivery Network,即內容分發網路。CDN是構建在現有網路基礎之上的智能虛擬網路,依靠部署在各地的邊緣伺服器,通過中心平台的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網路擁塞,提高用戶訪問響應速度和命中率。CDN的關鍵技術主要有內容存儲和分發技術。

CDN網路中包含的功能實體包括內容緩存設備、內容交換機、內容路由器、CDN內容管理系統等組成。

CDN具有以下主要功能:

1.節省骨幹網帶寬,減少帶寬需求量;

2.提供伺服器端加速,解決由於用戶訪問量大造成的伺服器過載問題;

3.服務商能使用Web Cache技術在本地緩存用戶訪問過的Web頁面和對象,實現相同對象的訪問無須佔用主幹的出口帶寬,並提高用戶訪問網際網路頁面的相應時間的需求;

4.能克服網站分布不均的問題,並且能降低網站自身建設和維護成本;

5.降低「通信風暴」的影響,提高網路訪問的穩定性。

以上是我的回答,希望可以幫助到您!

iis apache nginx屬於一類,都是web服務,本身提供靜態文件訪問功能,同時又可以通過擴展接入其他語言的解析。tomcat是針對java類的web服務容器。可以這樣理解iis apache nginx是阿里,tomcat是京東。而cdn只是一種服務的統稱,用到的web伺服器則可能不同,有用nginx實現cdn的,也有自研的。

這類再簡單介紹一下,iis主要針對微軟系的語言。當然也支持php等。但是主要用於微軟系。

apache主要以擴展方式運行,比如php,如果想在apache里運行,你得給apache寫個擴展,這樣才可以跑php,也就是耦合度比較高。

nginx以性能聞名。運行web主要靠反向代理和協議。這樣其他語言只需要按照協議通訊即可無需開發nginx擴展。耦合度低。

閱讀全文

與nginx與iisphp相關的資料

熱點內容
匯編程序員待遇 瀏覽:357
怎麼批量有順序的命名文件夾 瀏覽:209
杭州程序員健身 瀏覽:17
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362