当前位置 博文首页 > 文章内容

    php网站,Linux+Nginx 配置运行PHP网站

    作者:zyd1113wz 栏目:网站相关 时间:2021-03-30 11:32:08

         本文操作环境:Ubuntu 18.04 /Nginx 1.16 /PHP 7.2

         1. 配置php.ini

         首先定位配置文件php.ini 的位置。

         php --ini |grep Loaded

         输出例子:

         root@wp2019:~# php --ini |grep Loaded

         Loaded Configuration File:         /etc/php/7.2/cli/php.ini

         编辑php.ini

         nano /etc/php/7.2/cli/php.ini

         编辑fix_pathinfo的设置内容。

         在这个文件中,找到设置cgi.fix_pathinfo的参数。 这将用分号(;)注释掉,默认设置为“1”。

         这是一个非常不安全的设置,因为它告诉PHP尝试执行最近的文件,如果找不到请求的PHP文件,它可以找到它。 这可以允许用户以一种允 许他们执行不应允许执行的脚本的方式制作PHP请求。

         取消注释并将其设置为“0”,如下所示:

         cgi.fix_pathinfo=0

         2. 配置nginx的PHP解析

         nginx.conf 文件通常在“/etc/nginx”目录下。

         通常有下面的描述。

         注意,这里用户用从nginx改为www-data。

         nginx安装好之后,会创建/etc/nginx/conf.d/default.conf文件,里面记录网站的配置信息。

         listen - 定义Nginx将侦听的端口。

         root - 定义存储网站服务的文档根目录。

         index- 配置Nginx请求索引文件时优先处理index.php命名的文件。

         server_name - 将此指令指向服务器的域名或公共IP地址。

         location /- 第一个位置块包括一个try_files指令,该指令检查是否存在满足URI请求的文件。如果Nginx找不到合适的文件,则会返回404错误。

         location ~ .php$- 此位置块通过将Nginx指向fastcgi-php.conf配置文件和php7.2-fpm.sock文件来处理实际的PHP处理,该文件声明了与哪个套接字相关联php-fpm。检查/etc/php/7.0/fpm/pool.d/www.conf文件并查找“listen”行。

         location ~ /.ht- 通过添加deny all指令,如果任何.htaccess文件碰巧进入文档根目录,它们将不会被提供给访问者。

         修改内容

         将root(网站根目录) 设置放在外面。

         将index设置放在外面。

         打开.php文件的解析设置内容。就是“ location ~ .php$ { … }”这一段内容。

         原文链接:https://blog.csdn.net/sitebus/article/details/97476297