butter7372 发表于 2015-8-19 09:56:39

Linux_源码搭建LAMP环境(二)

  这个主要描述下一些常用插件和工具的安装和配置。

1.eAccelerator
  eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,
  提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,
  对服务器的开销几乎完全消除。 它还有对脚本起优化作用,
  以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍;
  1.安装eAccelerator

  如果只有一个php安装,那么可以直接在eAccelerator目录下执行

phpize
./configure
make
当你有多个php安装或者phpize不再你的当前路径中的时候,那么

  $ tar -jxf eaccelerator-0.9.6.1.tar.bz2

  $ cd eaccelerator-0.9.6.1
  $ su -

  # cd /home/gaohu/eaccelerator-0.9.6.1
  # /usr/local/bin/phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
  /usr/local/bin/phpize命令一定要放在eaccelerator目录下执行,
  不然会报 Cannot find config.m4 的错误。
  # ./configure \
  --enable-eaccelerator=shared \
  --with-php-config=/usr/local/bin/php-config
  # make
  # make install

  得到如下的输出,安装就成功了

  Installing shared extensions:

  /usr/local/lib/php/extensions/no-debug-zts-20090626/
  
  如果php编译的是非线程安全的,那么可能会输出在
  /usr/local/lib/php/extensions/no-debug-non-zts-20090626/
  自己要注意下。

  
  2.配置eAccelerator
  eAccelerator可以被配置为Zend扩展,或者是php的扩展。当被配置为Zend扩展时,
  需要使用完整目录来指示eaccelerator.so链接库的路径。
  如果存在php.d目录,则把eAccelerator.ini拷贝进去,并进行设置。
  否则的话,则编辑php.ini文件。
  

  安装为zend扩展:

  zend_extension="/usr/lib/php4/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir=" /var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
  eaccelerator.allowed_admin_path="/usr/local/apache2/htdocs/control.php"
  如果你使用了线程安全的php构建,那么需要使用
  "zend_extension_ts" 来替换上面的 "zend_extension".
  

  安装为php扩展:
  extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

  eaccelerator.allowed_admin_path="/usr/local/apache2/htdocs/control.php"
  把以上内容粘贴到php.ini文件中即可。
  
  上述变量的意思:
  eaccelerator.shm_size="16"

  解释:eaccelerator可使用的共享内存大小(单位为MB)。

  eaccelerator.cache_dir="/tmp/eaccelerator"

  解释:缓存路径
  eaccelerator.enable="1"

  解释:打开或者关闭eaccelerator。"1"指打开,"0"指关闭。默认值为"1"。
  eaccelerator.optimizer="1"

  解释:打开或者关闭代码优化,开启可以加快代码的执行速度。
  "1"指打开,"0"指关闭。默认值为"1"。
  eaccelerator.check_mtime="1"

  解释:当打开此项时,eaccelerator会在每次请求时检查php文件的修改时间,
  看其是否被修改过,这会耗费一点时间,如果php文件被修改过,
  eaccelerator会重新编译缓存该php文件。当关闭此项时,如果php文件被修改,
  则需要手工删eaccelerator缓存,才能显示被修改的php文件。
  "1"指打开,"0"指关闭。默认值为"1"。
  eaccelerator.debug="0"

  解释:打开或者关闭调试记录。当打开时,eaccelerator会将对一个缓存文件的
  每次请求都写进log。打开此项只对调试eaccelerator是否有BUG时有益处。
  "1"指打开,"0"指关闭。默认值为"0"。
  eaccelerator.log_file="/usr/local/apache2/logs/eaccelerator_log"

  解释:日志文件
  eaccelerator.filter=""   

  解释:决定哪些PHP文件应该被缓存。可以指定一个范围(比如"*.php *.phtml"),
  这样被指定的文件就会被缓存。如果该范围以!开头,
  被指定的文件就不会被缓存。默认值为"",表示缓存所有的PHP文件。
  eaccelerator.shm_max="0"   

  解释:一个用户使用例如eaccelerator_put之类的函数能够往
  共享内存中加载的最大数据。默认值为"0",表示不限制。(单位为字节)
  eaccelerator.shm_ttl="0"   

  解释:当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删除至少
  在shm_ttl秒之前没有被访问过的文件。默认值为"0",表示不尝试从
  共享内存中删除任何旧的脚本。(单位为秒)
  eaccelerator.shm_prune_period="0"

  解释:当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删所有旧脚本,
  前提是这个尝试在超过shm_prune_period秒之前被执行过。默认值为"0",
  表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)
  eaccelerator.shm_only="0"

  解释:打开或者关闭在磁盘上缓存编译过的脚本。这个参数对会话数据
  和内容缓存没有效果。默认值为"0",表示使用磁盘和共享内存来缓存。
  eaccelerator.compress="1"

  解释:打开或者关闭缓存内容压缩。"1"指打开,"0"指关闭。默认值为"1"。
  eaccelerator.compress_level="9"

  解释:内存压缩的级别。默认值为"9",表示最大压缩。
  eaccelerator.allowed_admin_path="/usr/local/apache2/htdocs/control.php"
  解释:eaccelerator控制文件路径,这样,可以通过
  http://your-web-server/control.php获取图形化访问eaccelerator。
  要使用这个功能,要把安装源代码目录下的control.php拷贝到
  /usr/local/apache2/htdocs/目录下,并设置control.php文件中
  的用户和密码,以后,则需要文件中的用户名和密码登陆。
  

  

  同时调整php.ini中扩展插件的目录为上述的输出
  ; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
