文档章节

安装php工作在fast-cgi模式并用xcache加速

码上有春天
 码上有春天
发布于 2016/08/28 23:55
字数 1172
阅读 29
收藏 0

OS: centos6.7

软件版本:apache2.4,mysql5.5,php5.5,xcache3.2

确保已经安装的包组:
Development Tools
Server Platform Development
Desktop Platform Development

一 安装mysql的通用二进制包
这种安装方式要求安装目录必须是/usr/local/mysql/, 并以mysql用户运行。

添加mysql用户:
	groupadd -r mysql
	useradd -g mysql -r -s /sbin/nologin
把压缩包解压到/usr/local/目录,并创建软连接到/usr/local/mysql, cd到这个目录里:
	chown -R :mysql ./*
创建数据目录,并修改权限为mysql:
	mkdir -p /data/mydata
	chown -R mysql:mysql /data/mydata/
执行数据库初始化脚本:
	scripts/mysql_install_db --datadir=/data/mydata --user=mysql
提供服务脚本,复制安装目录下的样例即可:
	cp support-files/mysql.server /etc/rc.d/init.d/msyqld
	chkconfig --add mysqld
提供配置文件,复制安装目录下的样例即可:
	cp support-files/my-large.cnf /etc/my.cnf
	vim /etc/my.cnf
	加入指令:
		datadir = /data/mydata
登录mysql客户端,删除匿名用户,并给所有用户加上密码
	drop user ''@'localhost';
	set password for 'root'@'localhost' = password('111');
导出头文件
	vim /etc/ld.so.conf.d/mysql.conf
	只写一行:
		/usr/local/mysql/lib
	ldconfig -v
导出头文件
	ln -sv /usr/local/mysql/include /usr/include/mysql
导出二进制程序文件(环境变量)
	vim /etc/profile.d/mysql.sh
	只写一行:
		export PATH=/usr/local/mysql/bin:$PATH	

二 httpd2.4的源码编译安装过程

1. 它依赖于这些包包:pcre-devel, apr, apr-utils
pcre-devel包的安装很简单:
	yum install pcre-devel
apr和apr-utils需要下载源码包,版本在1.5以上:
cd到apr的解压目录:
	./configure --prefix=/usr/local/apr
	make && make install
cd到apr-utils的解压目录:
	./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr
	make && make install
2.安装httpd
cd到httpd解压目录,执行配置安装:
	./configure --prefix=/usr/local/apache/ --sysconfdir=/etc/httpd24/ --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-cgi --enable-ssl --enable-rewrite --with-zlib --with-pcre --enable-modules=most --enable-mpms-shared=all --with-mpm=event
	make && make install

为httpd提供服务脚本,可以复制跟随系统安装的http的服务脚本,稍加修改就可用:
	cd /etc/rc.d/init.d/
	cp httpd httpd24
	vim httpd24  
	修改这些项:
		apachectl=/usr/local/apache/bin/apachectl
		httpd=/usr/local/apache/bin/httpd
		prog=httpd
		pidfile=${PIDFILE-/var/run/httpd24.pid}
		lockfile=${LOCKFILE-/var/lock/subsys/httpd24}

在httpd主配置文件中定义pid文件位置(与服务脚本中的对应),加入指令:
		PidFile "/var/run/httpd24.pid"

导出httpd的二进制程序文件(加入环境变量)
	vim /etc/profile.d/httpd24.sh
	加一行:export PATH=/usr/local/apache/bin:$PATH

加入系统服务列表
	chkconfig --add httpd24
	chkconfig --list httpd24

三 安装php工作为fpm模式

1. 它依赖于这些包:libmcrypt-devel(这个包在epel源中), bzip2-devel
配置好yum源,直接yum安装就行:
	yum install libmcrypt-devel bzip2-devel -y

2. 安装php
cd进入解压目录中:
	./configure --prefix=/usr/local/php5 --with-config-file-path=/etc/php5 --with-config-file-scan-dir=/etc/php5.d --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/msyql/bin/mysql_config --with-openssl --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-bz2 --with-mcrypt --with-libxml-dir=/usr --enable-xml --enable-mbstring --enable-sockets --enable-fpm
	make && make install
	###如果安装php以模块方式工作,则 --enable-fpm 换成 --enable-maintainer-zts --with-apxs2=/usr/local/apache/bin/apxs,这样编译安装后,会在httpd的主配置文件中自动加入一行指令:
	###	LoadModule php5_module modules/libphp5.so
	###如果mysql和php不在同一台服务器上,则与mysql相关的选项都换成 --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd

提供配置文件,直接复制解压目录下的样例文件
	cp php.ini-production /etc/php5/php.ini

提供服务脚本,直接复制安装目录下的样例文件并给执行权限,加入系统服务列表
	cd /usr/local/php5
	cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
	chmod +x /etc/rc.d/init.d/php-fpm
	chkconfig --add php-fpm

提供服务配置文件,直接复制安装目录下的样例文件,并修改
	cd /usr/local/php5/etc
	cp php-fpm.conf.default php-fpm.conf
	vim php-fpm.conf
	修改pid文件位置和服务脚本中一致:
		pid = /usr/local/php5/var/run/php-fpm.pid

修改httpd的主配置文件:
	启用模块:proxy_module, proxy_fcgi_module
	关掉模块:php5_module
	加入:
		AddType application/x-httpd-php .php
		AddType application/x-httpd-php-source .phps

		DirectoryIndex index.php index.html
	可以注释中心主机,然后启用虚拟主机配置文件
		注释 DocumentRoot开头的行
		启用这一行:Include /etc/httpd24/extra/httpd-vhosts.conf

配置虚拟主机
	<VirtualHost *:80>
	    ServerAdmin webadmin@a.com
	    DocumentRoot "/web/a.com/htdocs"
	    ServerName www.a.com
	    ServerAlias a.com
	    ErrorLog "logs/a.com.err"
	    CustomLog "logs/a.com.access" common

	    ProxyRequests Off
	    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/web/a.com/htdocs/$1

	    <Directory "/web/a.com/htdocs">
		Options None
		Require all granted
	    </Directory>
	</VirtualHost>

改hosts文件
	192.168.1.120 www.a.com a.com

四 安装xcache给php加速

cd进入xcache的解压目录执行:
	/usr/local/php5/bin/phpize
	./configure --enable-xcache --with-php-config=/usr/local/php5/bin/php-config
	make && make install
	### 复制安装完成后的xcache存放目录

把解压包中的xcache配置文件复制到php配置目录,并修改:
	mkdir /etc/php5.d
	cp xcache.ini /etc/php5.d/
	vim /etc/php5.d/xcache.ini
	写入刚刚复制的xcache安装目录:
		extension = /usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/xcache.so

重启mysqld服务,httpd服务,php-fpm服务查看效果

 

© 著作权归作者所有

码上有春天
粉丝 5
博文 82
码字总数 55985
作品 0
广州
程序员
私信 提问
安装PHP XCache缓存加速模块

生产环: OS:CentOS release 6.9 (Final) PHP 5.3.27 任务:安装PHP XCache缓存加速模块 [root@sky9890 tools]# wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.bz......

whm_666
2018/04/16
0
0
Xcache缓存器的介绍、使用及配置

1.Xcache介绍 在很短的时间内,PHP 成为了一种非常流行的开发 Web 应用程序的程序设计语言。对初学者来说,PHP易于安装和学习。对于有经验的开发人员而言,PHP(从 V5 开始)提供了强大的面向...

lincoln.yu
2013/12/12
0
0
源码搭建LNMP及xcache加速

源码搭建LNMP及xcache加速 LNMP即Linux系统下Nginx+MySQL+PHP这种网站服务器架构。 Nginx是一个小巧而高效的Linux下的Web服务器软件,与Apache相比,消耗资源更少,支持的并发连接,更高的效...

我想告诉你
2018/06/26
0
0
Xcache和memcache的问题

Xcache 和 memcached 是两个不同层面的缓存,不存在可比性。 Xcache 是 php 底层的缓存,它将PHP程式编译成字节码(byte code),再透过服务器上安装对应的程式来执行PHP脚本。而 memcached ...

嚣张乾坤
2013/06/05
0
0
安装在cakephp中Xcache

XCache 是一个又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行. 它可以将PHP代码进行编译(表现类似于.NET和JAVA的编译,内部机制不同),这样可以不...

ZhaoChengye
2010/04/20
455
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 常用注解说明

实体类 @Entity (实体类注解) @Table(可指定表名) @Data(可缺省get/set) @Id (指定属性主键) @GeneratedValue(指定主键生成规则)

兜兜毛毛
今天
3
0
局域网能互相ping通,ubuntu虚拟机不能上外网

【问题】 桥接模式老是无法上网,查看本机IP发现被分配了一个私网地址,猜测应该是虚拟DHCP服务器没有打开,于是查看Ubuntu的网络配置: /etc/network/interfaces 发现没有dhcp配置的信息,只...

tahiti_aa
今天
2
0
以太坊助记词PHP开发包简介

以太坊助记词PHP开发包用来为PHP以太坊应用增加助记词和层级确定密钥支持能力。下载地址:以太坊助记词php开发包 。 1、开发包概述 以太坊助记词PHP开发包主要包括以下特性: 生成符合BIP39...

汇智网教程
昨天
2
0
系统监控-分布式调用链Skywalking

1. 为什么要使用分布式调用链技术? 随着公司业务的高速发展,公司服务之间的调用关系愈加复杂,如何理清并跟踪它们之间的调用关系就显的比较关键。线上每一个请求会经过多个业务系统,并产生...

秋日芒草
昨天
6
0
告诉自己的一些建议

摆脱学生心态 尽快发挥自己价值,让公司感知自己的存在,才是王道 选择比努力重要 自己附着的平台的经济体要是一个快速崛起的行业 转行趁早,年龄越大选择成本越高 趁早大量试错,学习新领域...

林怡丰
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部