robin 发表于 2018-11-10 09:03:39

安装nginx+php+fastcgi+memcache+xcache/eaccelerator/apc

  rpm -ivh epel-release-5-3.noarch.rpm
  yum list
  yum install nginx gcc openssl-devel pcre-devel zlib-devel mysql-server mysql-devel libmcrypt-devel libxml2-devel libtool-ltdl-devel
  gzip -cd php-5.2.9-fpm-0.5.10-unofficial.diff.gz |patch -d php-5.2.9 -p1
  cd php-5.2.9
  ./configure   --prefix=/usr/local/php --enable-fastcgi   --enable-fpm   --with-mysql   --with-mcrypt   --with-zlib
  make && make install
  cp /usr/local/php/sbin/php-fpm /etc/init.d
  vim /etc/init.d/php-fpm
  # chkconfig: - 85 15
  # description: php-fpm
  vim /usr/local/php/etc/php-fpm.conf
  fpm安装完成后 (其实是php的编译前打上fpm的补丁,在编译的时候增加fpm的参数)
  要将                      Unix user of processes
  nobody
  Unix group of processes
  nobody
  这2个的注释去掉,不然就会提示
  root@yuan:/server/nginx/html# /server/php/sbin/php-fpm start
  Starting php_fpm Sep 11 17:12:07.248390 fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool 'default'
  done
  vim /etc/nginx/nginx.conf
  取消注释
  location ~ \.php$ {
  root         html;
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_indexindex.php;
  fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name;
  include      fastcgi_params;
  }
  vim /etc/nginx/fastcgi_params
  加一条fastcgi_paramSCRIPT_FILENAME    $document_root$fastcgi_script_name;
  service nginx restart
  先安装libevent:
  tar zxvf libevent-1.2.tar.gz
  cd libevent-1.2
  ./configure --prefix=/usr
  make
  make install
  Memcached 服务端安装:(源码包官方网站下载)
  系统命令
  tar xvf memcached-1.2.6.tar.gz
  cd memcached-1.2.6
  ./configure --prefix=/usr/local/memcached --with-libevent=/usr/
  make
  make install
  然后就可以启动memcached的守护进程了:
  系统命令
  /usr/local/memcached/bin/memcached -p 11211 -l 127.0.0.1 -d -u nobody -P /var/run/memcached.pid -m 64M -c 1024
  php中memcache扩展组件的安装:
  系统命令
  tar xvf memcache-3.0.3.tgz
  cd memcache-3.0.3
  /usr/local/php5/bin/phpize
  ./configure --with-php-config=/usr/local/php5/bin/php-config --enable-memcache
  make
  make install
  php中memcache扩展组件的安装:
  系统命令
  tar xvf memcache-3.0.3.tgz
  cd memcache-3.0.3
  /usr/local/php/bin/phpize
  ./configure --with-php-config=/usr/local/php/bin/php-config --enable-memcache
  make
  make install
  按照我的环境,编译出来的memcache.so保存在 /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ 目录下,如果你的环境不一样,你得根据自己情况修改你的php.ini了。
  接着要做的工作就是让php加载这个扩展,编辑你的php.ini,在适当位置(通常是最后,也可以是独立的一个ini文件)加入如下行:
  extension=memcache.so
  然后重启你的phpfastcgi进程或者apache,运行一个phpinfo()来确认一下,正常的话你应该可以看到这个了:memcache
  php-memcache的简单使用举例:
  
  四 配置XCache
  1、安装xcache模块
  wget http://xcache.lighttpd.net/pub/Releases/1.2.2/xcache-1.2.2.tar.gz
  tar -xvzf xcache-1.2.2.tar.gz
  cd xcache-1.2.2
  /usr/local/php/bin/phpize
  ./configure --with-php-config=/usr/local/php/bin/php-config --enable-xcache --enable-xcache-optimizer
  make
  make install
  2、计算密码的md5值
  echo -n "password"|md5sum
  5f4dcc3b5aa765d61d8327deb882cf99
  3、配置XCache
  ;注: zend_extension,用来加载zend的扩展,是绝对路径,
  extension是相对路径,相对于extension_dir的相对路径,非zend扩展
  如果你更改路径以后,一定要apachectl stop后再start,而不要restart。
  vi /usr/local/php/etc/php.ini
  添加:
  
  zend_extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/xcache.so
  
  ; Change xcache.admin.user to your preferred login name
  xcache.admin.user = "admin"
  ; Change xcache.admin.pass to the MD5 fingerprint of your password
  ; Use md5 -s "your_secret_password" to find the fingerprint
  xcache.admin.pass = "5f4dcc3b5aa765d61d8327deb882cf99"
  

  ; Change xcache.size to tune the>  xcache.size = 24M
  xcache.shm_scheme = "mmap"
  xcache.count = 2
  xcache.slots = 8K
  xcache.ttl = 0
  xcache.gc_interval = 0

  ; Change xcache.var_size to adjust the>  xcache.var_size = 8M
  xcache.var_count = 1
  xcache.var_slots = 8K
  xcache.var_ttl = 0
  xcache.var_maxttl = 0
  xcache.var_gc_interval = 300
  xcache.test = Off
  xcache.readonly_protection = On
  xcache.mmap_path = "/tmp/xcache"
  xcache.coredump_directory = ""
  xcache.cacher = On
  xcache.stat = On
  xcache.optimizer = Off
  
  xcache.coverager = On
  xcache.coveragedump_directory = ""
  5、重启PHP模块
  正常load之后,
  在phpinfo显出的信息内
  Zend这快应该会加上XCache的内容
  6、另外两种加速模块:
  在我们的测试中,效果都要好于xcache,这3中加速不能同时存在两种,有冲突。
  6.1 apc
  wget http://pecl.php.net/get/APC-3.0.19.tgz
  cd APC-3.0.19
  /usr/local/php/bin/phpize
  ./configure --enable-apc --enable-apc-mmap --with-apxs=/EBS/apache/bin/apxs --with-php-config=/EBS/php/bin/php-config
  make
  make install
  6.2 eaccelerator
  wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.zip
  cd eaccelerator-0.9.5.3
  /usr/local/php/bin/phpize
  ./configure --enable-eaccelerator=shared --with-php-config=/EBS/php/bin/php-config
  make
  make install
  vi php.ini
  zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
  eaccelerator.shm_size="16"
  eaccelerator.cache_dir="/tmp/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"
  五、使用nginx对应多台facgi服务器
  思路:前端一台nginx,用于做为负载均衡和处理静态页面。利用nginx的upstream模块来将php请求分发到后段的php-fpm服务器上。
  后端多台php-fpm的服务器,只起php-fpm服务来处理php。
  这样做减少了php-fpm上的nginx服务,相当于少了一层。

页: [1]
查看完整版本: 安装nginx+php+fastcgi+memcache+xcache/eaccelerator/apc