一、Linux

操作系统:CentOS 6.4

1.配置好可用的yum源

2.开发环境支持:

# yum groupinstall -y "Development tools"
# yum groupinstall -y "Server Platform Development"


二、Apache

编译安装httpd-2.4.9

1.安装pcre-devel(依赖包)

#yum install pcre-devel -y
(关于pcre:http://baike.baidu.com/view/3963592.htm)

2.安装apr,apr-util

#tar -xf apr-1.5.0.tar.bz2 -C /usr/src/
#cd /usr/src/apr-1.5.0
#./configure  --prefix=/usr/local/apr   //指定其安装位置
# make && make install
        (关于apr: http://zh.wikipedia.org/wiki/Apache%E5%8F%AF%E7%A7%BB%E6%A4%8D%E8%BF%90%E8%A1%8C%E6%97%B6)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
#tar -xf apr-util-1.5.3.tar.bz2 -C /usr/src/
# cd /usr/src/apr-util-1.5.3
# ./configure  --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr
# make && make install

3.安装httpd

#tar -xf httpd-2.4.9.tar.bz2 -C /usr/src
# cd /usr/src/httpd-2.4.9
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --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=most --with-mpm=event
================================================================
释义:
--prefix=/usr/local/apache  #→指定其安装位置
--sysconfdir=/etc/httpd  #→指定配置文件安装位置
--enable-so   #→启用基于DSO的方式动态加载模块
--enable-ssl   #→启用基于https协议的功能
--enable-cgi   #→启用基于cgi协议的功能
--enable-rewrite  #→启用支持URL重写的功能
--with-zlib   #→指定支持在互联网上发送数据报文时,通用的压缩库的API
--with-pcre  #→指定支持poll的cgi
--with-apr=/usr/local/apr    #→指定par的安装路径
--with-apr-util=/usr/local/apr-util/   #→指定par-util的安装路径
--enable-modules=most   #→启用大多数常用的模块
--enable-mpms-shared=all   #→启用加载所有的mpm模块
--with-mpm=event     #→指定接下来httpd的工作模式是event
======================================================================
# make && make install

模块加载的方式:

   a).静态:使用--with-mpm=指定模块名称;一旦编译安装完成,无法卸载,只能从新编译安装。

   b).动态:使用--enable-mpms-shared选项即可启用此特性。当给出的参数为all时,所有此平台支持的MPM模块都会被安装。可运行时加载,构建 MPM 为动态模块允许通过修改LoadModule指令内容来改变MPM,而不用重新编译安装。

    配置:

   a).设置pid文件的路径:

#vim /etc/httpd/httpd.conf    //添加
   PidFile "/var/run/httpd.pid"

b).配置httpd服务脚本

#vim /etc/rc.d/init.d/httpd   //修改
    apachectl=/usr/local/apache/bin/apachectl
    httpd=${HTTPD-/usr/local/apache/bin/httpd}

   c).权限+启动

# chmod +x /etc/rc.d/init.d/httpd
# chkconfig --add httpd
# chkconfig --list httpd
httpd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
# chkconfig httpd on
# chkconfig --list httpd
httpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off

    验证:

# service httpd start
# ps -elFH


三、MySQL

   1.安装

# tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local
# ln -sv /usr/local/mysql-5.5.33-linux2.6-x86_64 mysql 创建软连接,易于操作

   2.为数据库创建逻辑卷

# fdisk /dev/sda                  //10G
#pvcreate /dev/sda3               //创建物理卷
#vgcreate myvg /dev/sda8          //创建卷组
#lvcreate -L 8G -n mydata myvg    //创建逻辑卷
#mke2fs -t ext4 /dev/myvg/mydata  //格式化逻辑卷
# mkdir  /mydata                  //创建逻辑卷挂载目录
#mkdri -pv /mydata/data           //创建mysql数据存放目录
# vim /etc/fstab                  //添加开机自动挂载
/dev/myvg/mydata       /mydata       ext4    defaults        0 0
# mount -a                        //挂载

   3.新建用户以安全方式运行进程

#groupadd -r mysql      //创建系统组mysql
#useradd -r -s /sbin/nologin -g mysql mysql -M -D /mydata/data mysql
                        //创建系统用户mysql
#chown -R mysql:mysql /mydata/data
                        //设置目录属主属组

   4.初始化mysql

# cd /usr/local/mysql
# scripts/mysql_install_db --datadir=/mydata/data --user=mysql
                            //初始化数据库
# chown -R root .
                            //设置当前目录所有文件属主为root

   5.提供脚本

#cd /usr/local/mysql
#cp support-files/mysql.server  /etc/rc.d/init.d/mysqld
                //设置脚本mysqld
#chmod +x /etc/rc.d/init.d/mysqld
                //给脚本执行权限
# chkconfig --add mysqld
                //添加开机启动
# chkconfig  mysqld on

   6.提供配文件

#cd /usr/local/mysql
#cp support-files/my-large.cnf  /etc/my.cnf
#vim /etc/my.cnf
    thread_concurrency = 2
        //修改,并发线程数,bithread_concurrency的值为CPU个数乘以2
    datadir = /mydata/data
         #添加,mysql数据文件的存放路径:

   7.其他配置

