在开始之前,我没有任何 Python 经验,也没有 WSGI 或 FastCGI,但我正在尝试安装海外品质保证局在 Hostgator 的共享主机账户上。
到目前为止,我所做的是:
安装 markdown 和 html5lib 使用:
pip install --user markdown
这安装在
/home/user/.local/lib/python2.6/*
检查了 /home/user/osqa 处的 OSQA 代码
替换 OSQA 安装的 DB 设置
生成数据库并迁移:
python manage.py syncdb –all python manage.py migrate forum --fake
创建了 mysite.com 目录,域名 mysqite.com 指向该目录
在 mysite.com 内创建一个 .htaccess 文件:
AddHandler fcgid-script .fcgi Options +SymLinksIfOwnerMatch RewriteEngine On RewriteBase / RewriteRule ^(media/.*)$ - [L] RewriteRule ^(adminmedia/.*)$ - [L] RewriteCond %{REQUEST_URI} !(osqa.fcgi) RewriteRule ^(.*)$ osqa.fcgi/$1 [L]
在 mysite.com 内创建了一个名为 osqa.fcgi 的文件:
#!/home/username/python/bin/python import os, sys sys.path.insert(0, "/home/your_username/") sys.path.append("/home/your_username/osqa") os.chdir("/home/your_username/osqa") os.environ['DJANGO_SETTINGS_MODULE'] = "osqa.settings" from django.core.servers.fastcgi import runfastcgi runfastcgi(method="threaded", daemonize="false")
chmod +x osqa.fcgi
现在访问 URL mysite.com,只会出现 500 错误。
答案1
我修复了这个问题。我不确定到底是什么修复了它,但以下是我所做的所有更改:
- 修改 .htaccess,将 osqa.fcgi 替换为 mysite.fcgi
- 将文件 osqa.fcgi 重命名为 mysite.fcgi
- 在 mysite.fcgi 的顶部,替换 python 路径