我想学习如何使用 django,但我没有使用服务器的经验(不知道如何使用 apache..)并且入门困难。如果我只能访问共享服务器上的主目录,我该怎么做?如何选择并设置 mod_python、mod_wsgi 等?我的 httpd.conf 文件在哪里?
如果您能用简单的英语进行解释但同时注意相关的技术术语,那将会很有帮助。
非常感谢。
答案1
如果您只是在学习 Django,则无需使用 Apache 托管它。相反,请使用 Django 教程和文档中所述的 Django 内置开发服务器。只有在您真正学会了使用 Django 的基础知识之后,您才应该费心研究在实际站点上部署它的托管机制。
换句话说,不要超前,一步一步来,对于学习 Django 的第一步,你不需要 Apache。
答案2
正如 Graham Dumpleton 所说,开发服务器是最好的起点,它将在您的localhost
(您的机器)上运行,因此您不会遇到问题。(我投票支持他的答案,因为在我看来这也是学习 Django 的正确方法)。
但我确信您也希望在托管的网站上看到一些东西!:) 您可以开始了解它的并行工作方式,并准备将您的 django 初始经验转移到那里(在 django 中构建可用的东西不会花很长时间)。因此,回答您的 apache 相关问题:
mod_python x mod_wsgi:推荐使用 wsgi,但不确定您的主机是否允许 wsgi,因为它有时需要重新启动 apache(主要是在开始时:))- 我的不允许。
httpd.conf 在哪里:在服务器上,但您无权访问它(apache2.conf 也是如此),因为它是共享的,并且配置适用于所有托管站点,因此您将使用 apache 接受配置的第 3 个位置:
.htaccess
工作区中的文件。httpd.conf 中的几乎所有内容都可以进入 .htaccess,并将成为您站点的本地 conf。通常,您的主目录是您站点的 DocumentRoot。您可以在那里创建目录以用作“子站点”的 DocumentRoot,我认为您最好这样做,这样您就可以拥有多个站点(稍后再找到它们的文件...)。
您可以保存配置,如下所示:<Location "/folder_name"> SetHandler None </Location>
在.htaccess
文件中,而不是 httpd.conf 或sites-enabled
目录中的文件中。例如,要使用 mod_python,您可以使用:
SetHandler mod_python
PythonHandler mod_python.cgihandler
也在文件中.htaccess
。
我希望这可以让你开始“调查”它是如何工作的......但可能你的托管公司有一个关于如何在他们的服务器上执行此操作的教程。
但是一定要使用开发服务器来开始使用 django,否则您将浪费时间在服务器配置上,而不是学习 django,并且 Django 的 Doc 教程是使用开发服务器制作的。
OBS.htaccess
文件是点文件,而不是“扩展名”,例如something.htaccess