一. 准备依赖库
安装make:
1
|
yum -y install gcc automake autoconf libtool make |
安装g++:
1
|
yum install gcc 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 tar jxvf pcre-8.33. tar .bz2 |
编译安装
1
2
3
4
|
cd pcre-8.33 . /configure make make install |
三. 编译安装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
|
cd zlib-1.2.8 . /configure make make install |
四. 安装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 make install |
五. 编译安装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 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 |
安装成功完毕后验证是否安装成功
1
2
|
/usr/local/nginx/nginx netstat -alptn| grep 80 |
六. 编译安装php
新版本的php中已经集成了php-fpm
1. 准备工作
1
2
3
4
5
|
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
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 cd libmcrypt-2.5.7 . /configure make make install |
3. 下载源码
1
2
|
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
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 #执行以下命令 chmod gu+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
|
<? echo phpinfo(); ?> |
启动php-fpm和nginx
1
2
|
/usr/local/php/sbin/php-fpm (手动打补丁的启动方式 /usr/local/php/sbin/php-fpm start) /usr/local/nginx/nginx |