我在configurationNginx代替Apache时遇到了一些问题,所以它为客户端提供了Mumble Django服务。 我有vhosts configuration为Apache和Lighttpd – 让我把他们放在这里并排,为您节省点击:)。 Apache2利用WSGI作为CGI运行Django Python。 就我所见,Lighttpd就像Nginx / PHP-FPM一样工作。
专用的Apache2虚拟主机 – configuration:
<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>
Lighttpdconfiguration:
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" ) ) )
而我转换的可耻的Nginxconfiguration文件是这样的:
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; } }
显然,我的configuration以无限循环结束:
http://mumble-web-ui.imanov.name/mumble/mumble/.. .../mumble/mumble/
所以,总之,我在这里做错了什么? 谢谢大家提前一切帮助!