编译安装 lamp

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

一、Apahce+Php的结合方式:

1、module方式:即php作为apache的模块,php5.3.3前的版本使用。

2、cgi方式:这种方式已很少用。

3、fastcgi方式(php-fpm ):fcgi server即作为独立的服务,php5.3.3及以后的版本拥有php-fpm才支持factcgi方式。


二、module方式,并安装相关软件mysql、httpd24、php:

1、安装mysql,此处使用通用二进制方式安装:

(1)、groupadd -r mysql

(2)、useradd -g mysql -r -s /sbin/nologin mysql

(3)、tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local

(4)、ln -sv mysql-5.5.33-linux2.6-x86_64 mysql

(5)、#cd mysql

            #chown -R root.mysql ./*

            #scripts/mysql_install_db --datadir=/data/mydata,初始化数据库

            #ls /data/mydata 检查是否初始化成功:有文件说明初始化成功。

(6)、处理服务脚本:

            cp support-files/mysql.server /etc/rc.d/init.d/mysqld

            chkconfig --add mysqld

            chkconfig --list mysqld

(7)、处理配置文件:

            cp support-files/my-large.cnf /etc/my.cnf

            vi /etc/my.cnf,增加如下内容:

            datadir=/data/mydata

(8)、 启动:service mysqld start    

(9)、处理客户端:

           A、#vi /etc/profile.d/mysql.sh,增加如下内容:

            export PATH=/usr/local/mysql/bin:$PATH

           B、读取配置文件 # . /etc/profile.d/mysql.sh 

           C、连接客户端,并验证版本

             #mysql

             mysql>select version();

2、安装httpd2.4:

(1)、yum -y install pcre-devel 安装httpd2.4依赖的pcre-devel

(2)、安装apr:apr-1.5.0.tar.bz2

             # tar xf apr-1.5.0.tar.bz2

             #cd apr-1.5.0

             #  ./configure --prefix=/usr/local/apr

             # make && make install

(3)、安装apr-util:apr-util-1.5.3.tar.bz2

            # tar xf apr-util-1.5.3.tar.bz2

            #cd apr-util-1.5.3

            #./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/

            # make && make install

(4)、安装httpd2.4:httpd2.4.9.tar.bz2

            # tar xf httpd2.4.9.tar.bz2

            #cd httpd2.4.9

         #./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

     #make && make install

(5)、处理 httpd2.4.9服务脚本:

           linux系统会默认安装httpd2.2的版本,在/etc/rd.d/init.d/下有httpd2.2的服务脚本,将其稍微改造即可作为http2.4的服务脚本。

         #cp httpd httpd24 

         #vi httpd24,修改如下内容:

        apachectl=/usr/local/apache/bin/apachectl

        httpd=${HTTPD-/usr/local/apache/bin/httpd}

        #chkconfig --add httpd24

        #chkconfig --list httpd24

(6)、处理环境变量:

    #vi /etc/profile.d/httpd24.sh,增加如下内容:

        export PATH=/usr/local/apache/bin:$PATH

     读取配置文件 # . /etc/profile.d/httpd24.sh

 

(7)、处理主配置文件httpd.conf:

    增加:PidFile "/var/run/httpd/httpd.pid"

(8)、启动httpd24:

   # service httpd24 start


3、安装php:

(1)、yum -y groupinstall "Desktop Platform Development"

(2)、yum -y install libmcrypt-devel

(3)、yum -y install bzip2-devel

(4)、安装php,php-5.5.26.tar.bz2:

A、安装php:

   #tar xf php-5.5.26.tar.bz2

          #cd php-5.5.26   

    #./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl

    --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir

    --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml

    --with-sockets --with-apx2=/usr/local/apache/bin/apxs  --with-config-file-path=/etc

    --with-mcrypt --with-config-file-scan-dir=/etc/php.d  --with-bz2 --enable-maintainer-zts

    # make && make install

B、#处理php配置文件,php有开发和生产两种配置文件:php.ini-development(开发)和php.ini-production(生产),这里选择”生产配置文件“。

    cp php.ini-production /etc/php.ini

C、#为了使php与httpd结合,需修改httpd的配置文件,具体修改如下:

      

    AddType application/x-httpd-php .php

    AddType application/x-httpd-php-source .phps


    DirectoryIndex 增加index.php

D、测试php连接mysql:

<?php

$link=mysql_connection('localhost','root','111111');

if($link)

    echo "connection successful";

else

    echo "Error";

mysql_close();

?>

