您好,登錄后才能下訂單哦!
1、前言
公司開發要求使用php5.6版本,由于筆者不想通過編譯安裝,故引入remi的yum源來完成此項任務,跟之前的lamp環境加載fastcgi的方式大致一樣,只是有一點點差異。
原文:http://cmdschool.blog.51cto.com/2420395/1708237
2、實驗部分
2.1、實驗環境
lampSer:
hostname=lamp-fcgi
ipaddress=10.168.0.177
client:
hostnmae=client
ipaddress=10.168.0.8
2.2、yum源的安裝
yum -y install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm yum -y install httpd mod_proxy_fcgi php56-php-fpm mysql mysql-server php-mysql yum -y install policycoreutils-python
2.3、配置部分
2.3.1、step1
注:如果你不想了解fastcgi的加載方式本步驟請直接跳過
檢查是否引入fastcgi模塊(默認開啟),主配置文件:
grep ^Include /etc/httpd/conf/httpd.conf
包含如下內容:
Include conf.d/*.conf
查看fastcgi支持模塊配置文件:
grep LoadModule /etc/httpd/conf.d/mod_proxy_fcgi.conf
包含如下內容:
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
2.3.2、step2
1)啟動php-fpm、httpd&mysqld服務:
/etc/init.d/php56-php-fpm start chkconfig php56-php-fpm on /etc/init.d/httpd start chkconfig httpd on /etc/init.d/mysqld start chkconfig mysqld on
注:關于mysql的安全設置請運行以下指令,這里不再詳述!
mysql_secure_installation
2)確認php-fpm服務啟用
netstat -anp | grep php
應當顯示如下:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2547/php-fpm unix 3 [ ] STREAM CONNECTED 34665 2547/php-fpm unix 3 [ ] STREAM CONNECTED 34664 2547/php-fpm
2.3.3、step3
1)vim編輯/etc/httpd/conf/httpd.conf
啟用并更改ServerName(去掉ServerName前面的#)
啟用NameVirtaulHost(去掉ServerName前面的#)
ServerName www.cmdschool.org:80 NameVirtualHost *:80
2)新建虛擬目錄:
mkdir /var/www/www.cmdschool.org
3)添加測試頁面:
echo '<?php phpinfo(); ?>' > /var/www/www.cmdschool.org/index.php
4)確保selinux是Enforcing狀態:
getenforce
5)恢復預設的selinux type:
restorecon -RFvv /var/www/www.cmdschool.org/
顯示如下:
restorecon reset /var/www/www.cmdschool.org context unconfined_u:object_r:httpd_sys_content_t:s0->system_u:object_r:httpd_sys_content_t:s0 restorecon reset /var/www/www.cmdschool.org/index.php context unconfined_u:object_r:httpd_sys_content_t:s0->system_u:object_r:httpd_sys_content_t:s0
6)檢查當前的selinux type:
ll -dZ /var/www/www.cmdschool.org/
7)開啟虛擬目錄對fastcgi的支持并設置虛擬目錄:
vim編輯/etc/httpd/conf.d/www.cmdschool.org.conf
DirectoryIndex /index.php index.php <VirtualHost *:80> ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/www.cmdschool.org/$1 DocumentRoot /var/www/www.cmdschool.org ServerName www.cmdschool.org </VirtualHost> <Directory /var/www/www.cmdschool.org> Options All AllowOverride all </Directory>
8)重啟php-fpm&httpd服務:
/etc/init.d/php56-php-fpm restart /etc/init.d/httpd restart
2.3.4、step4
設置防火墻:
vim編輯/etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重啟防火墻:
/etc/init.d/iptables restart
2.4.5、step5
In client
測試服務器
1)vim編輯/etc/hosts
確保包含www.cmdschool.org的指向10.168.0.171的唯一值:
10.168.0.171 www.cmdschool.org
2)curl測試
curl www.cmdschool.org
3)瀏覽器測試
參閱資料:
http://www.linuxidc.com/Linux/2013-08/88571.htm
官方參閱資料:
http://wiki.apache.org/httpd/PHP-FPM
其他參考:
http://cnzhx.net/blog/apache-httpd-mod_proxy_fcgi-php-fpm/#ProxyPassMatch
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。