您的位置:首页 > 运维架构 > Nginx

Centos6.4 编译安装 nginx php

2014-06-16 17:31 836 查看
一. 准备依赖库

安装make:

yum -y install gcc automake autoconf libtool make


安装g++:

yum install gcc gcc-c++


二. 编译安装pcre

pcre 是一个正则表达式的库,编译nginx需要依赖该库实现url rewrite

下载源码

cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.33.tar.bz2 tar jxvf pcre-8.33.tar.bz2


编译安装

cd pcre-8.33
./configure
make
make install


三. 编译安装zlib库

zlib 是gzip实现

下载源码

cd /usr/local/src
wget http://zlib.net/zlib-1.2.8.tar.gz tar -zxvf zlib-1.2.8.tar.gz


编译安装

cd zlib-1.2.8
./configure
make
make install


四. 安装openssl

检查是否安装了ssl

# rpm -qa|grep openssl
openssl-devel-1.0.1e-16.el6_5.14.x86_64
openssl-1.0.1e-16.el6_5.14.x86_64


如果没有安装

下载源码

cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz tar -zxvf openssl-1.0.1c.tar.gz


编译安装

./configure
make
make install


五. 编译安装nginx

cd /usr/local/src
wget http://nginx.org/download/nginx-1.2.8.tar.gz tar -zxvf nginx-1.2.8.tar.gz
cd nginx-1.2.8

./configure --sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/usr/local/src/pcre-8.33 \
--with-zlib=/usr/local/src/zlib-1.2.8 \
--with-openssl=/usr/local/src/openssl-1.0.1c

make
make install

安装成功完毕后验证是否安装成功

/usr/local/nginx/nginx
netstat -alptn|grep 80


六. 编译安装php

新版本的php中已经集成了php-fpm

1. 准备工作

yum -y install libmcrypt-devel mhash-devel libxslt-devel\
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


2. 源码编译安装libmcrypt

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure make make install


3. 下载源码

wget http://cn2.php.net/distributions/php-5.4.7.tar.gz tar zvxf php-5.4.7.tar.gz


4. 编译安装cd php-5.4.7

./configure --prefix=/usr/local/php                        \
--enable-fpm                                   \
--enable-mbstring                              \
--enable-sockets                               \
--enable-sysvsem                               \
--enable-sysvshm                               \
--enable-pcntl                                 \
--enable-mbregex                               \
--enable-zip                                   \
--enable-inline-optimization                   \
--disable-pdo                                  \
--disable-debug                                \
--disable-rpath                                \
--with-mcrypt                                  \
--with-zlib                                    \
--with-bz2                                     \
--with-mhash                                   \
--with-curl                                    \
--with-mysql                                   \
--with-gd                                      \
--with-pcre-regex                              \
--with-libdir=lib64


如果报如下错误

configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no


修改 /etc/ld.so.conf 文件

vi /etc/ld.so.conf.d/local.conf
#添加2行
/usr/local/lib64   //64系统
/usr/local/src/libmcrypt-2.5.7/lib/.libs

#执行以下命令
chmod gu+x /etc/ld.so.conf.d/local.conf

#执行以下命令使生效
[code]ldconfig -
v


再次执行命令

成功后编译安装

七. 配置启动

1. 配置php-fpm

cd /usr/local/php
cp /etc/php-fpm.conf.default /etc/php-fpm.conf
vi /etc/php-fpm.conf


修改
user = llong
group = llong

2. 修改nginx 支持 php-fpm

打开 nginx.conf

其中server段增加如下配置,注意标红内容配置,否则会出现No input file specified.错误

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}


3. 测试是否配置成功

在/usr/local/nginx/html下创建index.php文件,输入如下内容

<?
echo phpinfo();
?>


启动php-fpm和nginx

/usr/local/php/sbin/php-fpm (手动打补丁的启动方式/usr/local/php/sbin/php-fpm start)

/usr/local/nginx/nginx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: