zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Spring框架——JdbcTemplate(Spring对Jdbc的封装)
    Spring框架——批处理(batch)和事务(Transaction)
    Spring框架——AOP(面向切面编程)详解
    Spring框架——关于IOC容器和注解的36个小实验
    学习新技术的 10 个建议
    解决 PHP Fatal error: Call-time pass-by-reference has been removed
    mysql下float类型使用一些误差详解
    windows 如何查看端口占用情况
    插件机制
    .net/c#常用框架/中间件简介
  • 原文地址:https://www.cnblogs.com/balaamwe/p/3791363.html
Copyright © 2011-2022 走看看