
一. 准备依赖库
安装make:
?
|
1
|
yum -y installgcc automake autoconf libtool make
|
安装g++:
?
|
1
|
yum installgcc gcc-c++
|
二. 编译安装pcre
pcre 是一个正则表达式的库,编译nginx需要依赖该库实现url rewrite
下载源码
?
|
1
2
3
|
cd/usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.33.tar.bz2
tarjxvf pcre-8.33.tar.bz2
|
编译安装
?
|
1
2
3
4
|
cdpcre-8.33
./configure
make
makeinstall
|
三. 编译安装zlib库
zlib 是gzip实现
下载源码
?
|
1
2
3
|
cd/usr/local/src
wget http://zlib.net/zlib-1.2.8.tar.gz
tar-zxvf zlib-1.2.8.tar.gz
|
编译安装
?
|
1
2
3
4
|
cdzlib-1.2.8
./configure
make
makeinstall
|
四. 安装openssl
检查是否安装了ssl
?
|
1
2
3
|
# 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
|
如果没有安装
下载源码
?
|
1
2
3
|
cd/usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar-zxvf openssl-1.0.1c.tar.gz
|
编译安装
?
|
1
2
3
|
./configure
make
makeinstall
|
五. 编译安装nginx
?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
cd/usr/local/src
wget http://nginx.org/download/nginx-1.2.8.tar.gz
tar-zxvf nginx-1.2.8.tar.gz
cdnginx-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
makeinstall
|
安装成功完毕后验证是否安装成功
?
|
1
2
|
/usr/local/nginx/nginx
netstat-alptn|grep80
|
六. 编译安装php
新版本的php中已经集成了php-fpm
1. 准备工作
?
|
1
2
3
4
5
|
yum -y installlibmcrypt-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 bzip2bzip2-devel\
ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel\
krb5 krb5-devel libidn libidn-devel openssl openssl-devel
|
2. 源码编译安装libmcrypt
?
|
1
2
3
4
5
6
|
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
tar-zxvf libmcrypt-2.5.7.tar.gz
cdlibmcrypt-2.5.7
./configure
make
makeinstall
|
3. 下载源码
?
|
1
2
|
wget http://cn2.php.net/distributions/php-5.4.7.tar.gz
tarzvxf php-5.4.7.tar.gz
|
4. 编译安装cd php-5.4.7
?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
./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
|
如果报如下错误
?
|
1
|
configure: error: Don't know how to define struct flock on this system, set--enable-opcache=no
|
修改 /etc/ld.so.conf 文件
?
|
1
2
3
4
5
6
7
8
9
|
vi/etc/ld.so.conf.d/local.conf
#添加2行
/usr/local/lib64//64系统
/usr/local/src/libmcrypt-2.5.7/lib/.libs
#执行以下命令
chmodgu+x /etc/ld.so.conf.d/local.conf
#执行以下命令使生效
ldconfig -v
|
再次执行命令
成功后编译安装
七. 配置启动
1. 配置php-fpm
?
|
1
2
3
|
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.错误
?
|
1
2
3
4
5
6
7
8
9
|
# 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文件,输入如下内容
?
|
1
2
3
|
<?
echophpinfo();
?>
|
启动php-fpm和nginx
?
|
1
2
|
/usr/local/php/sbin/php-fpm(手动打补丁的启动方式/usr/local/php/sbin/php-fpmstart)
/usr/local/nginx/nginx
|
未经允许不得转载:Linux老运维 » Centos6.4 编译安装 nginx php的方法


























