设为首页 收藏本站
查看: 1221|回复: 0

lamp基于fcgi编译安装,支持xcache扩展

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2016-3-21 10:10:48 | 显示全部楼层 |阅读模式
Apache:服务器地址192.168.88.128
mysql:服务器地址192.168.88.140
php:服务器地址192.168.88.139
编译安装过程,服务器的先后顺序: apache--->mysql--->php 或者 mysql--->apache--->php

第一步:编译安装Http2.4.18:    192.168.88.128
1.所需要的关联包,

    apr-1.5.1.tar.gz

    apr-util-1.5.2.tar.bz2

    httpd-2.4.18.tar.bz2

下载地址:http://pan.baidu.com/s/1c0WTfTe

yum安装所需的rpm包及开发包组
    yum -y groupinstall "Server Platform Development" "Development tools"
    yum -y install pcre pcre-devel
2.编译安装apr:   
[iyunv@www ~]# tar xf apr-1.5.1.tar.gz
[iyunv@www ~]# cd apr-1.5.1
[iyunv@www apr-1.5.1]# ./configure --prefix=/usr/local/apr
[iyunv@www apr-1.5.1]# make && make install   

3.编译安装apr-util:
[iyunv@www ~]# tar xf apr-util-1.5.2.tar.bz2
[iyunv@www ~]# cd apr-util-1.5.2
[iyunv@www apr-util-1.5.2]# ./configure --prefix=/usr//local/apr-util --with-apr=/usr/local/apr/
[iyunv@www apr-util-1.5.2]# make && make install

4.编译安装http:
[iyunv@www apr-1.5.1]# cd
[iyunv@www ~]# tar xf httpd-2.4.18.tar.gz
[iyunv@www ~]# cd httpd-2.4.18
[iyunv@www httpd-2.4.18]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=event
[iyunv@www httpd-2.4.18]# make && make install
[iyunv@www httpd-2.4.18]# cp ./build/rpm/httpd.init /etc/init.d/httpd24
[iyunv@www httpd-2.4.18]# vim /etc/init.d/httpd24
    修改:httpd=${HTTPD-/usr/local/apache/bin/httpd}
          CONFFILE=/etc/httpd24/httpd.conf
[iyunv@www httpd-2.4.18]# chkconfig --add httpd24
[iyunv@www httpd-2.4.18]# chkconfig httpd24 on

[iyunv@www httpd-2.4.18]# vim /etc/httpd24/httpd.conf
    关闭中心主机:#DocumentRoot "/usr/local/apache/htdocs"
    添加:pidfile /var/run/httpd24.pid
    启用:ServerName www.daixiang.com:80
    修改:DirectoryIndex index.php index.html
    启用虚拟主机:Include /etc/httpd24/extra/httpd-vhosts.conf
    启用proxy代理功能模块: LoadModule proxy_module modules/mod_proxy.so
                           LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

    添加两行使apach服务器能够处理以php的页面文件:
                         AddType application/x-httpd-php .php
                         AddType application/x-httpd-php-source .phps

[iyunv@www ~]# vim /etc/httpd24/extra/httpd-vhosts.conf
        配置虚拟主机:     
        <VirtualHost *:80>
            ServerAdmin web@a.com
            DocumentRoot "/www/a"
            ServerName www.a.com
            ServerAlias a.com
            ErrorLog "logs/a-error_log"
            CustomLog "logs/a-access_log" combined
            ProxyRequests off               ##关闭正向代理
            ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.88.139:9000/www/a/$1  ##把以 .php结尾的请求用fastcgi的协议传给php服务器执行
                <Directory "/www/a">
                        options none
                        Require all granted    ##授权
                </Directory>
        </VirtualHost>

[iyunv@www ~]# mkdir -pv /www/a
[iyunv@www ~]# ln -sv /usr/local/apache/include /usr/include/httpd
[iyunv@www ~]# vim /etc/profile.d/httpd24.sh
            添加二进制路径:export PATH=/usr/local/apache/bin:$PATH
[iyunv@www ~]# source /etc/profile.d/httpd24.sh
[iyunv@www ~]# vim /etc/man.config
            添加man文档路径:    MANPATH  /usr/local/apache/man


测试代码:
[iyunv@www ~]# vim /www/a/index.php
<?php
        $conn = mysql_connect('192.168.88.140','root','daixiang');
        if ($conn)
                echo 'OK';
        else
                echo 'ERROR';
        mysql_close();
        phpinfo();
?>

###注意:php服务器和apache服务器中必须各放一份相同的测试代码文件

###########################################################################################

