Ich kann derzeit entweder Django über mod_wsgi oder PHP auf meinem Apache-Server ausführen.Wie kann ich Django und PHP zusammen auf einem Apache-Server ausführen?
Meine Django-Projekte laufen an: http://localhost und Quelle ist unter C:/django_proj
Meine PHP-Projekte laufen an: http://php.localhost und Quelle ist unter C:/web
Wenn ich beide einschalten, php. localhost und localhost gehen zum Django-Projekt. Ich habe sie bereits über virtuelle Apache-Hosts eingerichtet.
Hier sind einige relevante Linien in 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"
die entsprechenden Zeilen in apache_django_wsgi.conf
ist:
WSGIScriptAlias/"C:/django_proj/apache/proj.wsgi"
<Directory "C:/django_proj/apache">
Order allow,deny
Allow from all
</Directory>
Innen 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>
Meine PHP-Projekt ist derzeit nicht zugänglich. Hat jemand irgendwelche Ideen was mir fehlt?
Das ist gut zu wissen, aber ich möchte, dass meine Django-Projekt-zu-Punkt y Hauptdomäne, während mein PHP-Projekt auf eine Sub-Domain, zum Beispiel: http: // localhost -> My Django Proj http: //php.localhost -> Mein PHP Proj Wissen Sie, wie ich das oben genannte erreichen kann, habe ich bereits die oben genannten virtuellen Hosts. –
Sie müssen Ihre und Direktiven in die entsprechenden Blöcke setzen. Mit anderen Worten, setzen Sie WSGIScriptAlias in den Block, in dem ServerName localhost ist. Ich werde es klarer machen, indem ich meine Antwort bearbeite. –
Danke für Ihre Hilfe, es funktioniert. Ich habe das "Alias / C:/web" entfernt und es funktioniert jetzt gut. Ich habe auch die Verzeichnisblöcke aus httpd.conf herausgenommen. –