Ich habe ein kleines Problem damit, Nginx anstelle von Apache zu konfigurieren, damit es Mumble Django an Clients ausliefern kann. Ich habe vhostsKonfigurationen für Apache und Lighttpd- ich stelle sie hier nebeneinander, damit Sie nicht klicken müssen :). Apache2 nutzte WSGI, um Django Python als CGI auszuführen. Lighttpd funktioniert, soweit ich sehe, wie Nginx/PHP-FPM.
Dedizierte Apache2-Vhosts – Konfiguration:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Alias /static/admin/ /usr/share/pyshared/django/contrib/admin/static/admin/
Alias /static/ /srv/mumble-django/htdocs/
Alias /mumble/media/ /srv/mumble-django/pyweb/mumble/media/
WSGIScriptAlias / /srv/mumble-django/mumble-django.wsgi
WSGIDaemonProcess mumble-django threads=25
WSGIProcessGroup mumble-django
WSGIScriptReloading Off
# Cache optimization - not necessarily needed for MD, but nice to have :)
FileETag None
<IfModule mod_headers.c>
Header unset ETag
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=86400, must-revalidate"
</FilesMatch>
<IfModule mod_deflate.c>
# compress content
AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript image/png image/jpeg image/gif
# properly handle requests coming from behind proxies
Header append Vary User-Agent
</IfModule>
</IfModule>
</VirtualHost>
Lighttpd-Konfiguration:
server.document-root = "/usr/local/www/mumble-django"
alias.url = (
"/static" => "/usr/local/www/mumble-django/htdocs/",
"/media" => "/usr/local/lib/python2.6/site-packages/django/contrib/admin/media/"
)
url.rewrite-once = (
"^(/media.*)$" => "$1",
"^(/static.*)$" => "$1",
"^(/.*)$" => "/mumble-django.fcgi$1",
)
fastcgi.server = (
"/mumble-django.fcgi" => (
"" => (
"socket" => "/tmp/mumble-django.sock",
"check-local" => "disable"
)
)
)
Und meine beschämende Nginx-Konfigurationsdatei, die ich konvertiert habe, ist diese:
server {
listen 80;
server_name mumble-web-ui.imanov.name;
server_name_in_redirect on; # SEO: Avoid different host-names!
server_tokens off;
root /home/shehi/www-data/subdomains/mumble_web_ui;
merge_slashes on;
msie_padding on;
client_max_body_size 64M;
index index.php;
error_log /home/shehi/logs/error_log debug;
location /static
{
alias /home/shehi/www-data/subdomains/mumble_web_ui/htdocs/;
internal;
}
location /media
{
alias /home/shehi/www-data/subdomains/mumble_web_ui/pyweb/mumble/media/;
internal;
}
location /
{
# rewrite ^(/.*)$ /mumble-django.fcgi$1 last;
# try_files $uri $uri/ /mumble-django.fcgi$uri;
gzip on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
include fastcgi_params;
}
}
Anscheinend endet meine Konfiguration in Endlosschleifen:
http://mumble-web-ui.imanov.name/mumble/mumble/.. .../mumble/mumble/
Also, kurz gesagt, was mache ich hier falsch? Vielen Dank im Voraus für jede Hilfe!