第二步:二进制安装mysql:    192.168.88.140
[iyunv@www mysql]# yum install libaio-devel
[iyunv@www ~]# mkdir /data
[iyunv@www ~]# groupadd -r mysql
[iyunv@www ~]# useradd -r -s /sbin/nologin -g mysql mysql
[iyunv@www ~]# tar xf mysql-5.5.47-linux2.6-x86_64.tar.gz -C /usr/local/
[iyunv@www ~]# ln -sv /usr/local/mysql-5.5.47-linux2.6-x86_64 /usr/local/mysql
`/usr/local/mysql' -> `/usr/local/mysql-5.5.47-linux2.6-x86_64'
[iyunv@www ~]#
[iyunv@www ~]# cd /usr/local/mysql
[iyunv@www mysql]# chown -R root:mysql ./*
[iyunv@www mysql]# ./scripts/mysql_install_db --datadir=/data --user=mysql
[iyunv@www mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[iyunv@www mysql]# chkconfig --add mysqld
[iyunv@www mysql]# chkconfig mysqld on
[iyunv@www mysql]# cp support-files/my-large.cnf /etc/my.cnf
[iyunv@www mysql]# vim /etc/my.cnf
    datadir = /data    #指定数据目录

    thread_concurrency = 2   #修改为当前服务器物理核心数的两倍
[iyunv@www ~]# ln -sv /usr/local/mysql/include /usr/include/mysql
[iyunv@www ~]# vim /etc/ld.so.conf.d/mysql.conf
    添加库文件路径:/usr/local/mysql/lib
[iyunv@www ~]# ldconfig
[iyunv@www ~]# vim /etc/man.config
    添加man文档路径:MANPATH  /usr/local/mysql/man        ##导入man文档

[iyunv@www ~]# vim /etc/profile.d/mysqld.sh

    添加二进制程序路径:export PATH=/usr/local/mysql/bin:$PATH   

[iyunv@www ~]# source /etc/profile.d/mysqld.sh
[iyunv@www ~]# service mysqld start
[iyunv@www ~]# ss -tnl
LISTEN     0      50                          *:3306                       *:*

为用户授权:
[iyunv@www ~]# yum install mysql -y
[iyunv@www ~]# mysql
mysql> use mysql
mysql> grant all privileges on *.* to 'root'@'192.168.88.%' identified by 'daixiang';
mysql> flush privileges;

###########################################################################################

第三步:编译安装php,支持fcgi:    192.168.88.139
[iyunv@www ~]# yum groupinstall "Desktop Platform Development" "Development tools" "Server Platform Development" -y
[iyunv@www ~]# tar xf php-5.6.19.tar.bz2
[iyunv@www ~]# cd php-5.6.19
[iyunv@www php-5.6.19]# ./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-zlib --with-jpeg-dir --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-libxml-dir=/usr --with-bz2 --enable-xml --with-mcrypt --enable-sockets --with-freetype-dir --with-png-dir -enable-mbstring
    第一次错误:configure: error: Please reinstall the BZip2 distribution
        解决方法:yum install bzip2-devel

    第二次错误:configure: error: mcrypt.h not found. Please reinstall libmcrypt.
        解决方法:yum install libmcrypt-devel     #epel源中有此包

[iyunv@www php-5.6.19]# make && make install


[iyunv@www php-5.6.19]# cp php.ini-production /etc/php.ini    ##php.ini-production用于生产环境,php.ini-development用于开发
[iyunv@www php-5.6.19]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[iyunv@www php-5.6.19]# chmod +x /etc/init.d/php-fpm
[iyunv@www php-5.6.19]# chkconfig --add php-fpm
[iyunv@www php-5.6.19]# chkconfig php-fpm on
[iyunv@www php-5.6.19]# cd /usr/local/php/etc/
[iyunv@www etc]# cp php-fpm.conf.default ./php-fpm.conf
[iyunv@www etc]# vim php-fpm.conf
    修改:pid = /usr/local/php/var/run/php-fpm.pid   
listen = 192.168.88.139:9000        ##监听本地9000端口

            
            pm.max_children = 50        #最大子进程数
            pm.start_servers = 5       #默认启动进程数

            pm.min_spare_servers = 2    #最小空闲进程数
           pm.max_spare_servers = 6    #最大空闲进程数

[iyunv@www ~]# service php-fpm start
Starting php-fpm  done
[iyunv@www ~]# ss -tnl
LISTEN     0      128            192.168.88.139:9000                       *:*

测试代码:
[iyunv@www ~]# vim /www/a/index.php   
<?php
        $conn = mysql_connect('192.168.88.140','root','daixiang');
        if ($conn)
                echo 'OK';
        else
                echo 'ERROR';
        mysql_close();
        phpinfo();
?>
###注意:php服务器和apache服务器中必须各放一份相同的测试代码文件

第四步:安装xcache扩展 : 192.168.88.139
1.编译安装
[iyunv@www ~]# tar xf xcache-3.2.0.tar.gz
[iyunv@www ~]# cd xcache-3.2.0
[iyunv@www xcache-3.2.0]# /usr/local/php/bin/phpize  ##每次重新编译安装php的扩展,都需要先执行
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
[iyunv@www xcache-3.2.0]# ./configure --with-php-config=/usr/local/php/bin/php-config --enable-xcache
[iyunv@www xcache-3.2.0]# make && make install
安装结束时出现:Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

2.编辑ph.ini,整合php和xcache:
[iyunv@www xcache-3.2.0]# mkdir /etc/php.d
[iyunv@www xcache-3.2.0]# cp xcache.ini /etc/php.d/
[iyunv@www xcache-3.2.0]# vim /etc/php.d/xcache.ini
找到extension开头的行,修改为如下:
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/xcache.so
##注意:如果xcache.ini文件中有多条zend_extension指令行,要确保此新增的行排在第一位。
[iyunv@www xcache-3.2.0]# service php-fpm restart

如果需要使用phpMyadmin数据库管理工具:
[iyunv@www ~]# unzip phpMyAdmin-4.5.5.1-all-languages.zip
[iyunv@www ~]# cd phpMyAdmin-4.5.5.1-all-languages/
[iyunv@www phpMyAdmin-4.5.5.1-all-languages]# cp config.sample.inc.php ./config.inc.php
[iyunv@www phpMyAdmin-4.5.5.1-all-languages]#vim config.inc.php
将下面的地址设置为mysql服务器的地址:
    $cfg['Servers'][$i]['host'] = '192.168.88.140';


注意:别忘了apache服务器和php服务器中各存放一份




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-193669-1-1.html 上篇帖子: 搭建LAMP环境,并实践基于DNS做基于域名的虚拟主机 下篇帖子: 基于Centos6.X系列的LNMP环境搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表