我希望部署一个Django项目以在用户计算机上本地运行。
我已经研究了哪些网络服务器可用于运行该项目,并且由于它将在Windows环境中运行,因此只有我尝试使用IIS和Apache(WAMP)。 Django项目在开发模式(runserver)下运行良好。使用未编译的代码版本时,它也可以在两个Web服务器上正常运行。
当我尝试使用Pyinstaller打包项目时出现问题。在构建.exe时,我必须更改Web服务器运行项目的方式。
在IIS中,使用wfastcgi实际上可以很好地工作,我只是将wfastcgi用作Pyinstaller构建的目标,并将IIS设置为运行此.exe。但是IIS需要配置一些其他设置,而我一直在努力寻找一种自动设置这些设置的方法,因此,我尝试使用Apache。
如上所述,仅使用源代码和wsgi.py时Apache可以正常工作。下面是我在httpd.conf文件中具有的示例。
# Apache httpd.conf settings
LoadModule wsgi_module "C:/Program Files (x86)/Python36-32/Lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win32.pyd"
WSGIScriptAlias / "C:/mysite/wsgi.py"
WSGIPythonHome "c:/Program Files (x86)/python36-32"
WSGIPythonPath "C:/mysite"
Alias /static/ "C:/mysite/static/"
<Directory "C:/mysite/static">
Require all granted
</Directory>
<Directory "C:/mysite">
<Files wsgi.py>
Require all granted
</files>
</Directory>
我现在需要做的是让Apache运行该项目的打包版本,这就是我要坚持的地方。我尝试使用wsgi.py作为目标来构建项目,Apache服务全部启动,但是当尝试访问该站点时将返回带有“ 500 Internal Server Error”的页面。
所以我的问题是,您是否可以配置Apache以启动.exe文件而不是.py文件,以便Python运行网站?