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

时光怂恿深爱的人放手 提交于 2019-12-03 21:35:28

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服务查看效果

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!