在 Ubuntu 16.04 上安装 ModSecurity for NGINX 后 PHP 无法运行

在 Ubuntu 16.04 上安装 ModSecurity for NGINX 后 PHP 无法运行

我的服务器在 Ubuntu 16.04 上运行。我的一个 Web 应用程序(php 应用程序)正在我的 nginx 服务器上运行。为了安装 ModSecurity,我完全删除了 NGINX,然后按照以下步骤编译并安装 ModSecurity for NGINX 作为动态模块:

https://www.nginx.com/blog/compiling-and-installing-modsecurity-for-open-source-nginx/

问题是我的 NGINX 正在运行,但我的 Web 应用程序没有运行。当我尝试访问我的域时,我收到以下错误:“404 Not Found-- nginx/1.15.7”。我尝试在 /var/www/html 创建一个测试 html 项目,并尝试浏览该项目,发现 HTML 代码没有问题,但如果我尝试放入一些 PHP 文件,它就不起作用。虽然我检查并发现 php-fpm 正在运行。这里我给出了我的服务器块:

server {
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;

root /var/www/html/mysite/public;

    index index.php index.html index.htm index.nginx-debian.html;

    server_name www.mysite.com mysite.com;

    location / {
            try_files $uri $uri/ /index.php?q=$uri&$args;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html/mysite/public;
    }

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

}

这里我应该提到服务器块位于/etc/nginx/conf.d/mysite.com.conf并且我的项目是在 Laravel 上开发的。

相关内容