Alors,
J'ai aussi modifié la conf initial un peu dans le même genre.
Déjà, si tu fais par sous domaines, il y a pas mal de directive qui se répètent, le mieux c'est de faire un fichier de conf avec celles-ci.
Le plus simple c'est de te décrire ma conf ^^.
base => nginx.conf
root@xcid /e/nginx# cat nginx.conf
user www-data;
worker_processes auto;
pid /var/run/nginx.pid;
events { worker_connections 1024; }
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/access.log main;
error_log /var/log/nginx/error.log crit;
sendfile on;
keepalive_timeout 20;
keepalive_disable msie6;
keepalive_requests 100;
tcp_nopush on;
tcp_nodelay off;
server_tokens off;
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 5;
gzip_disable "msie6";
gzip_min_length 20;
gzip_proxied any;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_vary on;
include /etc/nginx/sites-enabled/*.conf;
ssl_certificate /etc/nginx/certs/ssl-unified.crt;
ssl_certificate_key /etc/nginx/certs/ssl2.key;
}
Comme tu peux le voir, j'ai mis mes certificats dedans, comme ca plus besoin de les déclarer, et j'ai fais pointer vers /etc/nginx/sites-enabled/*.conf et non conf.d (question de goûts ^^)
En gros cela donne :
nginx => sites-enabled => conf.d
un exemple de sites-enabled:
server {
listen 80;
server_name xcid.fr;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 80;
listen 444 ssl;
server_name xcid.fr;
root /var/www/normal;
include /etc/nginx/conf.d/commons;
access_log /var/log/nginx/rutorrent.access.log main;
error_log /var/log/nginx/rutorrent.error.log crit;
auth_basic "xcid";
auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd";
location ^~ / {
include /etc/nginx/conf.d/php;
include /etc/nginx/conf.d/cache;
include /etc/nginx/conf.d/rutorrent;
}
location /downloads {
autoindex on;
}
}
La je fais référence à 4 conf.d :
include /etc/nginx/conf.d/commons;
include /etc/nginx/conf.d/php;
include /etc/nginx/conf.d/cache;
include /etc/nginx/conf.d/rutorrent;
le commons rassemble les trucs qui se répètent (index,charset, etc)
php et cache sont ceux du tutos et rutorrent, il y a toute les directives avec les sockets etc
et c'est la que j'ai mis la fameuse :
location ^~ /rutorrent/plugins/ {
include /etc/nginx/conf.d/php;
access_log off;
log_not_found off;
}
Voila, je vais tenter de comprendre pourquoi ca marche pas sur ta conf tout de même ^^
Par exemple pour le ssl tu devrais simplement faire (avec les certificats dans nginx.conf 🙂)
server {
listen 80;
listen 443 ssl;
server_name www.seedbox.ratbox.nl;
index index.html index.php;
charset utf-8;
access_log /var/log/nginx/rutorrent.access.log main;
error_log /var/log/nginx/rutorrent.error.log crit;
error_page 500 502 503 504 /50x.html;
location = /50x.html { root /usr/share/nginx/html; }
auth_basic "Seedbox";
auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd";
location = /var/www/rutorrent/favicon.ico {
access_log off;
return 204;
}
## début config rutorrent ##
location ^~ / {
root /var/www/rutorrent;
include /etc/nginx/conf.d/php;
include /etc/nginx/conf.d/cache;
location ~ /\.svn {
deny all;
}
location ~ /\.ht {
deny all;
}
}
location ^~ /rutorrent/conf/ {
deny all;
}
location ^~ /rutorrent/share/ {
deny all;
}
location /EXR0 {
include scgi_params;
scgi_pass 127.0.0.1:5001;
auth_basic "Seedbox";
auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_exrat";
}
## fin config rutorrent ##
Ça évite les doublons