基于UDS(sock)模式的php-fpm 的LAMP
httpd+php结合的方式: module: php 基于模块,apache换成nginx就不支持。 fastcgi: php-fpm 基于软件 各种OS版本对fastcgi的支持 CentOS 8: 默认使用fpm模式 httpd-2.4:默认rpm包支持fcgi模块 php包默认使用fpm模式 php-fpm包:专用于将php运行于fpm模式 CentOS 7: httpd-2.4:默认rpm包支持fcgi模块 php-fpm包:专用于将php运行于fpm模式 CentOS 6: PHP-5.3.2之前:默认不支持fpm机制;需要自行打补丁并编译安装 httpd-2.2:默认不支持fcgi协议,需要自行编译此模块 解决方案:编译安装httpd-2.4, php-5.3.3+ 实验:基于UDS(sock)模式的php-fpm 的LAMP 注意基于UDS(sock)模式,对httpd版本有要求(2.4.9以上) 官方文档:http://php.net/manual/zh/install.fpm.configuration.php 实验:基于端口号实现 php-fpm 的LAMP 两台主机:一台A apache+php-fpm, ip:100 一台B mariadb ip:110 项目: wordpress 1 A 编译安装httpd yum install php-fpm php-mysql useradd -s /sbin/nologin apache 2 A 设置站点ACL权限,主要是用于生成wordpress/wp-config.php文件。 tar xvf wordpress-5.0.4-zh_CN.tar.gz -C /var/www/html/ setfacl -Rm u:apache:rwx /var/www/html/wordpress 3 B 安装数据库并账号授权 yum install mariadb-server mysql> create database wpdb; mysql> grant all on wpdb.* to wpuser@'192.168.80.%' identified by '123456'; 4. A 配置php-rpm配置文件(基本不用设置) vim /etc/php-fpm.d/www.conf #listen = 127.0.0.1:9000 listen=/var/run/php5-fpm.sock #sock listen.owner = apache #sock文件账号 listen.group = apache listen.mode = 0666 listen.allowed_clients = any #允许访问FastCGI进 #确保运行php-fpm进程的用户对session目录有读写权限(测试没有此文件) mkdir /var/lib/php/session chown apache.apache /var/lib/php/session 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 vim /app/httpd/conf/httpd.conf #(直接方式) user apache group apache LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so DirectoryIndex index.php index.html AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps ProxyRequests Off #ProxyPassMatch ^/(.*\.php)$ "fcgi://localhost:9000/var/www/html/$1" ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/html/" cat /usr/local/httpd/conf/conf.d/fcgi.conf #(虚拟主机方式) <VirtualHost *:80> DocumentRoot "/usr/local/httpd/htdocs/" AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps ProxyRequests Off ProxypassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/usr/local/httpd/htdocs/" ProxyPassMatch ^/(status|ping) unix:/var/run/php.sock|fcgi://localhost <Directory "/usr/local/httpd/htdocs/"> Options none AllowOverride none Require all granted </Directory> </VirtualHost> <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> systemctl restart php-fpm http 6.客户端192.168.80.100/wordpress/浏览器登录,使用账号登录生成wp-config.php文件和数据库文件。