php可以部署到2種web伺服器上:1、apache,是Apache軟體基金會的一個開放原始碼的網頁伺服器,可以在大多數電腦作業系統中運行,由於其多平台和安全性被廣泛使用;2、nginx,是一個高效能的HTTP和反向代理web伺服器,同時也提供了「IMAP/POP3/SMTP」服務。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
php常用的web伺服器一般有兩種:
apache
#nginx
LAMP(linux apache mysql php )和LNMP(linux ngnix mysql php)是目前伺服器使用最多的PHP環境架構。
apache伺服器
Apache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放原始碼的網頁伺服器,可以在大多數在電腦作業系統中運行,由於其多平台和安全性被廣泛使用,是最受歡迎的Web伺服器端軟體之一。它快速、可靠且可透過簡單的API擴展,將Perl/Python等解釋器編譯到伺服器中。
Apache是一種流行的開源,跨平台的Web伺服器,同時它也是現有最受歡迎的web伺服器。
Apache HTTP伺服器是模組化的伺服器,源自於NCSAhttpd伺服器,經過多次修改,成為全球使用排名第一的Web伺服器軟體。
它可以運行在幾乎所有廣泛使用的電腦平台上。
Apache源自於NCSAhttpd伺服器,經過多次修改,成為世界上最受歡迎的Web伺服器軟體之一。 Apache取自「a patchy server」的讀音,意思是充滿補丁的伺服器,因為它是自由軟體,所以不斷有人來為它開發新的功能、新的功能、修改原來的缺陷。 Apache的特色是簡單、速度快、效能穩定,並可做代理伺服器來使用。
本來它只用於小型或試驗Internet網絡,後來逐步擴充到各種Unix系統中,尤其對Linux的支援相當完美。 Apache有多種產品,可以支援SSL技術,支援多個虛擬主機。 Apache是以進程為基礎的結構,進程要比線程消耗更多的系統開支,不太適合多處理器環境,因此,在一個Apache Web站點擴容時,通常是增加伺服器或擴充群集節點而不是增加處理器。到目前為止Apache仍然是世界上使用的最多的Web伺服器,市場佔有率達60%左右。世界上許多著名的網站如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的產物,它的成功之處主要在於它的原始碼開放、有一支開放的開發團隊、支援跨平台的應用(幾乎可以運行在所有的Unix、Windows、Linux系統平台上)以及它的可攜性等方面。
Apache的誕生極具戲劇性。當NCSAWWW伺服器專案停頓後,那些使用NCSAWWW伺服器的人們開始交換他們用於該伺服器的修補程式,他們也很快意識到成立管理這些修補程式的論壇是必要的。就這樣,誕生了Apache Group,後來這個團體在NCSA的基礎上創造了Apache。
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
如果你準備好選擇Web伺服器,毫無疑問Apache是你的最佳選擇。
nginx伺服器
Nginx (engine x) 是高效能的HTTP和反向代理web伺服器,同時也提供了IMAP/ POP3/SMTP服務。 Nginx是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的Rambler.ru站點(俄文:Рамблер)開發的,公開版本1.19.6發佈於2020年12月15日。
其將原始碼以類BSD許可證的形式發布,因其它的穩定性、豐富的功能集、簡單的設定檔和低系統資源的消耗而聞名。 2022年01月25日,nginx 1.21.6發布。
Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,在BSD-like 協定下發行。其特點是佔有記憶體少,並發能力強,事實上nginx的並發能力在同類型的網頁伺服器中表現較好。
Nginx 可以在大多數 Unix Linux OS 上編譯運行,並且有 Windows 移植版。 Nginx 的1.20.0穩定版已經在2021年4月20日發布,一般情況下,對於新建站點,建議使用最新穩定版作為生產版本,已有站點的升級緊迫性不高。 Nginx 的原始碼使用 2-clause BSD-like license。
Nginx 是一個很強大的高效能Web和反向代理服務,它具有許多非常優越的特性:
在連接高並發的情況下,Nginx是Apache服務不錯的替代品:Nginx在美國是做虛擬主機生意的老闆們常選擇的軟體平台之一。能夠支援高達 50,000 個並發連接數的回應,感謝Nginx為我們選擇了 epoll and kqueue作為開發模型。
apache與nginx之間有什麼區別:
1、二者最核心的區別在於apache是同步多進程模型,一個連線對應一個行程;nginx是異步的,多個連線可以對應一個行程。 nginx處理靜態檔案好,耗費記憶體少。但無疑apache仍然是目前的主流,有許多豐富的特性,所以還需要搭配。當然如果能確定nginx就適合需求,那麼使用nginx會是比較經濟的方式。
2、nginx的負載能力比apache高很多。最新的伺服器也改用nginx了。而且nginx改完配置能-t測試一下配置有沒有問題。
3、apache重啟的時候發現配置出錯了,會很崩潰,改的時候都會非常小心翼翼現在看有很多集群站,前端nginx抗並發,後端apache集群, 配合的也不錯。
4、nginx處理動態請求是雞肋,一般動態請求要apache去做,nginx只適合靜態和反向。
5、從經驗來看,nginx是很不錯的前端伺服器,負載效能很好,nginx,用webbench模擬10000個靜態檔請求毫不吃力。 apache對php等語言的支援很好,此外apache有強大的支持網絡,發展時間相對nginx更久,bug少但是apache有先天不支持多核心處理負載雞肋的缺點,建議使用nginx做前端,後端用apache。大型網站建議用nginx自代的叢集功能。
6、大部分情況下nginx都優於APACHE,比如說靜態檔案處理、PHP-CGI的支援、反向代理功能、前端 Cache、維持連線等等。在Apache PHP(prefork)模式下,如果PHP處理慢或前端壓力很大的情況下,很容易出現Apache進程數 飆升,從而拒絕服務的現象。
7、Apache在處理動態有優勢,Nginx並發性比較好,CPU記憶體佔用量低,如果rewrite頻繁,那還是Apache吧!
8、一般來說,需要效能的web 服務,用nginx 。如果不需要效能只求穩定,那就apache吧。
推薦學習:《PHP影片教學》
以上是php可以部署到哪些伺服器上的詳細內容。更多資訊請關注PHP中文網其他相關文章!