Chinaunix首页 | 论坛 | 博客
  • 博客访问: 373988
  • 博文数量: 26
  • 博客积分: 522
  • 博客等级: 中士
  • 技术积分: 329
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-14 13:49
文章分类

全部博文(26)

文章存档

2015年(2)

2012年(7)

2011年(16)

2009年(1)

我的朋友

分类: LINUX

2011-10-09 11:22:29

最近在帮一个在线教育网站部署环境,将部署步骤记录下来,以备以后使用,按照此步骤安装,一般不会报错。
 
1.系统环境:
==================================
CENTOS 5.4或5.5 bit64
APACHE 2.2.21
PHP 5.3.8
############################################
#yum 安装系统环境所需要的软件包
yum -y install yum-fastestmirror
yum -y install patch make flex bison tar
yum -y install libtool libtool-libs kernel-devel
yum -y install libjpeg libjpeg-devel libpng libpng-devel
yum -y install libtiff libtiff-devel gettext gettext-devel
yum -y install libxml2 libxml2-devel zlib-devel  net-snmp
yum -y install file glib2 glib2-devel bzip2 diff* openldap-devel
yum -y install bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs
yum -y install e2fsprogs-devel krb5 krb5-devel libidn libidn-devel
yum -y install openssl openssl-devel vim-minimal unzip
# 安装PHP支持GD库软件包
yum -y install freetype freetype-devel png jpeg zlib gd php-gd*
# 安装PHP 5.* 组件
yum -y install libiconv libevent mhash mcrypt
############################################
 
 
2.软件下载
==================================
ORACLE:
MYDSQL:
APACHE:
PHP   :
ZEND  :
eaccelerator : 
RPAF  :
MEMCACHE :
 
##########################################
软件编译需求
(1) APACHE
    1. 支持路径重写
    2. 支持ssl加密
    3. 支持文件缓存
(2) PHP
    1. 支持GD库
    2. 支持ORACLE,MYSQL连接
    3. 支持ssl
    4. 支持版本控制
    5. libxml2: xml解析库
    6. zlib: 开源压缩库
    7. libpng: 用来处理png图像格式文件的库
    8. freetype: TrueType字体绘制引擎
    9. ZendOptimizer:
    10. JPEG库:
##########################################
 
 
3. 前端生产环境部署
==================================
(1) APACHE
# tar zxf httpd-2.2.21.tar.gz && cd httpd-2.2.21
# cd srclib/apr
# ./configure --prefix=/u/apache2/apr
# make && make install
# cd ../apr-util
# ./configure --prefix=/u/apache2/apr-util --with-apr=/u/apache2/apr
# make && make install
# cd /u/httpd-2.2.21
# ./configure --prefix=/u/apache2 --with-apr=/u/apache2/apr --with-apr-util=/u/apache2/apr-util --enable-so --enable-mods-shared=all --enable-rewrite --with-mpm=prefork --disable-cgid --disable-cgi --enable-deflate --enable-ssl --enable-cgid --enable-cache --enable-file-cache
# make && make install
 
(2) ORACLE CLIENT 软件安装
到oracle 官方网站上下载如下3个软件即可;
instantclient-basic-linux-x86-64-11.2.0.2.0.zip
instantclient-sdk-linux-x86-64-11.2.0.2.0.zip
instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip
把上面3个软件解压到/usr/local目录下,解压出文件夹instantclient_11_2
# mv /usr/local/instantclient_11_2 /usr/local/instantclient
# ln -s /usr/local/instantclient/libclntsh.so.11.1 /usr/local/instantclient/libclntsh.so
不做上面这步,PHP编译会报错,这个libclntsh.so包含SDK头文件信息。
 
(3) PHP
# tar jxf php-5.3.8.tar.bz2 && cd php-5.3.8
# ./configure --prefix=/u/php5 --with-apxs2=/u/apache2/bin/apxs --with-config-file-path=/u/php5/lib --with-oci8=instantclient,/usr/local/instantclient --with-mysql=mysqlnd --with-libxml-dir  --enable-ftp --enable-sockets --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-zlib-dir --enable-gd-native-ttf  --enable-magic-quotes --with-iconv  --enable-mbstring=all  --disable-cgi --with-openssl --with-mcrypt --enable-bcmath --enable-calendar --enable-exif --enable-libxml --with-bz2 --with-curl --with-xmlrpc --with-gettext --enable-suhosin --disable-cli  --disable-debug
# make && make install
# cp php.ini-development /u/php5/lib/php.ini
整合APACHE与PHP
# vi /u/apache2/conf/httpd.conf
(a) 找到AddType application/x-gzip .gz .tgz在其下加以下内容
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
(b) 找到DirectoryIndex index.html改成:
    DirectoryIndex index.php index.htm index.html index.html.var
保存退出
 
(4) 安装eaccelerator加速软件
# tar -jxvf eaccelerator-0.9.5.3.tar.bz2
# cd eaccelerator-0.9.5.3
# /u/php5/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=/u/php5/bin/php-config
# make && make install
编译安装后我们会看到屏幕提示的eaccelerator.so所在的目录,php5.3.x系列是在 /u/php5/lib/php/extensions/no-debug-non-zts-20090613/
修改php.ini 文件,将以下内容输入(详细设置):
[eaccelerator]
zend_extension="/u/php5/lib/php/extensions/no-debug-non-zts-20090613/eaccelerator.so"
eaccelerator.shm_size="128" 默认大小16M,64M,128M
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="3600"
eaccelerator.shm_prune_period="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
注意:这部分内容务必放在[zend]之前,不然可能会出现不可预期的服务器问题。
# mkdir /tmp/eaccelerator
# chmod 777 /tmp/eaccelerator
 
(5) 安装Zend(如果程序没要求,尽量不要装Zend,容易和eA产生冲突):
# tar -zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
# cp -p ZendOptimizer.so /u/php5/lib/php/extensions/no-debug-non-zts-20090613/
将以下代码放入php.ini文件最底部
[Zend Optimizer]
zend_optimizer.optimization_level=1
zend_optimizer.encoder_loader=0
zend_extension="/u/php5/lib/php/extensions/no-debug-non-zts-20090613/ZendOptimizer.so"
 
(6) 安装APACHE rpaf模块
在生产环境中,WEB服务器的架设一般都会有反向代理软件(squid,ngx),WEB服务器如果要获取访问的真实IP地址,需要rpaf模块支持。
# wget -c
# tar zxf mod_rpaf-0.6.tar.gz
# cd mod_rpaf-0.6
# /u/apache2/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
# vi /u/apache2/conf/httpd.conf
添加模块参数,查找LoadModule php5_module modules/libphp5.so,在下方添加:
LoadModule rpaf_module modules/mod_rpaf-2.0.so
#Mod_rpaf settings
RPAFenable On
RPAFproxy_ips 127.0.0.1 [your_ips]
#[your_ips]为你本机所监听web服务的ip.多个IP用空格空开.注意理解,如果这台服务器做前端,IP地址为本机IP,如果前端还有反向代理服务器,IP地址为代理服务器IP地址。
RPAFsethostname On
RPAFheader X-Forwarded-For
 
(7) MEMCACHE 安装
编译安装PHP5扩展模块memcache,APC,ImageMagick等,要用phpize方式安装
# tar zxvf
# cd memcache-3.0.6
# /u/php5/bin/phpize
# ./configure --with-php-config=/u/php5/bin/php-config
# make && make install
 
至此,WEB的前端环境已部署完成,新建index.php页面测试。
phpinfo();
?>
访问:
阅读(11641) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~