Конфигурация двух виртуальных хостов на nginx

Автор Itworkroom

В статье показано как сделать простейшую конфигурация двух виртуальных хостов на веб сервере nginx:

ставим из репозиторий «dotdeb»
/etc/apt/sources.list
deb http://packages.dotdeb.org stable all
импортируем ключ dotdeb’а:
wget http://www.dotdeb.org/dotdeb.gpg -O — -q | sudo apt-key add —
Обновляем список пакетов
apt-get update
Устанавливаем необходимые пакеты для веб сервера, в том числе интерпретатор PHP (php5-fpm), в роли бекенда (backend) сайта:
apt-get install php5 php5-fpm php-pear php5-common php5-mcrypt php5-mysql php5-cli php5-gd php5-dev nginx mysql-server unzip
/etc/php5/fpm/php-fpm.conf
pm.max_children = 25
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 10
pm.max_requests = 500Указываем, чтобы php-fpm работал через сокет (а не через :9000 порт)
/etc/php5/fpm/pool.d/www.conf
listen = 127.0.0.1:9000 -> listen = /tmp/fastcgi.socket
И перезапустим php-fpm:
/etc/init.d/php5-fpm restart
Создаем новые виртуальные хосты:
$ touch /etc/nginx/sites-available/site1
$ touch /etc/nginx/sites-available/site2

$ ln -s /etc/nginx/sites-available/site1 /etc/nginx/sites-enabled/site1
$ ln -s /etc/nginx/sites-available/site2 /etc/nginx/sites-enabled/site2

Теперь редактируем созданный файл

$ gedit /etc/nginx/sites-available/site1
server {
listen 80;
server_name site1;

access_log /var/log/nginx/site1.access_log;
error_log /var/log/nginx/site1.error_log;

root /var/www/site1;
index index.php;

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

location ~ \.php {
fastcgi_pass unix:/tmp/fastcgi.socket;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~ \.(tpl|xml|log)$ {
deny all;
}
}
Редактируем второй файл

$ gedit /etc/nginx/sites-available/site2

server {
listen 80;
server_name site2;

access_log /var/log/nginx/site2.access_log;
error_log /var/log/nginx/site2.error_log;

root /var/www/site2;
index index.php;

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

location ~ \.php {
fastcgi_pass unix:/tmp/fastcgi.socket;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~ \.(tpl|xml|log)$ {
deny all;
}
}
Соответственно в каталогах /var/www/site1; /var/www/site2; должны лежать содержимое сайтов.

One comment on “Конфигурация двух виртуальных хостов на nginx

  1. Pingback: Настройка ротации log файлов (logrotate) |

Добавить комментарий

Ваш адрес email не будет опубликован.