在 Nginx 中启用 php

Enabling php in Nginx

我想在 .onion 网站上开设一个白帽论坛。我跟随 this 帮助我进行设置。它有效,但是当我创建一个 .php 它无法读取该文件,并提供下载 .php 而不是读取它。所以 php 没有启用,我在 google 上找不到任何工作文章,这几乎把我逼疯了,所以我希望你能帮助我

这是我的设置:

我是 运行 raspberry pi,有以太网线。

我正在使用 raspbian,与 debian 非常相似。

其 运行 在端口 9070 而不是 9000。

如果你能帮助我,我可以为受信任的成员提供 ssh。

如果你想看看会发生什么,你可以做(​​删除)并且在“测试”文件夹中有一个 index.php 文件

那么我该如何解决这个 php 问题呢?

注意:我是 linux 的新手,所以请公平对待我,谢谢。

您提供的说明显示了如何安装 Nginx,但没有任何在您的服务器上安装 PHP 的步骤。我建议您看一下第 4 步和第 5 步 here

事实上,它不是 PHP 而是下载,这意味着 fpm and/or nginx 代理配置有些不对。

要检查的关键事项是:

  • 检查 php fpm 池中的 listen 指令。该池将监听 TCP 套接字 (listen 127.0.0.1:9000) 或 Unix 套接字 (listen /var/run/php5-fpm.sock)
  • 确定 fpm 正在正确监听并且 tcp 套接字或域套接字已启动
  • 确保您在 nginx 中的 vhost 正确地将 PHP 请求传递到正确的套接字或 tcp 端口。这看起来像:
location ~ \.php$ {
  root           /path/to/docroot;
  fastcgi_pass   127.0.0.1:9000;  # If using TCP in php-fpm
  # OR
  fastcgi_pass   unix:/var/run/php5-fpm.sock;  # If using unix socket
  fastcgi_index  index.php;
  fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
  include        fastcgi_params;
}

并确保 location 块在 nginx 中适当的 vhost 中,否则将无法工作。

将要受到攻击并且非常繁忙的站点将受益于使用 TCP 套接字而不是 Unix 套接字,但这只对您期望有大量并发 PHP 请求的站点很重要。

希望对您有所帮助。