apache與nginx的對比

這兩者都是當前比較主流的開發環境,對於我自身來說,之前基於JAVA語言,採用Springboot框架的時候,我才用的是xampp中的Apache+MySQL。而之後我參加基於PHP語言,採用TP5、Laravel框架的時候,我使用的是PhpStudy中的php-7.2.10-nts+Nginx,一方面是因爲後者的Laravel框架要求PHP版本,PhpStudy方便做版本切換和控制,另一方面是後者採用Nginx,可以在高併發的狀況下使用更少的資源,體現更高的效率。
1、使用工具
xampp是集成了Apache/Mysql/FileZilla/Mercury/Tomcat等工具的開發環境,對於PHP語言,還是JAVA語言都有一定的友好型,使用也較簡單,根據教程配置好之後,直接將項目放於htdocs目錄下面即可。一般使用xampp工具的時候,會採用Apache+MySQL。而另一個開發環境即PhpStudy,它的好處在於可以可以切換不同的版本,可以採用PHP+Apache,也可以用PHP+Nginx,便捷實用,當你採用不同框架的時候,可以根據框架對PHP等的版本要求來改動。一般使用PhpStudy來啓動Nginx。
2、Nginx的優點
Nginx本身是輕量級的,同比Apache佔用更少的系統內存和資源。此外,Nginx處理請求是異步非阻塞的,在高併發的狀況下可以保持低資源低消耗高性能。另一方面,Nginx的模塊編寫相對比較簡單,各種高性能模塊更新速度也比較快。Nginx 使用更少的資源,支持更多的併發連接,體現更高的效率,在高連接併發的情況下,Nginx是Apache服務器不錯的替代品:,Nginx在美國是做虛擬主機生意的老闆們經常選擇的軟件平臺之一.,能夠支持高達 50,000 個併發連接數的響應,整體來說,類似田徑場上適合衝刺的黑馬運動員。
3、Apache的優點
Apache的rewrite功能比較強大,擁有豐富的功能模塊,同比Nginx來說,自身比較穩定,出現的bug也比較少。整體來說,類似田徑場上經驗豐富發揮穩定的老健將。
4、兩者對比
(1)Apache是同步多進程模型,一個連接對應一個進程,而Nginx是異步非阻塞的,多個連接對應一個進程;
(2)Apache配置較爲複雜,而Nginx的配置簡潔易用;
(3)Apache組件多,對PHP的支持簡單,而Nginx需要配合後端使用;
(4)Nginx本身即爲一個反向代理服務器,支持更高的併發和負載均衡;
(5)在開發普通web項目的過程中,使用Nginx更好,它在靜態文件處理、PHP-CGI的支持、反向代理功能、前端Cache等方面做得都比較好,而在採用PHP+Apache的模式下,如果PHP處理的很慢,或者前端請求壓力很大的時候,易造成進程數飆升,從而拒絕服務的現象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章