Python 是否有一个典型的mod_wsgi项目目录?
我按照优秀的教程安装了Apache、mod_wsgi和Django。所有这些教程都将python虚拟环境和Django项目的位置留给开发人员,但我想知道是否有选择适当位置的最佳实践。例如,本教程建议在用户的主目录中创建虚拟环境:Python 是否有一个典型的mod_wsgi项目目录?,python,django,apache,mod-wsgi,Python,Django,Apache,Mod Wsgi,我按照优秀的教程安装了Apache、mod_wsgi和Django。所有这些教程都将python虚拟环境和Django项目的位置留给开发人员,但我想知道是否有选择适当位置的最佳实践。例如,本教程建议在用户的主目录中创建虚拟环境: mkdir ~/myproject cd ~/myproject virtualenv myprojectenv 及 (Python 3.4明智地放弃了virtualenv,用自动创建的特定于版本的pyvenv-3.4替换它) 既然Apache成功地显示了Django
mkdir ~/myproject
cd ~/myproject
virtualenv myprojectenv
及
(Python 3.4明智地放弃了virtualenv
,用自动创建的特定于版本的pyvenv-3.4
替换它)
既然Apache成功地显示了Django 1.8启动页面(“开始工作!”),我想把项目放在一个比我的主目录更适合生产环境的位置。选择包括:
1) Apache ServerRoot/etc/httpd
——这是我的第一个想法,只是/etc(应该?)只用于配置信息,而不是安装的软件
2) 将其保留在我的主目录中/home/username/myproject
——这是不可取的,因为我不希望授予httpd读取我的主目录的权限,也不希望在以我的身份登录时意外地破坏项目
3) 在/home中创建项目目录,例如/home/myproject
或/home/web/myproject
,而不为myproject
或web
创建用户帐户。这是我当前的首选选项,但在/home中有不属于用户的目录似乎有点奇怪。项目中的所有文件都将由root:apache
所有,对apache守护进程具有只读权限,对world没有权限
4) 在其他地方,如/bin
、/lib
或/lib64
,这些似乎都不是特别合适的
5) DocumentRoot/var/www
-绝对不是
那么,对于在Linux服务器上的何处设置生产Django项目,是否有任何最佳实践约定?服务器上运行的特定于站点的服务应位于/srv
下
在您的情况下,这可能是/srv/django/myproject
WSGIDaemonProcess myproject python-path=/home/user/myproject:/home/user/myproject/myprojectenv/lib/python2.7/site-packages