(5)、安装xcache为php加速,xcache-3.0.3.tar.bz2:

 A、安装xcache:

        #tar xf xcache-3.0.3.tar.bz2

        #cd xcache-3.0.3

        # /usr/local/php/bin/phpize ,运行执行第三方插件,必须执行phpize。

        #./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

       # make && make install,执行完成后有如下提示信息:

   Installing shared extensions: /usr/local/php/lib/extensions/no-debug-zts-20100225/

B、编辑php.ini,整合php和xcache:

#mkdir /etc/php.d

#cp xcache.ini /etc/php.d ,备注:xcache.ini 在xcache的源码目录中

编辑xcache.ini ,修改如下内容:

extension=/usr/local/php/lib/extensions/no-debug-zts-20100225/xcache.so

三、fastcgi方式,php5.3.3及以后的版本拥有php-fpm才支持factcgi方式。

1、重新编译安装php:

   # rm -rf /usr/local/php,卸载先前编译安装的php

   #tar xf php-5.5.26.tar.bz2

          #cd php-5.5.26   

    #./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl

    --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir

    --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml

    --with-sockets   --with-config-file-path=/etc --with-mcrypt 

    --with-config-file-scan-dir=/etc/php.d  --with-bz2 --enable-maintainer-zts

    --enable-fpm,注意去掉--with-apx2=/usr/local/apache/bin/apxs

    # make && make install


  #处理php配置文件,php有开发和生产两种配置文件:php.ini-development(开发)和php.ini-    production(生产),这里选择”生产配置文件“。

    cp php.ini-production /etc/php.ini



2、处理php-fpm配置文件:

    #cp /usr/local/php/etc/php-fpm.conf.default   /usr/local/php/etc/php-fpm.conf

    编辑php-fpm.conf:

    pm.max_children=50

    pm.start_servers=5

    pm.min_spare_servers=2

    pm.max_spare_servers=8

    pid=/usr/local/php/var/run/php-fpm.pid

  

3、将php-fpm设置为一个服务。

    #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

    #chkconfig  php-fpm on

    #service php-fpm start 启动php-fpm

    默认fpm监听本机(127.0.0.1)的9000端口下,可以修改php-fpm.conf中的参数,调整监听的主机

listen=127.0.0.1:9000。

4、处理httpd24的配置文件httpd.conf:

(1)、启用httpd24的两个模块:

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi .so

备注:httpd2.4以后已实现对fastcgi的支持,此模块为mod_proxy_fcgi .so;fastcgi方式和httpd结合是反向代理方式,所以还需要启用mod_proxy.so模块。

(2)、配置虚拟主机支持使用fcgi:

A、关闭正向代理:    

ProxyRequests off(apache比支持同时代理正向、反向)

B、反向代理匹配的内容:

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/PATH/TO/DOCUENT_ROOT/$1

(3)、注意,不要忘记添加如下内容:

支持php格式的网页文件:

AddType application/x-httpd-php .php  

AddType application/x-httpd-php-source .phps


DirectoryIndex 增加index.php

(4)、完整的虚拟主机配置如下:

<VirtualHost *:80>

DocumentRoot "/web/a.com/"

ServerName www.a.com

Errorlog "logs/a.com.error"

Customlog "logs/a.com.access" combined

<Directory>

  Options None

  Require all granted

</Directory>

ProxyRequests off

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

</VirtualHost>

到此为止完成了httpd和fcgi的整合。

5、安装xcache为php加速,xcache-3.0.3.tar.bz2:

 A、安装xcache:

        #tar xf xcache-3.0.3.tar.bz2

        #cd xcache-3.0.3

        # /usr/local/php/bin/phpize ,运行执行第三方插件,必须执行phpize。

        #./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

       # make && make install,执行完成后有如下提示信息:

   Installing shared extensions: /usr/local/php/lib/extensions/no-debug-zts-20100225/

B、编辑php.ini,整合php和xcache:

#mkdir /etc/php.d

#cp xcache.ini /etc/php.d ,备注:xcache.ini 在xcache的源码目录中

编辑xcache.ini ,修改如下内容:

extension=/usr/local/php/lib/extensions/no-debug-zts-20100225/xcache.so













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





相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
关系型数据库 MySQL Apache
|
关系型数据库 PHP Apache
|
关系型数据库 MySQL PHP
|
关系型数据库 MySQL PHP
|
关系型数据库 MySQL 测试技术
|
关系型数据库 MySQL PHP
|
关系型数据库 MySQL PHP
|
Web App开发 关系型数据库 PHP