我目前可以在我的Apache服务器上通过mod_wsgi或PHP运行Django。
我的Django项目在以下位置运行:http:// localhost,源代码在C:/ django_proj
我的PHP项目在以下位置运行:http://php.localhost,源代码在C:/ web
如果同时打开,则php.localhost和localhost转到Django项目。我已经通过Apache虚拟主机设置了它们。
这是httpd.conf中的一些相关行:
DocumentRoot "C:/web" <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> <Directory "C:/web"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> <Directory "C:/django_proj"> Order allow,deny Allow from all </Directory> Include "C:/django_proj/apache/apache_django_wsgi.conf"
相关行apache_django_wsgi.conf是:
apache_django_wsgi.conf
WSGIScriptAlias / "C:/django_proj/apache/proj.wsgi" <Directory "C:/django_proj/apache"> Order allow,deny Allow from all </Directory>
在httpd-vhosts.conf内部:
httpd-vhosts.conf
<Directory C:/web> Order Deny,Allow Allow from all </Directory> <Directory C:/django_proj> Order Deny,Allow Allow from all </Directory> <VirtualHost *:80> DocumentRoot "C:/django_proj" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/web" ServerName php.localhost </VirtualHost>
我的PHP项目目前无法访问。有谁知道我缺少什么?
我使用单个Apache运行了数十个mod_wsgi / Django站点,PHP站点和Rails站点。
这主要是使用虚拟主机完成的,但我有一些虚拟主机都在同一域上运行。
你只需要将其放在WSGIScriptAlias /...其他任何Location / Alias指令之后。
WSGIScriptAlias /...
比方说,例如,我想在与Django站点相同的域上运行phpMyAdmin。配置看起来像这样:
Alias /phpmyadmin /full/path/to/phpmyadmin/ <Directory /full/path/to/phpmyadmin> Options -Indexes ...etc... </Directory> WSGIScriptAlias / /full/path/to/django/project/app.wsgi <Directory /full/path/to/django/project> Options +ExecCGI ...etc... </Directory>
编辑:
你的配置应如下所示:
<VirtualHost *:80> DocumentRoot "C:/django_proj" ServerName localhost WSGIScriptAlias / "C:/django_proj/apache/proj.wsgi" <Directory "C:/django_proj/apache"> Options +ExecCGI Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/web" ServerName php.localhost Alias / C:/web <Directory C:/web> Options Indexes FollowSymLinks AllowOverride None Order Deny,Allow Allow from all </Directory> </VirtualHost>
你不需要<Directory>在http.conf…中使用这些指令即可在虚拟主机中进行所有配置。
<Directory>
此外,完全摆脱<Directory />障碍。
<Directory />