Centos6.4 编译安装 nginx php的方法

一. 准备依赖库

安装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  #执行以下命令使生效  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

参与评论