Re: Популяризация nginx среди нерусскоязычного населения :-)
Alex Kitschkiruk
rusnginx at gmail.com
Thu Apr 20 11:54:22 MSD 2006
У меня простейший пример.
Nginx работает фронтом, отдает статику.
user wwwrun www;
worker_processes 3;
error_log /usr/local/nginx/logs/error.log warn;
events {
connections 2000;
use epoll;
}
http {
include conf/mime.types;
default_type application/octet-stream;
gzip on;
gzip_min_length 1100;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_types text/plain text/html;
log_format main '%addr - - [%time] "%request" %status '
'%length "%{Referer}i" "%{User-Agent}i" '
'"%gzip_ratio"';
log_format download '%addr - - [%time] "%{remote_user}v" "%request"
%status '
'%length "%{Referer}i" "%{User-Agent}i" '
'"%{Range}i" "%{Content-Range}o"';
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
connection_pool_size 256;
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
request_pool_size 4k;
output_buffers 1 32k;
postpone_output 1460;
sendfile on;
tcp_nodelay on;
tcp_nopush on;
keepalive_timeout 75 20;
client_max_body_size 10m;
client_body_buffer_size 256k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_header_buffer_size 4k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;
error_page 502 503 504 403 401 /403.html;
error_page 404 /404.html;
proxy_redirect_errors on;
log_not_found off;
autoindex_exact_size off;
# confixx
server {
listen 80;
server_name server1.com;
location / {
proxy_pass http://XXX.XXX.XXX.XXX:8080/;
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;
access_log /usr/local/nginx/logs/access_confixx.log main;
allow MY.IP.FOR.ADMIN;
allow 127.0.0.1;
deny all;
}
location /404.html {
root /usr/local/nginx/html;
}
location /403.html {
root /usr/local/nginx/html;
}
location ~ /\.ht {
deny all;
}
}
# web1
server {
listen 80;
server_name server2.com www.server2.com;
access_log /usr/local/nginx/logs/access_web1.log main;
location / {
proxy_pass http://XXX.XXX.XXX.XXX:8080/;
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;
}
location /403.html {
root /usr/local/nginx/html;
access_log off;
}
location /404.html {
root /usr/local/nginx/html;
access_log off;
}
location ~* ^.+\.(cgi|pl)$ {
proxy_pass http://XXX.XXX.XXX.XXX:8080/;
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;
}
location ~*
^.+\.(jpg|jpeg|gif|png|ico|mpg|avi|mp3|css|swf|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|mpeg|js)$
{
root /srv/www/htdocs/web1/html;
access_log off;
}
location ~ /\.ht {
deny all;
}
}
# web2
server {
listen 80;
server_name server3.com www.server3.com;
location / {
proxy_pass http://XXX.XXX.XXX.XXX:8080/;
proxy_redirect off;
access_log /usr/local/nginx/logs/access_web2.log main;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ^~ /download/ {
valid_referers none server_names *.server3.com/;
if ($invalid_referer) {
return 403; }
root /srv/www/htdocs/web2/html;
autoindex on;
auth_basic "Priwet!!!";
auth_basic_user_file /usr/local/nginx/conf/passwd;
access_log /usr/local/nginx/logs/access_web2_download.log
download;
}
location /403.html {
root /usr/local/nginx/html;
access_log off;
}
location /404.html {
root /usr/local/nginx/html;
access_log off;
}
location ~*
^.+\.(jpg|jpeg|gif|png|ico|mpg|avi|mp3|css|swf|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|mpeg|js)$
{
root /srv/www/htdocs/web2/html;
access_log off;
expires 30d;
}
location ~ /\.ht {
deny all;
}
}
}
Плюс в апаче такие изменения:
Listen 8080
LoadModule rpaf_module /usr/lib/apache2/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips 127.0.0.1 XXX.XXX.XXX.XXX
RPAFsethostname On
Ну и для запрета на определенные файлы только с одного IP:
<Files "admin.php">
SetEnvIf X-Real-IP ^111\.222 TRUSTED
Allow from env=TRUSTED
Deny from All
</Files>
18.04.06, RaPaMaN <rapaman at virthost.net> написал(а):
>
> В сообщении от Tuesday 18 April 2006 20:11 Vitaly Puzrin написал(a):
> > AP> On 4/18/06, Eugene <my-subscr at mail.ru> wrote:
> > Видимо, есть смысл какой-нибудь опрос устроить среди самых горячих
> > парней, зачем им nginx с php - для предоставления веб-хостинга, когда
> > клиенты сами все должны корежить, или для того чтобы собственные сайты
> > крутить. Иначе можно до драки договориться на ровном месте :)
>
> Присылайте интересующие варианты вопроса и ответа - я оформлю на
> nginx.info
> опрос с пристрастием :) Посмотрим на мнение народа.
>
> С Уважением,
> Дмитрий.
>
> --
> Информационный портал о вэб-сервере nginx - http://www.nginx.info
> Удаленное администрирование серверов -
> http://remote-admin-service.encrypted-life.net
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20060420/5d76771c/attachment.html>
More information about the nginx-ru
mailing list