zoukankan      html  css  js  c++  java
  • deepin 15.3 安装配置nginx

    1、安装nginx

    sudo apt-get install nginx

    2、配置nginx

    sudo gedit /etc/nginx/sites-enabled/default

      找到:index index.html index.htm;

      改为:index index.php index.html index.htm;

      找到:location ~ .php$ { * } 区块
    做如下调整(改动之处于行末有注释):

    location ~ .php$ {
        try_files $uri =404; #增加
        fastcgi_split_path_info ^(.+.php)(/.+)$; #反注释
    ## NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    ## With php5-cgi alone:
    # fastcgi_pass 127.0.0.1:9000;
    ## With php5-fpm:
        fastcgi_pass unix:/var/run/php/php5.6-fpm.sock; #反注释
        fastcgi_index index.php; #反注释
        include fastcgi_params; #反注释
    }

    3、解决php-fpm与nginx的小bug

      按上述步骤操作后,由于nginx与php-fpm之间的一个小bug,会导致这样的现象:
      网站中的静态页面 *.html 都能正常访问,而 *.php 文件虽然会返回200状态码,但实际输出给浏览器的页面内容却是空白。

      简而言之,原因是nginx无法正确的将 *.php 文件的地址传递给php-fpm去解析,相当于php-fpm接受到了请求,但这请求却指向一个不存在的文件,于是返回空结果。

      为了解决这个问题,需要改动nginx默认的fastcgi_params配置文件:

    sudo gedit /etc/nginx/fastcgi_params
    #在文件的最后增加一行
    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;

      关于这行的内容,多说几句,其中有两个参数:
      $document_root      即是指网站的根目录
      $fastcgi_script_name   则是指网站上的各个 *.php 文件名(其实是文件的相对路径)
      这两个合在一起形成完整的 php file path,比如你的网站有个 /test/script.php 文件,nginx传递给php-fpm的完整路径就是:/网站目录/test/script.php

    4、在/var/www/html文件夹中新建一个index.php文件

    <!DOCTYPE html> 
    <html> 
    <body> 
    <h1>My first PHP page</h1> 
      <?php 
          echo "Hello World!"; 
      ?> 
    </body> 
    </html>

    5、浏览器输入127.0.0.1进行测试

    效果如图,表示成功。

  • 相关阅读:
    select选择框去掉默认的下拉箭头
    网站怎么添加ico小图标
    js实现逐字打印效果,文本逐字显示
    jQuery实现消息列表循环垂直向上滚动
    滤镜图片变黑白+图片模糊
    多选下拉框(select 下拉多选)
    JavaScript 数组相关基础方法
    h5+ IOS App中判断本地文件是否存在 plus.io.resolveLocalFileSystemURL()
    h5+ IOS App中取消视频默认全屏播放
    C# 多线程与队列操作小练刀
  • 原文地址:https://www.cnblogs.com/dinphy/p/6021595.html
Copyright © 2011-2022 走看看