安装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
                        <value name="user">nobody</value>                

                        Unix group of processes
                        <value name="group">nobody</value>   
这2个的注释去掉,不然就会提示
root@yuan:/server/nginx/html# /server/php/sbin/php-fpm start
Starting php_fpm Sep 11 17:12:07.248390 [ERROR] 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_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

vim /etc/nginx/fastcgi_params
加一条fastcgi_param  SCRIPT_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的简单使用举例:
<?php  
 
$memcache = new Memcache;  
$memcache->connect('127.0.0.1','11211');  
$memcache->setCompressThreshold(20000, 0.2);   
echo $memcache->getVersion();                  
 
$test = array(1,2,3,4,5,'abcde');              
 
if($memcache->get('test')){  
        print_r($memcache->get('test'));      
        echo "\n";  
        echo 'cached';  
        echo "\n";  
}else{  
        $memcache->set('test',$test,0,30);     
        echo 'no cache';  
        echo "\n";  
}  
?>  


四 配置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
添加:

[xcache-common] 
zend_extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/xcache.so 
[xcache.admin] 
; 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" 
[xcache] 
; Change xcache.size to tune the size of the opcode cache 
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 size of variable cache 
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] 
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服务,相当于少了一层。

 















本文转自leonardos51CTO博客,原文链接: http://blog.51cto.com/leomars/419388,如需转载请自行联系原作者




相关文章
|
5月前
|
Ubuntu 网络协议 应用服务中间件
在 Ubuntu 上安装 Nginx
在 Ubuntu 上安装和配置 Nginx 非常简单。首先更新系统包,然后通过 `apt` 安装 Nginx,检查服务状态并配置防火墙规则。访问服务器 IP 测试是否成功显示默认页面。还可管理服务、创建虚拟主机及排查常见问题,适合新手快速上手部署高性能 Web 服务。
634 0
|
3月前
|
JavaScript Linux PHP
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
136 3
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
|
4月前
|
自然语言处理 测试技术 API
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
393 5
|
4月前
|
安全 应用服务中间件 Linux
Debian操作系统如何安装Nginx并开启HTTP2
本指南介绍了在Linux系统中通过源码编译安装Nginx的完整流程。首先更新软件包列表并安装必要的编译依赖,接着下载指定版本的Nginx源码包(如1.24.0),检查文件完整性后解压。随后通过配置脚本指定安装路径与模块(如HTTP SSL模块),执行编译和安装命令。最后创建软链接以便全局调用,并提供启动、停止及重载Nginx的命令,同时提醒注意安全组设置以确保正常访问。
|
9月前
|
运维 JavaScript 应用服务中间件
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
本文介绍了OS Copilot在ECS上 Alibaba Cloud Linux的安装与使用,并对其多项参数进行了功能测评。OS Copilot是为操作系统提供智能化辅助的工具,支持自动化任务、智能推荐、故障排查等功能。安装时需检查是否已安装(`rpm -q os-copilot`),若未安装则用`yum install os-copilot`命令安装,并配置AccessKey信息连接阿里云服务。通过测试不同参数命令,如`-t`参数,展示了其自动化执行和智能生成回答的能力,显著提升运维效率。
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
|
6月前
|
Ubuntu Linux PHP
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
204 6
|
8月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
215 20
|
9月前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
792 25
|
11月前
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
7507 1
|
PHP C++ Windows
WIN2003+IIS6+FastCGI+PHP5.4.30的安装配置
原文:WIN2003+IIS6+FastCGI+PHP5.4.30的安装配置 说明:PHP5.5已不支持win2003了,Win2003最高能安装PHP5.4.30。 安装好系统;并且安装好IIS6。
1241 0