1、安装gcc
yum -y install gcc
2、解压文件
tar -xvf httpd- 2.2.21 .tar.bz2
cd httpd- 2.2.21
3、配置apache
./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all --enable-cache --enable-suexec --enable-disk-cache --enable-mem-cache --enable-authn-dbm=shared --enable-deflate=shared
4、编译安装
make
make install
5、如何把Apache加入到系统服务,用service命令来控制Apache的启动和停止。
首先以apachectl脚本为模板生成Apache服务控制脚本:
grep -v "#" /usr/local/apache/bin/apachectl > /etc/init.d/apache
用vi编辑Apache服务控制脚本/etc/init.d/apache:
vi /etc/init.d/apache
在文件最前面插入下面的行,使其支持chkconfig命令:
#!/bin/sh
# chkconfig: 2345 85 15
# description: Apache is a World Wide Web server.
保存后退出vi编辑器,执行下面的命令增加Apache服务控制脚本执行权限:
chmod +x /etc/init.d/apache
执行下面的命令将Apache服务加入到系统服务:
chkconfig --add apache
执行下面的命令检查Apache服务是否已经生效:
chkconfig --list apache
命令输出类似下面的结果:
apache 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明apache服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制Apache的启动和停止。
启动Apache服务:
service apache start
停止Apache服务:
service apache stop
执行下面的命令关闭开机自启动:
chkconfig apache off
执行下面的命令改变开机自启动的运行级别为3、5:
chkconfig --level 35 apache on
二、安装mysql
1、解压文件
tar -xvf mysql- 5.1.55
2、安装必要组件
安装ncurses否则会出现下面报错
checking for termcap functions library... configure: error: No curses/termcap library found
yum安装
yum -y install ncurses*
编译安装ncurses-5.6.tar.gz,
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
tar zxvf ncurses-5.6.tar.gz
cd ncurses-5.6
./configure �Cprefix=/usr �Cwith-shared �Cwithout-debug
make
make install
3、配置mysql
./configure --prefix=/usr/local/mysql --with-big-tables --without-debug --with-pthread --enable-thread-safe-client --enable-assembler --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-charsers=gbk,gb2312,utf8 --with-extra-charsets=all --with-unix-socket-path=/tmp/mysql.sock --localstatedir=$Install_Dir/mysql/var/lib/mysql
4、编译安装
make
make install
5、权限设定以及初始mysql
增加mysql用户以及组,分配权限
groupadd mysql
useradd -g mysql mysql
chmod +w /usr/local/mysql/
chown -R mysql:mysql /usr/local/mysql/
复制配置文件,初始数据库
cp support-files/my-medium.cnf /etc/my.cnf
./mysql_install_db --user=mysql
6、增加系统启动以及service启动
cp share/mysql/mysql.server /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on
service mysqld restart
三、安装PHP
1、解压安装包
tar -xvf php- 5.3.8
2、安装组件支持
yum -y install bzip2-devel
yum -y install curl-devel
yum -y install gmp-devel
yum -y install aspell-devel
yum -y install libmcrypt-devel
yum -y install libjpeg-devel
yum -y install libpng-devel
yum -y install freetype-devel
yum -y install libxml2-devel
yum -y install libxslt-devel
安装gd库
tar -xvf GD_2_0_33.tar.gz
./configure
make
make install
3、配置PHP
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-curl --with-bz2 --with-freetype-dir --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-xmlrpc --enable-zip --with-libxml-dir=/usr --enable-xml --enable-shmop --with-jpeg-dir --with-gd --with-png-dir --with-pspell --enable-ftp --with-zlib --enable-exif--with-gmp --enable-sysvmsg --enable-sockets --enable-wddx --with-gettext --with-mcrypt --with-xsl --with-mime-magic=/usr/share/file/magic.mime --enable-magic-quotes --with-pear --with-pdo-mysql --enable-mbstring --with-curlwrappers --enable-gd-native-ttf --enable-zend-multibyte --with-mhash --enable-calendar
4、编译安装
make
make install
注:出现报错
checking for mysql_config... not found
configure: error: Unable to find your mysql installationg
执行下面操作
cp /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config
5.修改配置文件
cp php.ini-production /usr/local/php/etc/php.ini
修改php.ini
date.timezone = Asia/Shanghai
查找safe_mode=Off,更改为safe_mode=On
(1)查找max_execution_time= 30,更改为max_execution_time= 600
(2)查找max_input_time = 60,更改为max_input_time = 600
(3)查找memory_limit = 8M ,更改为memory_limit = 20M
(4)查找display_errors = On,更改为display_errors = Off
(5)查找register_globals = Off,更改为register_globals = On
(6)查找post_max_size = 8M ,更改为post_max_size = 20M
(7)查找upload_max_filesize = 2M ,更改为upload_max_filesize = 20M
(8)查找session.auto_start = 0,更改为session.auto_start = 1
修改httpd.conf
查找AddType
application/x-tar .tgz 行,在下面添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php-source .phps
找到下面一行在后面加上index.php,这表示网站的默认页也能够为index.php
DirectoryIndex index.html index.php
四、安装eaccelerator
1、解压
tar -xvf eaccelerator- 0.9.6 .1.tar.bz2
2、生成configure
cd eaccelerator- 0.9.6 .1
yum install autoconf
/usr/local/php/bin/phpize
3、配置
./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config
4、安装
make
make install
5、添加到php.ini
编译安装后我们会看到屏幕提示的eaccelerator.so所在的目录,记住这个路径,待会要用到。
在php.ini中添加以下内容
[eaccelerator]
zend_extension="/usr/local/php/lib/php/extensions/no-debug-zts-20090626/eaccelerator.so"(上面的路径+模块名称)
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
6、创建缓存文件赋予权限
mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator/
7、重启apache,查看php.ini是否生效
service apache restart
firefox 127.0.0.1/index.php
存在以下字段说明已经生效
with eAccelerator v 0.9.6 .1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
相关说明
eaccelerator是php的加速软件,使用后php的执行效率会有较大幅度的提升
zend_extension 是安装完程序自动指示给我们的
eaccelerator.shm_size="32" 解释:eaccelerator可使用的共享内存大小(单位为MB)。
eaccelerator.cache_dir="/tmp/eaccelerator" 解释:缓存路径
eaccelerator.enable="1" 解释:打开或者关闭eaccelerator。"1"指打开,"0"指关闭。默认值为"1"。
eaccelerator.optimizer="1" 解释:打开或者关闭代码优化,开启可以加快代码的执行速度。"1"指打开,"0"指关闭。默认值为"1"。
eaccelerator.check_mtime="1" 解释:当打开此项时,eaccelerator会在每次请求时检查php文件的修改时间,看其是否被修改过,这会耗费一点时间,如果php文件被修改 过,eaccelerator会重新编译缓存该php文件。当关闭此项时,如果php文件被修改,则需要手工删eaccelerator缓存,才能显示被 修改的php文件。"1"指打开,"0"指关闭。默认值为"1"。
eaccelerator.debug="0" 解释:打开或者关闭
调试记录。当打开时,eaccelerator会将对一个缓存文件的每次请求都写进 log。打开此项只对调试eaccelerator是否有BUG时有益处。"1"指打开,"0"指关闭。默认值为"0"。
eaccelerator.log_file="/usr/local/apache2/logs/eaccelerator_log" 日志文件
eaccelerator.filter="" 解释:决定哪些PHP文件应该被缓存。可以指定一个范围(比如"*.php *.phtml"),这样被指定的文件就会被缓存。如果该范围以!开头,被指定的文件就不会被缓存。默认值为"",表示缓存所有的PHP文件。
eaccelerator.shm_max="0" 解释:一个用户使用例如eaccelerator_put之类的函数能够往共享内存中加载的最大数据。默认值为"0",表示不限制。(单位为字节)
eaccelerator.shm_ttl="0" 解释:当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删除至少在shm_ttl秒之前没有被访问过的文件。默认值为"0",表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)
eaccelerator.shm_prune_period="0" 解 释:当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删所有旧脚本,前提是这个尝试在超过shm_prune_period秒之前被执行过。默认值 为"0",表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)
eaccelerator.shm_only="0" 解释:打开或者关闭在磁盘上缓存编译过的脚本。这个参数对会话数据和内容缓存没有效果。默认值为"0",表示使用磁盘和共享内存来缓存。
eaccelerator.compress="1" 解释:打开或者关闭缓存内容压缩。"1"指打开,"0"指关闭。默认值为"1"。
eaccelerator.compress_level="9" 解释:内存压缩的级别。默认值为"9",表示最大压缩。