При работе с проектом, упоминавшемся в предыдущей статье, для меня имелась дополнительная трудность: веб сервером был Nginx (pronounced "engine x").
Чтобы не тестировать настройки а рабочем сервере, я решил установить тестовую версию на рабочем компьютере (Windows XP / Windows 7).
Конфигурация Nginx хорошо описана, но как запускать (не в окне cmd) сервер и PHP я не сразу разобрался.
А запускать (и nginx.exe и php.exe) можно в качестве Windows-сервиса, используя программу winsw. Тут описана конфигурация: https://github.com/kohsuke/winsw/wiki.
Для каждого сервиса нужна отдельная копия программы и файл конфигурации. Пример для PHP процесса:
<service> <id>php_cgi</id> <name>php_cgi</name> <description>PHP cgi</description> <executable>C:\webserver\php54\php-cgi.exe</executable> <logpath>C:\webserver\php54\winsw</logpath> <logmode>roll</logmode> <depend></depend> <startargument>-b127.0.0.1:9000</startargument> <stop>taskkill /f /IM php-cgi.exe</stop> </service>
Пример для Nginx:
<service> <id>nginx_serv</id> <name>nginx_serv</name> <description>nginx server</description> <executable>C:/webserver/nginx-1.3.7/nginx.exe</executable> <logpath>C:/webserver/nginx-1.3.7/winsw</logpath> <logmode>roll</logmode> <depend></depend> <startargument>-pC:/webserver/nginx-1.3.7</startargument> <stopargument>-pC:/webserver/nginx-1.3.7 -s stop </stopargument> </service>
Установка сервиса:
C:\webserver\nginx-1.3.7\winsw\winsw-1.11-bin.exe install
Удаление (сервис не удалится, пока не будет остановлен):
C:\webserver\nginx-1.3.7\winsw\winsw-1.11-bin.exe install
После того, как установлен тестовый сервер, моим главным вопросом, было: как запретить доступ к определённым папкам сайта? Файлы .htaccess тут не работают и всю конфиграцию нужно прописывать в основном конфиге вэб-сервера.
Запрет на папку выглядит так:
server { <...> location /logs { deny all; } <...> }
И дополнительно - бан по IP:
server { <...> deny 88.444.88.444; <...> }
Комментариев нет:
Отправить комментарий