最近在帮一个在线教育网站部署环境,将部署步骤记录下来,以备以后使用,按照此步骤安装,一般不会报错。
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: http://www.oracle.com
MYDSQL: http://www.mysql.com/downloads/
APACHE: http://httpd.apache.org/download.cgi
PHP : http://www.php.net/downloads.php
ZEND : http://www.zend.com/en/
eaccelerator : http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
RPAF : http://www.stderr.net/apache/rpaf/
MEMCACHE : http://pecl.php.net/get/memcache-3.0.6.tgz
##########################################
软件编译需求
(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 http://www.stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
# 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 memcache-3.0.6.tgz
# 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();
?>
访问:http://IP/index.php
(责任编辑:IT) |