web profiler 环境搭建

        初尝LAMP,WAMP or MAMP,可能大多数同学会想到使用AppSer套件吧。今天,借着我们的Web Profiler,我想和大家分享的一下LAMP环境搭建(不过这里暂时不需要M)。

一. 环境准备

       工欲善其事必先利其器。首先,我们需要列出环境搭建过程中的Requirements and Optional

1. Apache HTTP Server 2.4.x

  Requirements : 

    1.1  APR and APR-Util

    1.2  PCRE 2.4中,该兼容工具包已经不再随server一起分发,所以需要我们自己下载安装,地址在:http://www.pcre.org

    1.3  GCC

    1.4  基于NTP的时间同步工具,如:ntpdate,xntpd

 Optional:

    1.5  Perl 5 一些apxs脚本需要运行在perl 5 解释器上

2. PHP 5.3.x

        Php 的安装有些小纠结。如果你运行开源php程序,一定需要搞清楚当时的运行环境,感觉它的版本兼容性做的不是很好,某个程序在5.3.x上能运行,到5.4.x就出问题了。这里取上一个稳定版本,故选定5.3.10

  Requirements : 

    2.1 PHP 5.3.10

    2.2 Libxml

  Optional:

       这里根据需要选择,由于我要用到zlibcurlxdebug等开源库,所以待会会看到我的配置参数里会有其身影。

二.开工(只列出重要步骤)

1 Apache的安装:

./configure --enable-mpms-shared=all --enable-mods-shared=most --prefix=/home/admin/apache2 --with-port=9898 --with-included-apr --with-pcre=/home/admin/pcre/bin/pcre-config --enable-so --with-included-apr --with-pcre=/home/admin/pcre/bin/pcre-config

备注:这里mpm我选择了all,目的很明确,后面要对新版本的Apache Io模型进行性能压测.最后两个选项是2.4.x与之前版本不同的地方.

2 PHP的安装:

./configure --prefix=/home/admin/php5 --with-apxs2=/home/admin/apache2/bin/apxs --with-libxml-dir=/home/admin/libxml2 --with-curl=/home/admin/curl --enable-mbstring  --with-zlib-dir=/home/admin/zlib --enable-ftp --enable-zip --with-config-file-path=/home/admin/php5/lib

备注:由于GD库是随发行bundle的,所以这里我省去以下参数--with-gd --with-jpeg-dir --with-png-dir ---enable-gd-native-ttf mbstring是多字节编码,这个用过visual studio的朋友都很有感触吧。另外,with系列的命令根据具体需求添加,enable系列的命令同理,附一份我的配置清单吧,如下:

web profiler 环境搭建

    接下来,安装debug扩展模块,首先进入xdebug目录,执行../php5/bin/phpize,有了configure文件后,像其它源码安装一样,执行configure,make,install命令.只不过这里的配置命令需要稍作改变,如:./configure --enable-xdebug --with-php-config=/home/admin/php5/bin/php-config.最后一步,将生成的扩展模块及其一些debug信息加入php.ini文件,如:

zend_extension=/home/admin/xdebug-2.1.4/modules/xdebug.so

xdebug.remote_enable=on

xdebug.remote_host=127.0.0.1

xdebug.remote_port=33333

最后通过php -m 或者 -i查看查看是否成功.

PHP 5.3.10 (cli) (built: Apr  7 2012 13:55:06) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
    with Xdebug v2.1.4, Copyright (c) 2002-2012, by Derick Rethans

......

3 环境配置

        经过一阵子makemake install安装完毕后,进入配置环节,首先拷贝php.ini-production到我刚才指定的目录/home/admin/php5/lib,并命名为php.ini,初始化参数都在这里面定义,后面可以酌情修改(如short_open_tag = On等)。

        恩,php要做的配置也就这么多了,下面是apache的一系列配置:

       a. 虚拟主机配置

       <Directory "/home/admin/profiler/www">
               AllowOverride all   
               Require all granted
       </Directory>
       <VirtualHost *:9898>
               DocumentRoot /home/admin/profiler/www
       </VirtualHost>

     备注:2.4之前使用的访问控制命令如下:

        Order allow,deny

        Allow from all

      现在,只需要Require all granted就搞定了

     b. Php handler配置

        <FilesMatch \.php$>
              	SetHandler application/x-httpd-php
       	</FilesMatch>
     	<FilesMatch "\.ph(p[2-6]?|tml)$">
    		SetHandler application/x-httpd-php
	</FilesMatch>
	<FilesMatch "\.phps$">
    		SetHandler application/x-httpd-php-source
	</FilesMatch>
	<IfModule dir_module>
    		DirectoryIndex index.php index.html index.htm
	</IfModule>

备注:LoadModule php5_module modules/libphp5.so,由于你指定了apxs2目录,php安装过程中也一并帮你搞定了

c. 与profiler应用相关的一些权限设置

         chmod 766 tmp

         chmod 766 results

         chmod 766 work/jobs

         chmod 766 work/video

         chmod 766 logs

三.收工

 成功后,截图如下:

web profiler 环境搭建

参考文献:

1.http://httpd.apache.org/docs/2.4/install.html 

2.http://www.php.net/manual/en/install.unix.apache2.php 

3.http://httpd.apache.org/docs/2.4/upgrading.html 

4.http://xdebug.org/docs/install

5.http://arturito.net/2011/05/21/local-and-remote-php-debuging-in-netbeans-with-xdebug-on-google-chrome-just-like-in-visual-studio/

6.http://netbeans.org/features/php/

7.http://docs.activestate.com/komodo/6.0/debugphp.html#remote_debug_PHP

8.http://www.netperf.org/netperf/training/Netperf.html

9.http://www.ibm.com/developerworks/cn/linux/l-netperf/

10.http://www.ibm.com/developerworks/cn/linux/l-hisock.html

上一篇:linux搭建git服务器


下一篇:eclipse配置tomcat运行时访问路径不要项目名称