如何在一台Apache服务器上同时运行Django和PHP?

我目前可以在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是:

WSGIScriptAlias / "C:/django_proj/apache/proj.wsgi"

<Directory "C:/django_proj/apache">

Order allow,deny

Allow from all

</Directory>

在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指令之后。

比方说,例如,我想在与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 />障碍。

以上是 如何在一台Apache服务器上同时运行Django和PHP? 的全部内容, 来源链接: utcz.com/qa/401589.html

回到顶部