parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

парочка более вменяемых конфигураций parser+nginx

Sergey M. 17.06.2011 00:37 / 17.06.2011 06:34

"классический" вариант:
server {
	listen	80;
	server_name  parser.test;
	root   /var/www/test/html;

	location / {
		index  index.html;
	}

	# назначение обработчиком .html страниц:
	location ~ \.html$ {
		# отдаем парсеру только реально существующие файлы
		try_files      $uri	=404;

		fastcgi_pass   unix:/var/run/fcgiwrap.socket;
				
		fastcgi_param  SCRIPT_NAME  $request_uri;
		fastcgi_param  SCRIPT_FILENAME  /var/www/test/cgi/parser3.cgi;
		fastcgi_param  PATH_INFO    $fastcgi_script_name;
		fastcgi_param  PATH_TRANSLATED /var/www/test/html$fastcgi_script_name;

		include fastcgi_params;
	}

	# запрет на доступ к .cfg и .p файлам:
	location ~ \.(p|cfg|dir|pag)$ {
		deny all;
	}
}
вариант с реврайтом на один файл-обработчик:
server {
	listen	80;
	server_name  parser.test;
	
	location / {
		root	/var/www/test/html;
		
		# добавляем trailing slash, на любителя
		rewrite ^([^.]*[^/])$ $1/ permanent;
		
		# если файл существует отдаем его, иначе перенаправляем парсеру
		try_files	$uri	@backend;
	}
	
	location @backend {
		# файл-обработчик doc.html можно хранить "вне веб пространства"
		root	/var/www/test/script;

		fastcgi_pass   unix:/var/run/fcgiwrap.socket;
				
		fastcgi_param  SCRIPT_NAME  $request_uri;
		fastcgi_param  SCRIPT_FILENAME  /var/www/test/cgi/parser3.cgi;
		fastcgi_param  PATH_INFO    /doc.html;
		fastcgi_param  PATH_TRANSLATED /var/www/test/script/doc.html;
		
		# uri приходит в скрипт параметром request
		fastcgi_param  QUERY_STRING     request=$uri&$args;

		include fastcgi_params;
	}
}