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

  • 来源:
  • 更新日期:2018-05-04

摘要:软件版本:apache2.4,mysql5.5,php5.5,xcache3.2 确保已经安装的包组: Development Tools Server Platform Development Desktop Platform Development

OS: centos6.7

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

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

timg.jpg

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