Правильна ли конфигурация?
Igor Sysoev
is at rambler-co.ru
Sat Dec 20 16:16:49 MSK 2008
On Sat, Dec 20, 2008 at 03:48:07PM +0300, Serguei V. Melekhov wrote:
> Хотел спросить верно ли всё делаю. Есть сайт со страницами
> пользователей где в бэкенде стоит апач
>
>
> <VirtualHost xx.xx.xx.xx:8087>
> ServerName name.domain.ru
> DocumentRoot /var/www/name.domain.ru/vnames
> RewriteEngine on
> RewriteRule ^(.*)$
> /var/www/name.domain.ru/vnames/htdocs/script.php?user=%{HTTP_HOST}&url=$1
> [L]
> Options FollowSymLinks
> </VirtualHost>
>
>
> хочу заменить это на связку ngnix + fastcgi где бэкенд вообще другая
> машина для чего делаю следующее
>
>
> server {
> listen 80;
> server_name *.domain.ru;
> charset windows-1251;
>
> access_log off;
>
> error_page 500 502 503 504 /50x.html;
> location = /50x.html {
> root /usr/local/nginx/html;
> }
>
> error_page 404 = /404.php;
>
> location / {
>
> fastcgi_pass backend:9090;
> rewrite ^(.*)$ ?user=$host&url=$1 last;
>
> fastcgi_connect_timeout 30;
> fastcgi_send_timeout 300;
> fastcgi_read_timeout 300;
>
> fastcgi_param SCRIPT_FILENAME
> /var/www/name.domain.ru/vnames/htdocs/script.php;
> fastcgi_ignore_client_abort on;
>
> fastcgi_param DOCUMENT_ROOT $document_root;
> fastcgi_param PATH_TRANSLATED
> /var/www/name.domain.ru/vnames/htdocs/script.php;
> fastcgi_param QUERY_STRING $query_string;
> fastcgi_param REMOTE_ADDR $remote_addr;
>
> fastcgi_param REQUEST_METHOD $request_method;
> fastcgi_param CONTENT_TYPE $content_type;
> fastcgi_param CONTENT_LENGTH $content_length;
>
> fastcgi_param SCRIPT_NAME $fastcgi_script_name;
> fastcgi_param REQUEST_URI $request_uri;
> fastcgi_param DOCUMENT_URI $document_uri;
> fastcgi_param SERVER_PROTOCOL $server_protocol;
> fastcgi_param GATEWAY_INTERFACE CGI/1.1;
> fastcgi_param REMOTE_PORT $remote_port;
> fastcgi_param SERVER_ADDR $server_addr;
> fastcgi_param SERVER_PORT $server_port;
> fastcgi_param SERVER_NAME $server_name;
> fastcgi_param HTTP_X_REAL_IP $remote_addr;
>
> fastcgi_buffer_size 4k;
> fastcgi_buffers 16 32k;
> }
> }
>
> Вопрос всё ли верно сделано? Есть ли более правильные способы?
rewrite не нужен:
rewrite ^(.*)$ ?user=$host&url=$1 last;
а нужно передавать это прямо в QUERY_STRING:
fastcgi_param QUERY_STRING user=$host&url=$request_uri;
И ещё, вот это:
error_page 404 = /404.php;
в данной конфигурации бессмысленно.
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list