Apache 대신 Nginx를 구성하여 Mumble Django를 클라이언트에 제공하는 데 약간의 문제가 있습니다. 나에겐 가상 호스트가 있다Apache와 Lighttpd 모두에 대한 구성- 클릭 수를 줄이기 위해 여기에 나란히 놓겠습니다 :). Apache2는 WSGI를 활용하여 Django Python을 CGI로 실행했습니다. 내가 보기에 Lighttpd는 Nginx/PHP-FPM처럼 작동합니다.
전용 Apache2 가상 호스트 - 구성:
<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 구성:
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"
)
)
)
그리고 제가 변환한 부끄러운 Nginx 구성 파일은 다음과 같습니다.
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;
}
}
분명히 내 구성은 무한 루프로 끝납니다.
http://mumble-web-ui.imanov.name/mumble/mumble/.. .../mumble/mumble/
간단히 말해서, 내가 여기서 뭘 잘못하고 있는 걸까요? 미리 도움을 주신 모든 분들께 감사드립니다!