• Linux安装Nginx1.7.4、php5.5.15和配置


    Nginx是一个轻量级的高性能Webserver、反向代理server、邮件(IMAP/POP3/SMTP)server,是Igor Sysoev为俄罗斯訪问量第二的Rambler.ru网站开发,第一个公开版本号0.1.0公布于2004年10月4日。以类BSD许可证的形式公布。

    Nginx选择epoll and kqueue 作为开发模型并使用C编写,在系统资源和CPU使用率上比Apache有着较大的优势。同一时候安装很easy,配置文件简洁(支持perl语法),启动easy,差点儿能够做到7*24小时不间断执行,即时执行数月也不须要重新启动,同一时候支持不间断服务的情况下进行软件版本号升级。

    此前一直是在用Apacheserver。php作为apache的一个模块执行。同一时候也在网上见到非常多比較过两者的文章和资料,众说纷纭。决定亲自来尝试一下。本文作为尝试的一个记录。供以后备忘和回想。

    本文安装环境:

    Linux 2.6.32-358.el6.x86_64  Red Hat Enterprise Linux Server release 6.4 (Santiago) 

    单核为Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz 的8核处理器。内存为32G

    一、安装Nginx

    Nginx安装须要依赖三个基础包,这是最基础的三个包,很多其它扩展模块可通过手冊安装。

    • zlib:主要用于支持将http内容进行gzip压缩,用于降低网络传输流量
    cd  /usr/local    #选定安装的文件夹
    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
    • pcre:用于支持nginx的正則表達式。配置文件里都须要用到正則表達式
    cd   /usr/local
    wget   ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz
    tar  -zxvf  pcre-8.35.tar.gz
    cd pcre-8.35
    ./configure
    make
    make install
    • openssl:用于nginx支持https请求
    cd  /usr/local
    wget    http://www.openssl.org/source/openssl-1.0.1i.tar.gz
    tar -zxvf openssl-1.0.1i.tar.gz
    cd openssl-1.0.1i
    ./configure
    make
    make install

    这里使用Nginx眼下最新版1.7.4,下载地址为http://nginx.org/download/nginx-1.7.4.tar.gz。
    安装过程中须要指定之前安装的三个包的路径。

    这里指定的pcre文件夹不是安装好的文件夹,而是源代码文件夹。另外假设出现例如以下错误:
    src/core/ngx_regex.h:15:18: fatal error: pcre.h: No such file or directory
    是由于nginx版本号的不同,缺少开发依赖包,须要安装:
    apt-get install libpcre3-dev
    对于指定openssl的路径。假设系统默认安装了。那么使用例如以下命令找出openssl所在路径:
    which openssl
    然后将这个路径放在nginx的--with-openssl选项后。
    tar -zxvf nginx-1.7.4.tar.gz
    cd nginx-1.7.4
    ./configure  --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre-8.35  --with-zlib=/usr/local/zlib-1.2.8  --with-openssl=/usr/local/openssl-1.0.1i
    make
    make install
    管理:
    • 启动: /usr/local/nginx/sbin/nginx
    • 停止:kill  -QUIT  `cat /usr/local/nginx/logs/nginx.pid`
    • 重新启动:kill  -HUP  `cat /usr/local/nginx/logs/nginx.pid`  或者 /usr/local/nginx/sbin/nginx -s reload
    • 改动配置文件:vim  /usr/local/nginx/conf/nginx.conf
    • 加入到自启动:echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
    Nginx眼下不能直接支持php,必须借助fastcgi来驱动php,一般使用php-fpm来使nginx支持php,并且php-fpm在php5.3之后就集成到php源代码中了。不需另外下载安装。比較方便。

    二、php安装

    首先针对php可能依照须要安装php的依赖包:libxml2、libpng、libjpeg、libcurl、freetype等,这里不再赘述。

    tar -zxvf php-5.5.11.tar.gz
    cd php-5.5.11
    ./configure --prefix=/usr/local/php5.5 --enable-mbstring --with-mcrypt --with-mhash ................. --enable-fasecgi --enable-fpm
    make && make install
    configure中省略的是其它的依赖包选项,能够自行取舍,最后的--enable-fpm选项一定要加上。nginx就是通过php-fpm来驱动php的。配置文件在 /usr/local/php5.5/php-fpm.conf进行配置:
    <value name="listen_address">127.0.0.1:9000</value>改动为<value name="listen_address">IP:9000</value>  
    <value name="sendmail_path">/usr/sbin/sendmail -t -i</value> 
    <value name="display_errors">1</value> 
    
    <value name="user">nobody</value>   //去凝视  
    <value name="group">nobody</value>  //去凝视  
    <value name="allowed_clients">127.0.0.1</value>   //同意连接的PC,本机就用127.0.0.1 
    启动php-fpm# /usr/local/php/sbin/php-fpm start加入到自启动# echo "/usr/local/php/sbin/php-fpm start">>/etc/rc.local

    之后改动/usr/local/nginx1.7.4/conf/nginx.conf文件,使得nginx支持php:
    location / {  
     root   $documentroot;  
     index  index.html index.htm index.php;  
     expires 30m;  
    }  
      
    location ~ /.php$ {  
        root           html;  
        fastcgi_pass   127.0.0.1:9000;  
        fastcgi_index  index.php;  
        fastcgi_param  SCRIPT_FILENAME $documentroot$fastcgi_script_name;  
        include        fastcgi_params;  
    }  

    Nginx是通过php-fpm监听的9000port来解析PHP请求的。




  • 相关阅读:
    自定义事件的触发dispatchEvent
    [转]ProxmoxVE 干掉 VMware
    【转】怎么去阅读Chromium的源码?
    Delphi内存专题
    Delphi 线程同步技术(转)
    【纸模】六角大王 Super 5.6 CHS 简体中文版 U20080725+[手册]窗口与工具的概要(PDF格式)
    ReSharper反编译C#类库
    CS DevExpress程序启动(主窗体初始化优化)
    【EasyNetQ】- 发布/订阅模式
    Intellij Idea调试java文件时 怎么跳过class文件?
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7353102.html
Copyright © 2020-2023  润新知