Nginx: Настройка блоков server в Debian 7
Debian, VPS | Комментировать запись
Что такое блок server?
По сути, блок server – это название виртуального хоста Nginx, который позволяет запустить более одного сайта на одном виртуальном выделенном сервере.
1: Настройка сервера
Для выполнения данного руководства нужен пользователь с root-привилегиями. Чтобы узнать, как создать такую учетную запись, читайте руководство по настройке сервера.
Обратите внимание: имя пользователя user в приведенных ниже командах нужно заменять именем своего пользователя.
Кроме того, нужно установить Nginx. Если данный веб-сервер еще не установлен, используйте команду:
sudo apt-get install nginx
Примечание: чтобы убедиться, что виртуальный хост работает, нужно указать утвержденный домен или IP-адрес. В данном руководстве будет использоваться example.com; замените данное доменное имя собственным.
2: Создание нового каталога
Теперь нужно создать каталог для хранения информации нового сайта. В Apache это Document Root виртуального конфигурационного файла.
При помощи флага –р команда автоматически сгенерирует все родительские каталоги (т.е., каталоги верхнего уровня) для нового каталога.
sudo mkdir -p /var/www/example.com/public_html
3: Привилегии на каталог
Очень важно передать все права на каталог правильному пользователю. Если этого не сделать, то обладателем будет считаться root.
Для этого выполните данные команды:
sudo chown -R user:user /var/www/generic.com/public_html
sudo chmod 755 /var/www
Первая команда гарантирует, что каталог принадлежит нужному пользователю, а вторая также дает права не чтение новых файлов всем желающим пользователям.
4: Создание страницы сайта
Для редактирования конфигураций сервера в данном руководстве используется текстовый редактор nano. Как правило, он проще остальных текстовых редакторов. Тем не менее, можно использовать любой удобный редактор, например, vi.
Итак, теперь в только что созданном каталоге нужно создать новый файл, index.html:
sudo nano /var/www/example.com/public_html/index.html
В него нужно внести следующий текст, чтобы при открытии на странице был какой-то контент:
<html>
<head>
<title>www.example.com</title>
</head>
<body>
<h1>Success: You Have Set Up a Virtual Host</h1>
</body>
</html>
Сохраните и закройте файл.
5: Создание нового виртуального хоста
На данном этапе нужно создать новый файл, который будет содержать всю информацию виртуального хоста.
К счастью, Nginx предоставляет макет такого файла в каталоге sites-available (/etc/nginx/sites-available). Все, что нужно сделать, – просто скопировать текст в новый пользовательский файл.
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com
6: Виртуальные хосты
Откройте новый виртуальный хост, содержащий все необходимые настройки.
sudo nano /etc/nginx/sites-available/example.com
в этот файл нужно внести несколько простых изменений:
server {
listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default ipv6only=on; ## listen for ipv6
root /var/www/example.com/public_html;
index index.html index.htm;
# Make site accessible from http://localhost/
server_name example.com;
}
Данный блок кода:
- раскомментирует строку listen 80, благодаря чему весь трафик, поступающий через этот порт, будет направлен на сайт;
- делает каталог, созданный в разделе 1, root-кталогом. Если root указан неверно или отсутствует, настроить виртуальный хост будет невозможно;
- заменяет server name доменным именем или IP-адресом.
Сохраните изменения и закройте файл.
В завершение нужно активировать хост. Для этого создайте символическую ссылку между каталогами sites-available и sites-enabled. Будьте внимательны: многие пользователи забывают об этом. Просто выполните команду:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
Чтобы избежать ошибки Conflicting Server Name и убедиться, что на сайте отображается правильный контент, удалите блок server по умолчанию.
sudo rm /etc/nginx/sites-enabled/default
7: Перезапуск Nginx
Так как сервер получил множество новых настроек, необходимо перезапустить его, чтобы активировать все внесенные изменения.
sudo service nginx restart
8: Выход в сеть
Завершив настройку виртуального хоста, введите доменное имя или IP-адрес в браузер. Если все выполнено верно, появится сообщение вроде «Success — You Have Set Up a Virtual Host».
Готово! Теперь, чтобы добавить еще один виртуальный хост, просто повторите процесс, описанный в данном руководстве, используя новые значения и доменное имя.
Tags: Debian, Debian 7, Linux, NGINX, VPS