標籤:php
135956557-小三IT自學群,任何IT問題都可以一起討論,各種服務網路等等
---------------------------------------------------------------------------
瞭解PHP的工作模式,一共是三種
CGI模式:效能不是很好,安全性也不行基本已經淘汰
Apache模組:需要php跟Apache安裝在同一台伺服器上,正常情況都是分開的獨立伺服器
FastCGI:是一個獨立進程,所有php都是一個php-fpm組件負責管理,
工作機制
用戶端發起請求,分為兩種,一種是靜態,直接Apache相應回複
另一種是動態,其中php或者perl指令碼解釋語言則Apache伺服器通過fastcgi調用php伺服器執行返回給Apache然後Apache負責返回用戶端
而且各種http服務是不能直接連接mysql,需要通過php進行串連,返回,響應.
650) this.width=650;" height="369" src="http://b287.photo.store.qq.com/psb?/81c1194a-ff39-4e50-b1b1-40057b06260f/n.K2jLjOy.Ls9uj7kX6tdgUeFUiZUIZ8R2Q*L4g9hAs!/b/dB8BAAAAAAAA&bo=FQJxAQAAAAAFEFQ!" width="533" style="vertical-align:top;" alt="dB8BAAAAAAAA&bo=FQJxAQAAAAAFEFQ!" />
-------------------------------------------------------------------------------------------
安裝php
解決依賴關係
yum -y install libxml2-devel libcurl-devel openssl-devel bzip2-devel
然後安裝 libmcrypt-2.5.7.tar.gz
./configure --prefix=/usr/local/libmcrypt && make && make install
然後安裝php
./configure --prefix=/usr/local/php5.6 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts && make && make install
---------------------------------------------------------------------------------------------------
相關配置項
--prefix=/usr/local/php5.6 //安裝位置
--with-mysql=mysqlnd //支援mysql
--with-pdo-mysql=mysqlnd //支援pdo模組
--with-mysqli=mysqlnd //支援mysqli模組
註:上面的三選項的作用:資料庫與php不在一個伺服器上,指定此種方式,安裝資料庫連接驅動
--with-openssl //支援openssl模組
--enable-fpm //支援fpm模式
--enable-sockets //啟用socket支援
--enable-sysvshm //啟用系統共用記憶體支援
--enable-mbstring //多位元組字串、像我們的中文就是多位元組字串
--with-freetype-dir //支援freetype、就要裝freetype-devel、跟字型相關的、字型解析工具
--with-jpeg-dir
--with-png-dir
註:上面的二選項的作用:處理jpeg、png圖片的、php可以動態產生jpeg圖片
--with-zlib //是個壓縮庫、在互連網傳輸時用來壓縮傳輸的
--with-libxml-dir=/usr //這個libxml是用來解析xml的、指定/usr下
--enable-xml //支援xml的
--with-mhash //支援mhash
--with-mcrypt=/usr/local/libmcrypt //libmcrypt-devel這個程式包所指定的
--with-config-file-path=/etc //指定設定檔的存放路徑的
--with-config-file-scan-dir=/etc/php.d //設定檔掃描路徑
--with-bz2 //支援BZip2
為了支援apache的worker或event這兩個MPM,編譯時間使用了--enable-maintainer-zts選項
如果使用PHP5.3以上版本,為了連結MySQL資料庫,可以指定mysqlnd,這樣在本機就不需要先安裝MySQL或MySQL開發包了。mysqlnd從php 5.3開始可用,可以編譯時間綁定到它(而不用和具體的MySQL用戶端庫綁定形成依賴),但從PHP 5.4開始它就是預設設定了。
-------------------------------------------------------------------------------------------
php 設定檔
650) this.width=650;" height="22" src="http://b178.photo.store.qq.com/psb?/81c1194a-ff39-4e50-b1b1-40057b06260f/KyooMKjsDwwA*HVOE1QdhANKCqg3d90F7X*kHpBCbco!/b/dLIAAAAAAAAA&bo=OwEWAAAAAAAFEB8!" width="315" style="vertical-align:top;" alt="dLIAAAAAAAAA&bo=OwEWAAAAAAAFEB8!" />
php-fpm 指令碼
650) this.width=650;" height="73" src="http://b288.photo.store.qq.com/psb?/81c1194a-ff39-4e50-b1b1-40057b06260f/cbflVcTOynWMnFQPIeb8mfyy7Kfn3fKoTGDTfigZ4Sk!/b/dCABAAAAAAAA&bo=xAFJAAAAAAAFEL8!" width="452" style="vertical-align:top;" alt="dCABAAAAAAAA&bo=xAFJAAAAAAAFEL8!" />
修改php-fpm設定檔
cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf
修改配置
pid = run/php-fpm.pid
listen = 0.0.0.0:9000 監聽IP 最好設定http的
pm.max_children = 5 子進程最大數
m.start_servers 啟動時進程數 這兩個最好一致
pm.min_spare_servers 空閑時最小線程數
pm.max_spare_servers 空閑時最大串連數,這倆最好也一樣,活著最小一定小於最大值.
配置完成啟動fpm,查看是否開啟,防火牆開啟9000/tcp連接埠
650) this.width=650;" height="165" src="http://b287.photo.store.qq.com/psb?/81c1194a-ff39-4e50-b1b1-40057b06260f/ZeHHZqGcs2.lSEnA9mGL4QeGmW9mDkZXcsb8O8pTCrc!/b/dB8BAAAAAAAA&bo=rwKlAAAAAAAFEDs!" width="687" style="vertical-align:top;" alt="dB8BAAAAAAAA&bo=rwKlAAAAAAAFEDs!" />
本文出自 “11627223” 部落格,請務必保留此出處http://11637223.blog.51cto.com/11627223/1911987
centos7-php安裝