; extension_dir = "ext"
extension_dir = "/usr/local/lib/php/extensions/no-debug-zts-20090626/"
  
  

  3.创建缓存目录
  目录要与上面配置文件中指定的一致,并且,要确保webserver的运行用户对这个
  目录有可写入的权限。

  # mkdir /var/cache/eaccelerator
  比如我的apache守护进程是有daemon用户来执行的(可以在httpd.conf中找到)
  那么,我切换下目录的属主
  # chown -R daemon.daemon /var/cache/eaccelerator
  
  4.重启apache
  重启apache,以启用eaccelerator扩展。

  访问http://your-web-server/phpinfo.php
  或者在命令行执行 php -v

  可以看到eaccelerator已经启用的信息。


2.ImageMagick
  ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,
  可以用来读、写和处理超过89种基本格式的图片文件,
  包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。
  ImageMagick比gd提供了更好的图像处理质量。推荐使用。
  下载ImageMagick的源代码。
  1.解压缩
  $ tar -zxf ImageMagick.tar.gz
  

  2.编译安装
  $ tar -zxf ImageMagick.tar.gz
  $ cd ImageMagick-6.6.3-0/
  $ ./configure
  $ make
  $ sudo make install
  
  3.下载imagick
  这个是php的一个支持ImageMagick的扩展。
  下载地址:http://pecl.php.net/package/imagick
  
  4.编译安装imagick
  这里,像安装eaccelerator一样,把imagick安装为php的一个扩展。
  $ tar -zxvf imagick-3.0.0RC2.tgz

  $ cd imagick-3.0.0RC2
  $ phpize

  $ ./configure \

  --with-php-config=/usr/local/bin/php-config
  $ make
  $ sudo make install
Installing shared extensions:
     /usr/local/lib/php/extensions/no-debug-zts-20090626/
Installing header files:/usr/local/include/php/
  
  4.配置imagick
  $ sudo vi /usr/local/lib/php.ini

  
添加以下:
  extension = "imagick.so"
  保存退出。
  ImageMagick和imagick的安装完成。

3.phpMyAdmin
  phpMyAdmin是一个网络的数据库管理平台,这个跟php是没有什么关系的,
  不过使用起来也是比较方便的,所以推荐大家使用。
  下载代码后,直接把代码解压到网站根目录下的一个文件夹,就可以使用了。
$ cd /usr/local/apache2/htdocs/
$ tar -jxf /home/gaohu/phpMyAdmin-3.3.4-all-languages.tar.bz2
  $ mv phpMyAdmin-3.3.4-all-languages phpMyAdmin
  $ cd phpMyAdmin/
  $ cp config.sample.inc.phpconfig.inc.php
然后就可以以http://your-web-server/phpMyAdmin来访问phpMyAdmin的功能了。
  
  我所用到的就是这么多了,如果有更好的,也希望大家推荐给我。^_^。
  下面就要再次安装meidiawiki了,呵呵 。
  
  <201007219 高虎 于杭州 博客园>
  
  
  
页: [1]
查看完整版本: Linux_源码搭建LAMP环境(二)