## 1、版本控制軟件
版本控制工具一共有兩種:集中式 和 分布式
集中式:中間有一個中央的服務器,所有的客戶機都會將我們的版本信息上傳到中央服務器(即版本信息只保存在中央 服務器中),當我們去上傳或者下載的時候,都是從中央服務器來進行連接的(即在此過程中,一旦中央服務器 掛掉,客戶機可能就沒有辦法去上傳和下載版本庫中的內容),而且客戶機是需要連接網絡才可以完成上傳和下 載。【CVS和SVN】
分布式:沒有中央服務器,一個版本控制器下的所有客戶機都擁有一套完整的版本庫信息。這一點與集中式不一樣,集 中式只是在中央服務器中存儲版本庫信息。因此,對于分布式來說,容災性更好,而且不用去連接網絡【Git】
## 2、PHP的運行原理
典型題:Nginx + PHP - FPM 的運行原理
CGI:本身早期的一些 Web Server 只能處理簡單的 HTML靜態文件,但是隨著技術的發展,出現了動態語言(如PHP,Python)。在這當中,如果我們要去處理 PHP得交個PHP解析器來處理,但是PHP處理完畢后,又怎么跟我們的 Web Server 來進行通信呢?這是一個問題。為了解決不同的語言處理器 與 Web Server 的通信,出現了 CGI協議,只要按照 CGI協議 去編寫程序,就能夠實現語言解析器 與 Web Server 的通信。(如:PHP的CGI程序) 在此過程中,CGI就是PHP解析器 和 Web Server 當中的一個協議橋梁。
FastCGI :CGI雖然解決了PHP與 Web Server 通信的問題,但是它的效率很低,因為 Web Server 每收到一個請求,都會新開一個 CGI進程,然后請求結束的時候,再終止掉這個進程,這個時候如果說我們有一萬個,或者十萬個,或者一百萬個這樣的請求,我們就會新開 十萬,一百萬這樣的進程,然后再去終止掉,本身來說,非常浪費我們的資源。此時 FastCGI 就出現了,它主要是 以 CGI的改良版本出現,每次處理完請求之后,不會終止掉這個進程,而是保留這個進程,使這個進程可以一次處理多個請求,這樣的話,每次就不用重新開一個進程了,大大提升了我們的效率。
PHP-FPM : (FastCGI Process Manager : FastCGI的進程管理器) , FPM是 FastCGI的一個實現,并且提供了進程管理的功能。進程 包括 master進程 和 worker進程 兩種進程, master進程 只有一個,負責監聽端口,接收來自 Web Server的請求;而 Worker進程 則一般會有多個,具體的數量會在 FPM的配置中進行定義,每個進程的內部都會嵌入一個PHP解析器(那就是PHP代碼真正執行的地方),也就是說,worker 來進行處理 PHP代碼,而 master 主要是監聽端口,跟 Web Server 來進行接收請求。本身來說,master監聽端口默認情況下是 9000,通過 Nginx的反向代理 去代理 9000端口,所以在這兒我們可以完成 FPM的相關處理。
## 3、簡述CGI、FastCGI 和 PHP-FPM 的區別。
CGI : 為了聯系 Web Server 跟PHP解析器中的一個協議,它起一個橋梁的作用。
FastCGI : 是 CGI的改良版本。
PHP-FPM : FastCGI Process Manager,FastCGI進程管理器。
- 一、cookie 和 session
- 二、版本控制軟件
- 三、正則表達式
- 四、外部文件的導入
- 五、魔術方法
- 六、設計模式
- 七、高并發和大流量解決方案
- 八、empty、 isset、is_null的區別
- 九、如何進行防SQL注入
- 十、redis使用場景
- 十一、memcache和redis的區別
- 十二、MHA架構
- 十三、數據庫外鍵約束
- 十四、負載均衡
- 十五、php常用函數
- 十六、Get和Post
- 十七、數組內置的排序方法
- 十八、CAP定理
- 十九、ip直連解決方案以及注冊中心
- 二十、布隆過濾器
- 二十一、常用的消息隊列
- 二十二、微服務
- 二十三、MySQL集群模式
- 二十四、輕松理解redis做緩存的流程
- 二十五、保證mysql和redis的雙寫一致性
- 二十六、redis
- 二十七、mysql基礎
- 二十八、MySQL數據庫優化
- 二十九、MySQL語句優化
- 三十、MySQL索引優化
- 三十一、MySQL查詢優化
- 三十二、Mysql分區大全及講解
- 三十三、MySQL數據庫管理與應用
- 三十四、MySQL索引
- 三十五、php文件系統處理
- 三十六、Linux的常用命令和日常操作
- 三十七、Linux命令大全
- 其他
- 其它知識點
- 1、PHP寫出顯示客戶端信息的代碼
- 2、更多文章
- 3、雪花算法
- 4、令牌桶算法和漏桶算法