infinitnet
New Member
Eine Alternative zum direkten Ausliefern von statischen Inhalten über NGINX, wäre, statische Inhalte von NGINX cachen zu lassen. Ersteres wäre zwar besser, aber hier trotzdem ein Beispiel, wie das in etwa bei dir aussehen würde:
In der /etc/nginx/nginx.conf folgendes im http Block einfügen:
Und dann sollten deine vHosts etwa so aussehen:
In der /etc/nginx/nginx.conf folgendes im http Block einfügen:
Code:
http {
[...]
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=nginxcache:10m inactive=6h max_size=1g;
proxy_cache_key "$scheme://$host$request_uri";
gzip on;
gzip_http_version 1.1;
gzip_comp_level 3;
gzip_proxied any;
gzip_min_length 1024;
gzip_buffers 16 8k;
gzip_types text/plain text/css text/javascript application/x-javascript application/xml text/xml;
gzip_disable "MSIE [1-6].(?!.*SV1)";
gzip_vary on;
[...]
}
Code:
server {
include /etc/nginx/sites-enabled/urlfilter.inc;
include /etc/nginx/sites-enabled/useragent.inc;
include /etc/nginx/sites-enabled/ref.inc;
include /etc/nginx/sites-enabled/remote_addr.inc;
include /etc/nginx/sites-enabled/geoip.inc;
location /nginx_status {
stub_status on;
access_log off;
}
#location /phpmyadmin {
# proxy_pass http://127.0.0.1:82/phpmyadmin;
# allow 1.1.1.1;
# deny all;
# }
#location /wi {
# proxy_pass http://127.0.0.1:82/;
# allow 1.1.1.1;
# deny all;
# }
error_page 403 /403.html;
location = /403.html {
root /var/www/sharedip;
}
error_page 502 /502.html;
location = /502.html {
root /var/www/error;
}
# geoip_country GeoIP.dat;
listen 46.4.*.*:80;
listen 46.4.*.*:80;
listen 46.4.*.*:80;
server_tokens off;
access_log /var/log/nginx/reverse.log;
error_log /var/log/nginx/errorreverse.log;
# proxy to Apache 2 and mod_python
location / {
location ~* \.(jpg|png|gif|jpeg|ico|js|css|doc|pdf|xls|ppt|docx|pptx|xlsx|swf|mp3|avi|mp4|m4a|wmv|wma)$ {
proxy_cache_valid 200 4h;
expires max;
proxy_pass http://127.0.0.1:80/;
proxy_cache nginxcache;
}
proxy_pass http://127.0.0.1:80/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 128m;
client_body_buffer_size 128k;
proxy_connect_timeout 180;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_buffer_size 16k;
proxy_buffers 16 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
server {
include /etc/nginx/sites-enabled/urlfilter.inc;
include /etc/nginx/sites-enabled/useragent.inc;
include /etc/nginx/sites-enabled/ref.inc;
include /etc/nginx/sites-enabled/remote_addr.inc;
include /etc/nginx/sites-enabled/geoip.inc;
location /nginx_status {
stub_status on;
access_log off;
}
error_page 403 /403.html;
location = /403.html {
root /var/www/sharedip;
}
error_page 502 /502.html;
location = /502.html {
root /var/www/error;
}
# geoip_country GeoIP.dat;
listen 46.4.*.*:443;
listen 46.4.*.*:443;
listen 46.4.*.*:443;
server_tokens off;
ssl on;
ssl_certificate /usr/local/nginx/conf/cert.crt;
ssl_certificate_key /usr/local/nginx/conf/cert.key;
access_log /var/log/nginx/reverse.log;
error_log /var/log/nginx/errorreverse.log;
# proxy to Apache 2 and mod_python
location / {
location ~* \.(jpg|png|gif|jpeg|ico|js|css|doc|pdf|xls|ppt|docx|pptx|xlsx|swf|mp3|avi|mp4|m4a|wmv|wma)$ {
proxy_cache_valid 200 4h;
expires max;
proxy_pass https://127.0.0.1:443/;
proxy_cache nginxcache;
}
proxy_pass https://127.0.0.1:443/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 128m;
client_body_buffer_size 128k;
proxy_connect_timeout 180;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_buffer_size 16k;
proxy_buffers 16 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}