您好,登錄后才能下訂單哦!
其與web server的接口支持三種形式,分別為cgi, module方式, fastcgi方式。而對于nginx而言,只支持cgi和fastcgi兩種接口方式與php進行連接!
本節將以源碼安裝php,啟動php-fpm服務(fastcgi接口)與nginx進行連接。
關于nginx的配置請看前面章節的有關介紹!
1、安裝依賴開發包
# yum install -y libxml2-devel bzip2-devel libcurl-devel libmcrypt-devel
2、×××
地址:http://php.net/downloads.php 下載所需版本,這里使用php-5.5.27.tar.bz2。
也可以使用我的安裝文件,已存在百度云盤->請看文章開頭。
1、配置
--prefix 指定安裝目錄
--with-mysql=MYSQL_DIR 安裝mysql模塊 指定其安裝路徑
--with-openssl 安裝openssl模塊
--enable-fpm 支持fpm,對于采用fastcgi方式,此模塊必須開啟
--enable-sockets 支持socket,對于采用fastcgi方式,此模塊必須開啟
--enable-sysvshm 支持System V shared memory
--with-mysqli=MYSQL_CONFIG_PATH 安裝mysqli模塊
--with-config-file=CONFIG_DIR 指定php配置文件安裝路徑
--with-config-file-scan-dir=CONFIG_DIR 指定配置文件的掃描路徑,就是除主配置文件php.ini的其他配置文件路徑
--with-mysqlnd=share,mysqlnd 支持mysqlnd
--with-enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir ...
安裝php相關的一些擴展文件
配置如下
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-curl --with-mysql=share,mysqlnd
2、編譯安裝
# make
# make install
3、準備配置文件
# cp php.ini-production /etc/php.ini
4、開機啟動php-fpm
配置sysv啟動腳本,添加到服務列表
# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
# chmod +x /etc/rc.d/init.d/php-fpm
# chkconfig --add php-fpm
# chkconfig php on
5、添加php-fpm服務配置腳本
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
6、啟動服務
# service php-fpm start
# ps -ef | grep php-fpm // 可以看到系統已啟動多個php-fpm進程,說明php-fpm服務已啟動成功
1、編輯nginx.conf
server段配置修改如下,為nginx添加腳本解析功能
location / {
root html;
index index.html index.htm index.php;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
2、修改/etc/nginx/fastcgi_params
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
... ...
重新定義fastcgi_param參數SCRIPT_FILENAME
3、nginx重啟
# service nginx restart
4、測試訪問
添加編輯/usr/local/nginx/index.php
<?php
phpinfo();
?>
瀏覽器訪問 http://域名/index.php,如下圖
綜合以上,完成php的安裝,啟用php-fpm服務器并與nginx進行整合,測試完成!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。