动态服务器 blog 配置
Php-fpm 配置编译安装php依赖于MariaDB的文件,但是不需要对MariaDB进行任何配置,只需要解压到指定目录即可。
解压MariaDB到指定位置
tar xf mariadb-5.5.43-linux-x86_64.tar.gz -C/usr/local/ cd /usr/local/ ln -sv mariadb-5.5.43-linux-x86_64/ MySQL安装php依赖软件包
yum -y install libmcrypt libmcrypt-devel mhashmhash-devel openssl-devel bzip2-devel编译安装php
tar xf php-5.4.40.tar.bz2 cd php-5.4.40 ./configure --prefix=/usr/local/php5--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 --with-config-file-scan-dir=/etc/php.d--with-bz2 make && make install为php提供配置文件
[root@blog-01 php-5.4.40]# cp php.ini-production/etc/php.ini为php-fpm提供配置文件
[root@blog-01 php-5.4.40]# cp/usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf为php-fpm提供启动脚本
[root@blog-01 php-5.4.40]# cpsapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm [root@blog-01 php-5.4.40]# chmod +x/etc/rc.d/init.d/php-fpm [root@blog-01 php-5.4.40]# chkconfig --add php-fpm [root@blog-01 php-5.4.40]# chkconfig php-fpm on修改php-fpm设置
[root@blog-01 php-5.4.40]# vim/usr/local/php/etc/php-fpm.conf pm.max_children = 50 #每个进程的子进程数据 pm.start_servers = 5 #启动时开启的进程数 pm.min_spare_servers = 2 #最少空闲机舱内 pm.max_spare_servers = 8 #最多空闲进程 pid = /usr/local/php/var/run/php-fpm.pid listen = 172.16.4.102:9000 #设置监听的地址,需要保证web服务器可以访问此地址。启动并验证
[root@blog-01 php-5.4.40]# service php-fpm start [root@blog-01 php-5.4.40]# netstat -lnt | grepphp-fpm [root@blog-01 php-5.4.40]# netstat -lnt | grep:9000 tcp 0 0 172.16.4.102:9000 0.0.0.0:* LISTEN查看启动的进程
[root@blog-01 ~]# ps aux | grep php-fpm root 12569 0.0 0.0 103252 832 pts/0 S+ 06:48 0:00 grep php-fpm root 97811 0.0 0.4 155924 4084 ? Ss 04:05 0:01 php-fpm: master process (/usr/local/php5/etc/php-fpm.conf) nobody 97812 0.0 2.5 175708 26068 ? S 04:05 0:03 php-fpm: poolwww nobody 97813 0.0 2.5 175936 25992 ? S 04:05 0:04 php-fpm: poolwww nobody 97814 0.0 2.1 170612 21372 ? S 04:05 0:02 php-fpm: poolwww nobody 97815 0.0 2.0 170584 20980 ? S 04:05 0:03 php-fpm: poolwww nobody 97816 0.0 2.0 168996 21084 ? S 04:05 0:03 php-fpm: poolwww apache 的 blog 虚拟主机设置连接 php配置httpd支持fcgi,修改主配置文件取消注释即可
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so修改虚拟主机配置,使所有php结尾的文件通通转发到后端的blog服务器
[root@web01 ~]# vim/etc/httpd24/extra/httpd-vhosts.conf <VirtualHost *:80> ServerName blog.wordpress.com DocumentRoot "/www/blog" <Directory "/www/blog"> Options none AllowOverridenone Require all granted </Directory> ErrorLog"/var/log/httpd/blog-error-log" CustomLog"/var/log/httpd/blog-access-log" common ProxyRequests Off #关闭正向代理 ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.4.102:9000/www/blog/$1 #访问php结尾的所有文件,转发给后端的php服务器 </VirtualHost>设置完成重启httpd服务
blog服务器准备目录
[root@blog-01 php-5.4.40]# mkdir -p /www/blog放入测试页测试
[root@blog-01 ~]# vim /www/blog/index.php <?php phpinfo(); ?>访问web服务器,web服务器看到访问的文件是php结尾,就将请求转发给了后端的blog服务器
Blog 服务器和 MariaDB 数据库连接MariaDB数据库创建blog的库和用户,并且授权用户对库有所有权限
MariaDB [mysql]> create database wordpress; MariaDB [mysql]> GRANT all ON wordpress.* TO'wordpress'@'172.16.4.102' IDENTIFIED BY 'blogpasswd';测试php和MariaDB的连接
测试页如下:
[root@blog-01 ~]# vim /www/blog/index.php <?php $conn=mysql_connect('172.16.4.136','wordpress','blogpasswd'); if ($conn) echo"连接数据库成功"; else echo"连接数据库失败" ?>