Бортовой журнал Ктулху

Настройка виртуальных хостов на nginx

Опишу кратко. Только пример конфига и краткое описание.

 

Основные настройки

sudo apt-get install nginx php5-fpm

 

Переходим в /etc/nginx/sites-available.

Первым делом, нужно научить nginx понимать php-файлы.

Открываем default.

Раскомментируем секцию, которая начинается с location ~ \.php$

Должно получиться что-то вроде этого.

location ~ \.php$ {
 try_files $uri =404;
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
 fastcgi_index index.php;
 include fastcgi_params;
 }

 

Затем, нужно серверу указать домен, к которому будет привязан

# Make site accessible from http://localhost/
server_name example.com;

 

Указать типы и названия файлов

index index.php  index.html index.htm;

 

Указать каталог www

root /usr/share/nginx/test;

 

Виртуальные хосты

server {
 listen 80;
 server_name example example.com;
 root /usr/share/nginx/example.com;
 index index.php index.html index.htm;
location ~ \.php$ {
 try_files $uri =404;
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_pass unix:/var/run/php5-fpm.sock;
 fastcgi_index index.php;
 include fastcgi_params;
 }
 }

Прочее

 

Скрыть версию nginx

Для того чтобы скрыть версию nginx нужно в конфигурационном файле nginx.conf в секцию httpдобавить строчку:

server_tokens off;

 

 Запрет исполнения скриптов в определенной папке

/etc/nginx/sites-available/default

Перед 

location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}

разместить такой код

location ~* ^/(images|logs)/.+\.(php|php3|php4|php5|phtml|phps|pl|pm)$ {
deny all;
}

 

Вложения:
ФайлОписаниеРазмер файла:
Скачать этот файл (default.txt)default.txt 2 Кб