ubuntu使用nginx开启php支持 - 管理猿 2019 年 01 月 11 日 |访问: 549 次

网站配置好之后开启nginx,刷新网页直接下载了index.php。是因为默认的nginx无法执行php文件,给当成一个文件直接输出下载了。
解决这个问题前查看下php的版本

root@icdby:/LSM# php -version
PHP 7.0.32-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.32-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies
root@icdby:/LSM# 

系统当前的php版本为7.0.32
接下来修改nginx的配置,让nginx支持php文件的执行

root@icdby:/LSM# vi /etc/nginx/sites-enabled/icdby.conf

然后复制粘贴以下内容,里面信息可以删掉,根据注释修改成自己的信息

  server {
  //将80端口的链接301跳转到443端口去,就是访问http自动跳转到Https页面
  listen 80; 
  server_name icdby.com; //绑定的域名
  location / {
    return 301 https://icdby.com$request_uri;
  }

}
server {
  listen  443 ssl;//监听443端口
  ssl on; //开启证书
  ssl_certificate         /etc/ssl/certs/server.crt; 
  ssl_certificate_key   /etc/ssl/private/server.key; //存放证书的两个位置
  ssl_protocols         TLSv1 TLSv1.1 TLSv1.2; //支持协议版本
  ssl_ciphers           HIGH:!aNULL:!MD5;
  server_name           icdby.com;  //绑定的域名
        location / {  
         root   /var/www/html;  //网站文件存放目录,apach2默认的
         index  index.php index.html index.htm; //首页文件
        }
    location ~ \.php$ {  //但扩展名为php的时候执行的策略,交给相关的php进程,然后再返回结果
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;  //php 7.0或以上的版本设置的内容,使用在线安装一般都是7.0以上,若版本为7.0以下,请关掉本页,重新搜索。
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;  //这里的目录一定要填写正确,否则容易触发502错误
        include fastcgi_params;
    }
}

wq保存之后重启nginx服务,如果重启有错误产生,请检查下换行的符号是否有误。

service nginx restart

标签:none

添加新评论