Linux CentOS 5.3下编译安装Nginx & PHP(FastCGI)不完好手册[服务器安全]
本文“Linux CentOS 5.3下编译安装Nginx & PHP(FastCGI)不完好手册[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
自己并非从事系统相关工作,出于对技术的爱好无意把玩一下.全部软件都挑选了最新安定包.
安装历程中碰到些许问题并一一办理之,现将步骤简单记录以下:
注意:本安装历程libmcrypt、mhash、pcre和MySQL支持均采取CentOS yum源安装方法,并非编译安装.
1、安装依靠库
yum -y install gcc gcc-c++ glibc glibc-devel glib2 glib2-devel autoconf libmcrypt libmcrypt-devel mhash mhash-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel libidn libidn-devel zlib zlib-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel mysql mysql-server mysql-devel
2、下载软件源码包
Nginx: wget http://sysoev.ru/nginx/nginx-0.7.61.tar.gz
PHP: wget http://cn.php.net/get/php-5.2.10.tar.gz/from/tw.php.net/mirror
PHP-FPM: wget http://php-fpm.org/downloads/php-5.2.10-fpm-0.5.13.diff.gz
(FastCGI是一个可伸缩的、高速地在web server和脚本语言间交互的接口.大都风行的web server都支持FastCGI,包含Apache(mod_fastcgi和mod_fcgid)、Zeus、nginx和lighttpd等. FastCGI的主要长处是把动态语言和web serve别脱离来,这种技术答应把web server和动态语言运行在差别的主机上,以大规模扩大和改良安全性而不丧失生产效率.php-fpm是为PHP打的一个FastCGI管理补钉,可以和任何支持远端FastCGI的web server工作,可以平滑变更php.ini配置而无需重启php-cgi)
PHPMYADMIN: wget http://downloads.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-3.2.0.1-english.tar.bz2?use_mirror=nchc
ICONV: wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz
(libiconv是为Unicode和其他传统编码之间转换利用计划的编码转换库)
MCRYPT: wget http://downloads.sourceforge.net/sourceforge/mcrypt/mcrypt-2.6.8.tar.gz?use_mirror=nchc
(mcrypt和libmcrypt都是为php加密供应支持的)www.linuxidc.com
PDO: wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
(PDO_MYSQL是PHP Data Objects (PDO) interface的一个mysql扩大)
eAccelerator: wget http://bart.eaccelerator.net/source/0.9.5/eaccelerator-0.9.5.tar.bz2
(eAccelerator是PHP加快器)3、安装
1)安装libiconv支持
tar zxvf libiconv-1.13.tar.gz
cd libiconv-1.13
./configure --prefix=/usr/local
make && make install
#为PHP编译成立衔接,PHP默许调用/usr/lib/libiconv.so.2库文件
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
2)安装mcrypt支持
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
/sbin/ldconfig
./configure
make && make install
3)安装并配置PHP & PHP-FPM FastCGI
tar xjvf php-5.2.10.tar.bz2
gzip -cd php-5.2.10-fpm-0.5.13.diff.gz | patch -d php-5.2.10 -p1 #为PHP打FPM补钉
cd php-5.2.10
#改正PHP源码文件时间戳,默许解压时提醒文件时间戳告诫
find . -type f -exec touch {} \;
#因为编译时PHP存在一个BUG,默许不安装pear包--without-pear
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/bin/mysql --with-mysqli=/usr/bin/mysql_config --with-iconv-dir=/usr/local/bin --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --with-gd --with-mcrypt --with-curl --with-curlwrappers --enable-xml --enable-mbstring --enable-bcmath --enable-shmop --enable-mbregex --enable-gd-native-ttf --enable-sysvsem --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-inline-optimization --enable-discard-path --disable-rpath --with-openssl --without-pear
#针对iconv库改正Makefile配置内容
sed -i 's#-lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt#& -liconv#' Makefile
make && make install
#安装PDO扩大
tar xzvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL_1.0.2
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
#安装eAccelerator扩大
tar xjvf eaccelerator-0.9.5.tar.bz2
cd eacceleraotr-0.9.5
/usr/local/php/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config
make && make install
#成立eAccelerator缓存目录
mkdir /usr/local/php/ecache
#成立PHP错误日记目录
mkdir /usr/local/php/logs
#成立PHP配置文件,按照自己的需求改正配置选项
cp php.ini-dist /usr/local/php/etc/php.ini
vi /usr/local/php/etc/php.ini
#改正扩大途径
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613"
#增添PDO和eAccelerator扩大支持
extension = "pdo_mysql.so"
#配置eaccelerator加快PHP,在末尾加入以下信息
[eaccelerator]
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="128"
eaccelerator.cache_dir="/usr/local/php/ecache"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
以上是“Linux CentOS 5.3下编译安装Nginx & PHP(FastCGI)不完好手册[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |