PHP5.3.3以上支持基于fast独立服务器
rpm -qf /etc/my.cnf
hwclock -s
apache
module
prefork:libphp5.so
worker,event:libphp5-zts.so
应用PHP模块的httpd配置文件
vim /etc/httpd/conf.d/php.conf
<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php
测试代码
vim index.php
<html>
<head>
<title> PHP Test Page</title>
</head>
<body>
<h1>modular php</h1>
<?php
phpinfo();
?>
</body>
</html>
注:index.php文件不需要放在CGI目录下
LAMP部署模式
apache + php
moodule
prefork:libphp5.so
worker ,event :libphp5-zts.so
CGI
fsatcgi
php-fpm:启动为服务进程
php-mysql
$link=mysql_connect('127.0.0.1','root','mypass')
if ($link);
echo ""
else
echo ""
mysql_close()
编译安装LAMP之一:php modules模式
安装mysql
http://blog.itpub.net/29620572/viewspace-1763687/
安装http
依赖更高版本的apr和apr-util,apr全称为apache portable runtime
httpd2.4需要apr1.4以上版本
yum install -y pcre-devel gcc* wget lrzsz openssl-devel
wget http://mirrors.cnnic.cn/apache/apr/apr-1.5.2.tar.gz
wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.5.4.tar.gz
wget http://mirrors.cnnic.cn/apache//httpd/httpd-2.4.16.tar.gz
tar xf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
make && make install
cd
tar xf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
cd
tar xf httpd-2.4.16.tar.gz
cd httpd-2.4.16
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-modules=most --enable-mpms-shared=all --with-event
make && make install
--enable-so :支持动态加载模块
--enable-rewrite :支持url重写
--with-zlib :使用网络上的通用压缩库
--with-pcre :支持perl
--enable-modules :企业大多数或所有的module
安装PHP
http://php.net/get/php-5.4.44.tar.gz/from/a/mirror
wget http://xcache.lighttpd.net/pub/Releases/3.0.4/xcache-3.0.4.tar.gz
yum install -y *libxml2* bzip2-libs bzip2 bzip2-devel
tar xf php-5.4.44.tar.gz
cd php-5.4.44
./configure --prefix=/usr/local/php --with-mysql=/mysql --with-openssl --with-
mysqli=/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 --with-
apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d
--with-bz2 --enable-maintainer-zts
注:
1.这里为了支持apache的worker或event这两个MPM,编译时使用了--enable-maintainer-zts选项
2.如果使用PHP5.3以上的版本,为了连接mysql数据库,可以指定mysqlnd,这样在本机就不需要先安装mysql开发包
了。msqlnd从php5.3开始可用,可以编译时绑定到它,并且5.4就是默认了。
#./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
make && make install
为php提供配置文件
cp php.ini-production /etc/php.ini
编辑apache配置文件httpd.conf,以apache支持php
vim /etc/httpd/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.phps index.html
cd /usr/local/apache/htdocs
<?php
$link=mysql_connect('127.0.0.1','scott','tiger');
if ($link)
echo "Success...";
else
echo "failure...";
mysql_close();
phpinfo();
?>
配置PHP加速器
tar xf xcache-3.0.4.tar.gz
cd xcache-3.0.4
/usr/local/php/bin/phpize
./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
make && make install
注意:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
cp xcache.ini /etc/php.d/
vim /etc/php.d/xcache.ini
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
编译安装LAMP之一:php-fpm
同上,但安装PHP时不同
./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
为php提供配置文件
cp php.ini-production /etc/php.ini
配置php-fpm
为php-fpm提供init脚本
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
为php-fpm提供配置文件
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
编辑php-fpm的配置文件
vim /usr/local/php/etc/php-fpm.conf
配置fpm的相关选项为你所需要的值,并启用pid文件
listen
pm.max_children=50
pm.start_servers=5
pm.min_spare_servers=2
pm.max_space_servers=8
pid=/usr/local/php/var/run/php-fpm.pid
配置
grep -i pid /etc/init.d/php-fpm
vim /usr/local/php/etc/php-fpm
pid=/usr/local/php/var/run/php-fpm.pid
vim /etc/httpd/httpd.conf
Listen 80
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
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
Include /etc/httpd24/extra/httpd-vhosts.conf
vim /etc/httpd24/extra/httpd-vhosts.conf
ProxyRequests off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/www/a.com/$1
注:
虚拟主机一定要配置Directory
ProxyRequests off:关闭正向代理
ProxyPassMatch:把所有.php结尾的文件请求发送到php-fpm至少需要知道运行的目录和URI,
所以这里直接在fcgi://127.0.0.1:9000后指明了这两个参数,其他的参数的传递已经被mod_proxy_fcgi.so进行了封装,不需要手工指定
rpm -qf /etc/my.cnf
hwclock -s
apache
module
prefork:libphp5.so
worker,event:libphp5-zts.so
应用PHP模块的httpd配置文件
vim /etc/httpd/conf.d/php.conf
<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php
测试代码
vim index.php
<html>
<head>
<title> PHP Test Page</title>
</head>
<body>
<h1>modular php</h1>
<?php
phpinfo();
?>
</body>
</html>
注:index.php文件不需要放在CGI目录下
LAMP部署模式
apache + php
moodule
prefork:libphp5.so
worker ,event :libphp5-zts.so
CGI
fsatcgi
php-fpm:启动为服务进程
php-mysql
$link=mysql_connect('127.0.0.1','root','mypass')
if ($link);
echo ""
else
echo ""
mysql_close()
编译安装LAMP之一:php modules模式
安装mysql
http://blog.itpub.net/29620572/viewspace-1763687/
安装http
依赖更高版本的apr和apr-util,apr全称为apache portable runtime
httpd2.4需要apr1.4以上版本
yum install -y pcre-devel gcc* wget lrzsz openssl-devel
wget http://mirrors.cnnic.cn/apache/apr/apr-1.5.2.tar.gz
wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.5.4.tar.gz
wget http://mirrors.cnnic.cn/apache//httpd/httpd-2.4.16.tar.gz
tar xf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
make && make install
cd
tar xf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
cd
tar xf httpd-2.4.16.tar.gz
cd httpd-2.4.16
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-modules=most --enable-mpms-shared=all --with-event
make && make install
--enable-so :支持动态加载模块
--enable-rewrite :支持url重写
--with-zlib :使用网络上的通用压缩库
--with-pcre :支持perl
--enable-modules :企业大多数或所有的module
安装PHP
http://php.net/get/php-5.4.44.tar.gz/from/a/mirror
wget http://xcache.lighttpd.net/pub/Releases/3.0.4/xcache-3.0.4.tar.gz
yum install -y *libxml2* bzip2-libs bzip2 bzip2-devel
tar xf php-5.4.44.tar.gz
cd php-5.4.44
./configure --prefix=/usr/local/php --with-mysql=/mysql --with-openssl --with-
mysqli=/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 --with-
apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d
--with-bz2 --enable-maintainer-zts
注:
1.这里为了支持apache的worker或event这两个MPM,编译时使用了--enable-maintainer-zts选项
2.如果使用PHP5.3以上的版本,为了连接mysql数据库,可以指定mysqlnd,这样在本机就不需要先安装mysql开发包
了。msqlnd从php5.3开始可用,可以编译时绑定到它,并且5.4就是默认了。
#./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
make && make install
为php提供配置文件
cp php.ini-production /etc/php.ini
编辑apache配置文件httpd.conf,以apache支持php
vim /etc/httpd/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.phps index.html
cd /usr/local/apache/htdocs
<?php
$link=mysql_connect('127.0.0.1','scott','tiger');
if ($link)
echo "Success...";
else
echo "failure...";
mysql_close();
phpinfo();
?>
配置PHP加速器
tar xf xcache-3.0.4.tar.gz
cd xcache-3.0.4
/usr/local/php/bin/phpize
./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
make && make install
注意:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
cp xcache.ini /etc/php.d/
vim /etc/php.d/xcache.ini
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
编译安装LAMP之一:php-fpm
同上,但安装PHP时不同
./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
为php提供配置文件
cp php.ini-production /etc/php.ini
配置php-fpm
为php-fpm提供init脚本
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
为php-fpm提供配置文件
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
编辑php-fpm的配置文件
vim /usr/local/php/etc/php-fpm.conf
配置fpm的相关选项为你所需要的值,并启用pid文件
listen
pm.max_children=50
pm.start_servers=5
pm.min_spare_servers=2
pm.max_space_servers=8
pid=/usr/local/php/var/run/php-fpm.pid
配置
grep -i pid /etc/init.d/php-fpm
vim /usr/local/php/etc/php-fpm
pid=/usr/local/php/var/run/php-fpm.pid
vim /etc/httpd/httpd.conf
Listen 80
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
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
Include /etc/httpd24/extra/httpd-vhosts.conf
vim /etc/httpd24/extra/httpd-vhosts.conf
ProxyRequests off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/www/a.com/$1
注:
虚拟主机一定要配置Directory
ProxyRequests off:关闭正向代理
ProxyPassMatch:把所有.php结尾的文件请求发送到php-fpm至少需要知道运行的目录和URI,
所以这里直接在fcgi://127.0.0.1:9000后指明了这两个参数,其他的参数的传递已经被mod_proxy_fcgi.so进行了封装,不需要手工指定
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29620572/viewspace-1781491/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29620572/viewspace-1781491/