LAMP两种编译安装模式

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进行了封装,不需要手工指定

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29620572/viewspace-1781491/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29620572/viewspace-1781491/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值