★LNMP简介(来自百度百科)

  •   LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

      Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debiancentosubuntufedoragentoo等。

      Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。

      Mysql是一个小型关系型数据库管理系统

      PHP是一种在服务器端执行的嵌入HTML文档的脚本语言

      这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

  • 优点:

    ◆Nginx 安装非常的简单,配置文件非常简洁(还能够支持perl语法)。Nginx支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级

    作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。

    ◆作为负载均衡服务器:Nginx 既可以在内部直接支持RailsPHP,也可以支持作为 HTTP代理服务器对外进行服务。Nginx 用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。

    ◆作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验


★安装Mysql(方法同lamp(1)http://caoyue.blog.51cto.com/9876038/1610525  )

★安装php

  • 下载源码包  wget  http://cn2.php.net/distributions/php-5.4.37.tar.bz2

  • 解压        tar jxf php-5.4.37.tar.bz2

  • useradd -s /sbin/nologin php-fpm    <== -s参数指定用户登录的shell文件

                                             lamp里不需要,是因为在lamp中php是作为一个模块

                                             给apache使用的;而在lnmp中php是以一个单独程序

                                             的角色存在的

  • cd php-5.4.37 进行编译
    ./configure --prefix=/usr/local/php   --with-config-file-path=/usr/local/php/etc  --enable-fpm   --with-fpm-user=php-fpm  --with-fpm-group=php-fpm   --with-mysql=/usr/local/mysql  --with-mysql-sock=/tmp/mysql.sock  --with-libxml-dir  --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir  --with-iconv-dir   --with-zlib-dir   --with-mcrypt   --enable-soap   --enable-gd-native-ttf   --enable-ftp  --enable-mbstring  --enable-exif    --disable-ipv6     --with-curl

    编译过程中会出现如同lamp(1)中的报错提示,排错参考先前文档。

    以及新的报错:

    configure: error: Please reinstall the libcurl distribution -easy.h should be in <curl-dir>/include/curl/

    原因是curl的dev包没有安装,需安装curl-devel,yum -y install curl-devel

  • make && make install

  • cp php.ini-production /usr/local/php/etc/php.ini


  • 拷贝启动脚本:cp php-5.4.37/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

  • mv /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf

  • chmod 755 /etc/init.d/php-fpm

  • chkconfig --add php-fpm

  • service php-fpm start

  • chkconfig php-fpm on

★安装Nginx

  • cd /usr/local/src/

  • 下载源码包   wget http://nginx.org/download/nginx-1.6.2.tar.gz

  • 解压        tar zxvf nginx-1.6.2.tar.gz

  • cd nginx-1.6.2

  • 编译   ./configure   --prefix=/usr/local/nginx   --with-pcre

  • make

    报错:./configure: error: the HTTP rewrite module requires the PCRE library.
    You can either disable the module by using --without-http_rewrite_module
    option, or install the PCRE library into the system, or build the PCRE library
    statically from the source with nginx by using --with-pcre=<path> option.

    解决:yum -y install pcre-devel

    如果不是pcre而是--with-openssl=<path> options.需要安装openssl openssl-devel

  • make install

  • 启动nginx:/usr/local/nginx/sbin/nginx

★配置解析php

  • 编辑配置文件  vim  /usr/local/nginx/conf/nginx.conf  

    把下面的配置(65行开始),前面的#删除,并更改fastcgi_param SCRIPT_FILENAME 那一行

            location ~ \.php$ {
                root           html;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
                include        fastcgi_params;
            }

  • /usr/local/nginx/sbin/nginx -s  reload      重新加载

  • 创建一个php文件,并加入以下内容

    vim  /usr/local/nginx/html/1.php
    增加  
    <?php
        phpinfo();
    ?>

  • 进行以下测试:curl localhost/1.php

    1.php成功解析