CentOS - Nginx - (5) 安装

一,安装:

【1】 编译PHP

初始环境:

为了省事把所需要的库文件全都安装上,可以使用rpm包安装,也可以用yum命令安装,

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers 

#nginx所需要的库文件件

yum -y install pcre-devel zlib-devel

#PHP依赖的库文件

yum -y install gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel


cp -frp /usr/lib64/libldap* /usr/lib/


安装库文件

tar zxvf libiconv-1.14.tar.gz  

cd libiconv-1.14  

./configure --prefix=/usr/local 

make && make install 


tar zxvf libmcrypt-2.5.8.tar.gz  

cd libmcrypt-2.5.8  

./configure  

make && make install 


/sbin/ldconfig  

./configure --enable-ltdl-install 

make && make install 


tar zxvf mhash-0.9.9.9.tar.gz   

cd mhash-0.9.9.9/   

./configure  

make && make install 


ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la  

ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so  

ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4  

ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8  

ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a  

ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la  

ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so  

ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2  

ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1  

ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config 


tar -zxvf mcrypt-2.6.8.tar.gz   

cd mcrypt-2.6.8/  

/sbin/ldconfig  

./configure  

make && make install 


mkdir -p /usr/local/php5.4  

tar zxvf php-5.4.13.tar.gz  

cd php-5.4.13

export LIBS="-lm -ltermcap -lresolv"
export DYLD_LIBRARY_PATH="/usr/local/mysql5.5/lib/:/lib/:/usr/lib/:/usr/local/lib:/lib64/:/usr/lib64/:/usr/local/lib64"
export LD_LIBRARY_PATH="/usr/local/mysql5.5/lib/:/lib/:/usr/lib/:/usr/local/lib:/lib64/:/usr/lib64/:/usr/local/lib64"

./configure --prefix=/usr/local/php5.4 \  

--with-config-file-path=/etc \  

--with-iconv-dir=/usr/local/ --with-freetype-dir \  

--with-mysql=/usr/local/mysql \  

--with-mysqli=/usr/local/mysql/bin/mysql_config \  

--with-jpeg-dir --with-png-dir --with-zlib \  

--with-mhash --enable-sockets --enable-ftp \  

--with-libxml-dir --enable-xml  \  

--enable-bcmath \  

--enable-shmop --enable-sysvsem \  

--enable-inline-optimization --with-curl \  

--with-curlwrappers \  

--enable-mbregex \  

--enable-mbstring --with-mcrypt --with-gd \  

--enable-gd-native-ttf --with-openssl --with-mhash \  

--enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl \  

--enable-fpm \  

--with-xmlrpc --enable-zip --enable-soap \  

--without-pear   


make ZEND_EXTRA_LIBS='-liconv' 

make install 


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


php-fpm 作为服务运行

cp php-5.4.13/sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm 

cd /usr/local/php5.4/etc

mv php-fpm.conf.default  php-fpm.conf 

chmod 755 /etc/init.d/php-fpm 

chkconfig --add php-fpm 

chkconfig --level 345 php-fpm on


服务方式启动php-fpm  (/usr/local/php5.4/etc/php-fpm.conf )

service php-fpm start


2编译Nginx

useradd www

安装pcre

tar zxvf pcre-8.32.tar.gz

cd pcre-8.32/

./configure --prefix=/usr/local/pcre

make && make install


安装nginx

tar zxvf nginx-1.0.15.tar.gz

cd nginx-1.0.15/

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6

make && make install


启动
/usr/local/ngnix/sbin/nginx


二,配置Nginx


/usr/local/nginx/conf/nginx.conf


静态HTML文件; /usr/local/nginx/html 中


php文件在 : location ~ \.php$这里  配置





将nginx.sh启动脚本拷贝到/etc/init.d下随系统启动自动运行,注意要给nginx加755权限,保证脚本有被执行的权限

(体会:安装APACHE的时候要分别安装支持GD库的一些图像文件,但是在安装nginx的时候没去安装那些支持GD库的图像文件,也是可以的,理解是nginx会自动去安装这些支持GD的库文件)

#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/usr/local/nginx/logs/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "nginx already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid
}
reload() {
echo -n $"Reloading $prog: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;


status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL

=============================================================

PHP5.4安装后查看PHPINFO发现没有PDO_MYSQL,网上查找了解决办法:

一、环境
LAMP都是源码安装,PHP安装的时候没有配置pdo_mysql和mysqli,pdo是php5默认带的。
PHP5的源码都在,只需要把php5的模块功能扩展就可以了。

php源码目录:/usr/local/src/php-5.2.10
php安装目录:/usr/local/php/
php源码配置文件:/usr/local/php/bin/php-config
php程序配置文件:/usr/local/php/etc/php.ini

二、模块的编译安装
进入源码包对应的模块文件夹中,

[root@anpc ~] cd /usr/local/src/php-5.2.10/ext/pdo

[root@anpc pdo] /usr/local/php/bin/phpize
[root@anpc pdo] ./configure --with-php-config=/usr/local/php/bin/php-config
[root@anpc pdo] make
[root@anpc pdo] make test
[root@anpc pdo] make install

[root@anpc ~] cd /usr/local/src/php-5.2.10/ext/pdo_mysql
[root@anpc pdo_mysql] /usr/local/php/bin/phpize
[root@anpc pdo_mysql] ./configure --with-php-config=/usr/local/php/bin/php-config  --with-pdo-

mysql=/usr/local/mysql
[root@anpc pdo_mysql] make
[root@anpc pdo_mysql] make test
[root@anpc pdo_mysql] make install


安装完后会产生so模块:

/usr/local/php/lib/php/extensions/no-debug-zts-20060613/pdo.so
/usr/local/php/lib/php/extensions/no-debug-zts-20060613/pdo_mysql.so


更改php.ini配置,添加模块:
vi /usr/local/php/etc/php.ini
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20060613/pdo.so
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20060613/pdo_mysql.so


服务重启:


备注:

没有PHPIZE的解决方法

默认centOS和FC6都没有装这个phpize
yum install php-devel


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值