LNMP解决nginx与php关联

LNMP

L - Ubuntu14.04.5
N - Nginx1.10.1
M - Mysql5.6
P - PHP5.6

  1. 安装Nginx
    (推荐文章安装mysql5.6以及php5.6)
    Ubuntu14.04默认安装的是Nginx 1.4.6

    如果已经安装,请先卸载

    $ sudo apt-get remove nginx
    

    最新的稳定版Nginx 1.10.1在ubuntuupdates ppa库中提供,网址http://www.ubuntuupdates.org/ppa/nginx?dist=trusty

    安装方法:

    $ sudo add-apt-repository ppa:nginx/stable
    $ sudo apt-get update
    $ sudo apt-get install nginx
    

    查看nginx 版本

    $ nginx -v
    
    nginx version: nginx/1.10.1
    

    注意:
    Nginx本身是不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket,(这个socket可以是文件socket,也可以是ip socket)。为了调用CGI程序,还需要一个FastCGI的wrapper(wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文件socket。当Nginx将CGI请求发送给这个socket的时候,通过FastCGI接口,wrapper接纳到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nginx;最后,Nginx将返回的数据发送给客户端。

    LNMP解决nginx与php关联_第1张图片
    这里写图片描述

    下面这是/etc/nginx/site-available/default文件配置的一部分, 按照这样修改配置其关联php5.6

    location ~ \.php$ {
            include snippets/fastcgi-php.conf;
    #
    #       # With php5-cgi alone:
    #       fastcgi_pass 127.0.0.1:9000;
    #       # With php5-fpm:
            fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;  # 注意着里sock文件的位置(在/var/run下找到对应的sock文件)
    }
    

    注意:
    安装了php5.6之后会默认带一个Apache, 在启动nginx前要停掉Apache, 如果你发现你启动了nginx后访问不好使, 那么, 你看看你服务目录下的index.html内容是不是Apache的内容, 修改它!!!

你可能感兴趣的:(LNMP解决nginx与php关联)