基于端口号实现 php-fpm 的LAMP (php-fpm与httpd不同服务器)
三台主机:一台A apache 一台C php-fpm, 一台B mariadb
1 A 编译安装httpd
useradd -s /sbin/nologin apache
2.C 配置php-rpm配置文件(基本不用设置)
vim /etc/php-fpm.d/www.conf
listen = 9000
;listen.allowed_clients = any #测试发现要注释掉
#确保运行php-fpm进程的用户对session目录有读写权限(测试没有此文件)
mkdir /var/lib/php/session
chown apache.apache /var/lib/php/session
设置站点ACL权限,主要是用于生成wordpress/wp-config.php文件。
mkdir /data/
cp wordpress /data/
setfacl -Rm u:apache:rwx /data/wordpress
3 B 安装数据库并账号授权
yum install mariadb-server
mysql> create database wpdb;
mysql> grant all on wpdb.* to wpuser@'192.168.80.%' identified by '123456';
5. A配置httpd,
在Apache httpd 2.4以后已经专门有一个模块针对FastCGI的实现,此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
cat /usr/local/httpd/conf/conf.d/fcgi.conf #(虚拟主机方式)
<VirtualHost *:80>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
ProxyRequests Off
#ProxyPassMatch "^/(.*\.php(/.*)?)$" "fcgi://192.168.80.110:9000/data/"
ProxyPassMatch ^/(.*\.php)$ "fcgi://192.168.80.110:9000/data/$1"
ProxyPassMatch ^/(status|ping) fcgi://192.168.80.110:9000
</VirtualHost>
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>