CentOS 6编译安装LAMP并安装event模块方式和FPM方式的(3)

六、以fpm方式再安装PHP

1. 先清理掉之前解压的php目录

# rm -rf php-5.5.38

2. 重新解压

# tar xf php-5.5.38.tar.bz2

3. 编译安装

# cd php-5.5.38

# ./configure --prefix=/usr/local/php-f --with-MySQL=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-mcrypt --with-config-file-path=/etc/php-f --with-config-file-scan-dir=/etc/php-f.d --with-bz2

这次与上一次配置的php最大不同就在于这个参数

--enable-fpm 表示是以fpm方式编译

所以就不能下面这个参数

--with-apxs2=/usr/local/apache/bin/apxs (表示把php编译成Apache的模块)

另外要把相关路径改一下名字,不要与刚刚安装的php目录重名,这里我们改为php-f

--prefix=/usr/local/php-f

--with-config-file-path=/etc/php-f

--with-config-file-scan-dir=/etc/php-f.d

# make -j 2 && make install

4.修改httpd配置

4.1 先停掉httpd

# service httpd24 stop

4.2我们需要一个默认的httpd.conf,先备份旧的,然后恢复到默认状态

# cd /etc/httpd24

# mv httpd.conf httpd.conf.mod_php

# cp httpd.conf.bak httpd.conf

4.3 为php提供配置文件

# mkdir /etc/php-f{,.d}

# cd

# cp php-5.5.38/php.ini-production /etc/php-f/php.ini

4.4 添加服务脚本

# cp php-5.5.38/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

4.5 添加执行权限

# chmod +x /etc/rc.d/init.d/php-fpm

# chkconfig --add php-fpm

4.6 修改配置文件

# cd /usr/local/php-f/etc

来一份默认配置文件

# cp php-fpm.conf.default php-fpm.conf

# vim php-fpm.conf

监听端口改为所有

listen = 0.0.0.0:9000

最大进程数

pm.max_children = 50

刚启动时进程数

pm.start_servers = 5

最少空闲进程数

pm.min_spare_servers = 2

最大空闲进程数

pm.max_spare_servers = 5

pid路径

pid = /usr/local/php-f/var/run/php-fpm.pid

5.启动php-fpm

# service php-fpm start

6.检查一下进程

# ps aux | grep fpm

看到已经有5个空闲进程

clip_image005

七.再次配置httpd2.4

1.编辑httpd24的配置文件

# cd /etc/httpd24

# vim httpd.conf

启用这两个模块

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

添加文件类型

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

找到 DirectoryIndex index.html

改为

DirectoryIndex index.php index.html

取消这一行的注释,启用虚拟主机配置文件

#Include /etc/httpd24/extra/httpd-vhosts.conf

2.配置虚拟主机

2.1 创建两个网站文件夹

# mkdir -p /web/vhosts/{pma,wp}

2.2 编辑配置文件,添加虚拟主机

# vim /etc/httpd24/extra/httpd-vhosts.conf

内容修改如下

<VirtualHost *:80>

ServerAdmin admin@buybybuy.com

DocumentRoot /web/vhosts/pma

ServerName www1.buybybuy.com

ErrorLog logs/pma.err

CustomLog logs/pma.access combined

DirectoryIndex index.html index.php

ProxyRequests Off

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/web/vhosts/pma/$1

<Directory "/web/vhosts/pma">

Options Indexes FollowSymLinks

AllowOverride All

Require all granted

</Directory>

</VirtualHost>

<VirtualHost *:80>

ServerAdmin admin@buybybuy.com

DocumentRoot /web/vhosts/wp

ServerName www2.buybybuy.com

ErrorLog logs/wp.err

CustomLog logs/wp.access combined

DirectoryIndex index.html index.php

ProxyRequests Off

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/web/vhosts/wp/$1

<Directory "/web/vhosts/wp">

Options Indexes FollowSymLinks

AllowOverride All

Require all granted

</Directory>

</VirtualHost>

相关解释

ProxyRequests Off:关闭正向代理

ProxyPassMatch:把以.php结尾的文件请求发送到php-fpm进程,php-fpm至少需要知道运行的目录和URI,所以这里直接在fcgi://127.0.0.1:9000后指明了这两个参数,其它的参数的传递已经被mod_proxy_fcgi.so进行了封装,不需要手动指定。

八、安装phpMyadmin

1.把解压phpMyadmin后文件夹中的所有文档以及文件夹复制到/web/vhosts/pma/下

# cd

# cp -rf /phpMyAdmin-4.4.15.8-all-languages/* /web/vhosts/pma/

2.编辑phpMyadmin的配置文件

# cd /web/vhosts/pma

3.备份原始配置文件并编辑新的配置文件

# cp config.sample.inc.php config.inc.php

# vim config.inc.php

填入32位随机字码

$cfg['blowfish_secret'] = 'e2d8e1132dc737b3dc1f05cd44c0cc9e'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

4.测试

4.1重启httpd和php-fpm

# service httpd24 restart

# service php-fpm restart

4.2浏览器测试结果

clip_image006

5.这里可以用mysql的默认用户root直接登录测试.root账号的设置已经在前面第四节的第15部分设置.

6.另一个虚拟主机wp安装方式同理

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9fc7a21d113d6afd2094429d2a8d6f25.html