# vim /etc/profile.d/mysqld.sh
export PATH=/usr/local/mysql/bin:$PATH
# source /etc/profile.d/mysqld.sh
#vim /etc/man.config
MANPATH  /usr/local/mysql/man  //添加此行
# ln -sv /usr/local/mysql/include  /usr/include/mysql
            //输出mysql的头文件至系统头文件路径/usr/include
# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
            //输出mysql的库文件给系统库
#ldconfig   //重载系统库:

   8.启动服务

# service mysqld start
# ss  -rnl | grep 3306

   9.用户初始化

#mysql
mysql> use mysql
mysql> select host,user,password from user;
mysql> DELETE FROM user WHERE user = '';    //删除空用户
mysql> DELETE FROM user WHERE user = '::1'; //删除ipv6用户
mysql> UPDATE user SET password = PASSWORD('Hoolee') WHERE password = '';
                //为root用户设置密码
mysql> FLUSH PRIVILEGES;


四、PHP

   编译安装PHP,将php当作httpd的模块的方式安装在httpd上,从而实现php与httpd通信

   1.解决开发环境和依赖关系

# yum -y install bzip2-devel
# yum -y install libmcrypt-devel
# yum -y groupinstall "Desktop Platform Development"

   2.安装php

# tar xf php-5.4.26.tar.bz2
# cd /usr/src/php-5.4.26/
# ./configure--prefix=/usr/local/php --with-openssl
--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
--enable-mbstring --with-freetype-dir --with-jpeg-dir
--with-png-dir --with-zlib--with-libxml-dir=/usr --enable-xml
--enable-sockets --with-apxs2=/usr/local/apache2/bin/apxs
--with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d
--with-bz2  --enable-maintainer-zts
===============================================================
释义:
--prefix=/usr/local/php  //指定其安装位置
--with-openssl  //指定支持openssl功能
--with-mysql=mysqlnd  //指定与mysql服务器的链接
--with-mysqli=mysqlnd //指定与mysql服务器的链接
--with-pdo-mysql=mysqlnd  //指定与mysql服务器的链接
--enable-mbstring  //支持多字节string
--with-freetype-dir  //指定安装的字体库头文件
--with-jpeg-dir  //指定jpeg类型的库
--with-png-dir  //指定支持png类型的库
--with-zlib   //支持互联网上通用压缩库,先压缩再传送,减少带宽
--with-libxml-dir=/usr  //指定xml库文件的路径
--enable-xml  //启用支持xml功能
--enable-sockets  //启用php支持套接字功能
--with-apxs2=/usr/local/apache2/bin/apxs  //基于apxs实现让php编译成apache模块
--with-mcrypt   //支持额外的加密库
--with-config-file-path=/etc   //指定php配置文件放置路径
--with-config-file-scan-dir=/etc/php.d   //指定php配置文件的分段文件放置路径
--with-bz2 //指定支持压缩库
--enable-maintainer-zts   //当apache使用worker或event这两个MPM,编译时使用该选项
======================================================================
[root@www php-5.4.26]# make  && make install

   附:

   a).若使用PHP5.3以上版本,为链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包。mysqlnd从php 5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖),但从PHP 5.4开始它就是默认设置了。

       --with-mysql=mysqlnd

       --with-mysqli=mysqlnd

       --with-pdo-mysql=mysql

   3.提供配置文件

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

   4.修改httpd配置,支持php

# vim /etc/httpd/httpd.conf
    //定位AddType,添加
    AddType application/x-httpd-php  .php
    AddType application/x-httpd-php-source  .phps
    //#定位至DirectoryIndex, 补充
    #DirectoryIndex  index.php  index.html

   5.测试

    //创建授权测试用户
#mysql -u root -pHoolee
mysql> GRANT ALL PRIVILEGES ON   *.* TO 'test'@'172.16.1.2' IDENTIFIED by 'testpass';
mysql> FLUSH PRIVILEGES;
mysql>\q;
                                                                                                                                                                                                                                                                                                           
    //创建测试页面
#vim /usr/local/apache/htdocs/vim index.php
<?php
  $link = mysql_connect('172.16.1.2','test','testpass');
        if ($link)
                echo "Connect to Mysql server success!";
        else
                echo "Connect to Mysql server failure!";
        mysql_close();
        phpinfo();
?>
# service httpd reload

       浏览器访问:172.16.1.2成功


五、Xcache

   1.安装xcache

# tar xf xcache-3.0.3.tar.gz
# cd xcache-3.0.3
# /usr/local/php/bin/phpize
    //phpize是用来安装php扩展模块的,通过phpize可以建立php的
外挂模块,若你想在原来编译好的php中加入memcached或者
ImageMagick等扩展模块,就需要使用phpize
# # ./configure --enable=xcache --with-php-config=/usr/local/php/bin/
   php-config
# make && make install
    //显示xcache模块路径:/usr/local/php/lib/php/extensions/no-debug-zts-20100525/

   2.编辑配置文件,整合php + xcache    

# vim xcache.ini
    //添加模块路径
    extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
# cp xcache.ini /etc/php.d/

   3.测试

       a).安装 phpmyadmin

       b).使用ab命令做压力测试