apache fastCGi with Django:“missing FastCGI param required by WSGI!”

qv7cva1a  于 2023-11-21  发布在  Apache
关注(0)|答案(2)|浏览(249)

Apache + fastCGI + Django 1.8
我在共享主机上的文件夹看起来像:
第一个月
/home/username/MyProject_SRC
/home/username/MyProject_SRC/MyProject/manage.py
以及:
/home/username/public_html/.htaccess
/home/username/public_html/index.fcgi
我编辑了.htaccessindex.fcgi,看起来像这样:

.htaccess:

  1. AddHandler fcgid-script .fcgi
  2. RewriteEngine On
  3. RewriteCond %{REQUEST_URI} !=/index.fcgi
  4. RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]

字符串

index.fcgi:

  1. #!/home/username/djangoenv/bin/python3
  2. import sys, os
  3. sys.path.insert(0, "/home/username/MyProject_SRC")
  4. os.chdir("/home/username/MyProject_SRC")
  5. os.environ['DJANGO_SETTINGS_MODULE'] = "MyProject.settings"
  6. from django.core.servers.fastcgi import runfastcgi
  7. runfastcgi(method="threaded", daemonize="false")


现在,当我在服务器上做:

  1. (djangoenv)username@hostname [~/public_html]# ./index.fcgi
  2. Status: 200 OK
  3. Vary: Cookie
  4. X-Frame-Options: SAMEORIGIN
  5. Content-Type: text/html; charset=utf-8
  6. <!DOCTYPE html>
  7. <html lang="en">
  8. .... // Normal webpage
  9. </html>
  10. WSGIServer: missing FastCGI param REQUEST_METHOD required by WSGI!
  11. WSGIServer: missing FastCGI param SERVER_NAME required by WSGI!
  12. WSGIServer: missing FastCGI param SERVER_PORT required by WSGI!
  13. WSGIServer: missing FastCGI param SERVER_PROTOCOL required by WSGI!


在我的主页上返回一个500 internal error,日志中没有更多内容。

编辑我在做的时候得到了同样的结果:(djangoenv)username@hostname [~/MyProject_SRC]# ./manage.py runfcgi

yduiuuwa

yduiuuwa1#

我有一个类似的问题,在我的情况下,我没有找到一个特定的源,但我试图在我的index.fcgi中添加这个,并做./index.fcgi不再问我,如果它一直得到500检查你使用的flup版本,最好是1.0.2

  1. os.environ['REQUEST_METHOD'] = "GET"
  2. os.environ['SERVER_NAME'] = "yourdomain.com"
  3. os.environ['SERVER_PORT'] = "80"
  4. os.environ['SERVER_PROTOCOL'] = "HTTP/1.1"

字符串

7qhs6swi

7qhs6swi2#

当我得到这个错误时,问题原来是服务器更改已经删除了我所有自定义安装的python包,包括flup。所以修复只是安装它:

  1. pip3 install flup

字符串

相关问题