Добавляем доменное имя для сайта размещенного на VPS
Это вторая часть по теме как разместить сайт разработанный с использование Laravel и Sail на VPS.
Шаг 1. Покупка имени и настройка DNS
Начать стоит с покупки доменного имени. Я его покупал на рег.ру . Этот процесс интуитивно понятный, поэтому каких либо проблем с ним у Вас возникнуть не должно.
Далее Вам необходимо настроить DNS, данное действие я тоже не вижу смысла описывать, но в случае чего пишите.
Обратите внимание, что после изменения DNS, должно пройти какое-то время ( может быть от часа и до суток) прежде чем DNS обновиться, поэтому даже если правильно выполнить следующие шаги, сайт может не загружаться так как DNS еще не “готов”.
Шаг 2. Установка NGINX
Nginx — это веб-сервер с открытым исходным кодом, который также может выполнять функции обратного прокси-сервера, балансировщика нагрузки и HTTP-кэша.
Теперь можно подключиться по ssh к VPS( не с рут пользователя, а с того, который мы создавали в прошлой части). И пишем следующие команды:
sudo apt update
sudo apt install nginx
Шаг 3. Редактируем хост файл
Теперь нам необходимо, прописать наш сайт в хост файл. Открываем его:
sudo nano /etc/hosts
И добавляем строчку:
0.0.0.0 example.com
Нажимаем Ctrl+O и Enter чтобы сохранить изменения, а после Ctrl+X, для того чтобы выйти из редактора nano.
Шаг 4. Создания конфига NGINX
Создаем новый файл конфигурации в где мы укажем при каком имени должен открываться сайт:
sudo nano /etc/nginx/sites-available/example.com.conf
В моем случае это:
sudo nano /etc/nginx/sites-available/junior-blog.ru.conf
Теперь нам необходимо его заполнить, с помощью Ctrl+Shift+V вставляем следующий текст:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://0.0.0.0:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Здесь мы говорим, что NGINX должен слушать 80 порт и когда у нас идет запрос example.com
он должен вернуть http://0.0.0.0:80
. При этом обратите внимание, что нули мы оставляем без изменений, но проверьте на каком порту открывается ваше приложение, там может быть не 80 (по умолчанию идет 80, но можно было самому поменять и забыть об этом)
Теперь сделайте символическую ссылку в `sites-enabled`
В Nginx конфигурация виртуальных хостов (или сайтов) обычно хранится в директории `/etc/nginx/sites-available`, а активные конфигурации — в директории `/etc/nginx/sites-enabled`. Символическая ссылка (или symlink) из `sites-available` в `sites-enabled` позволяет управлять активными конфигурациями более удобно.
Зачем использовать символические ссылки:
- Управление конфигурациями: Хранение конфигураций в `sites-available` позволяет вам иметь несколько конфигураций, из которых вы можете активировать или деактивировать любые по мере необходимости, просто создавая или удаляя символические ссылки.
- Упрощение процесса активации/деактивации: Чтобы активировать сайт, достаточно создать символическую ссылку, а чтобы деактивировать — удалить её. Это проще, чем копировать или перемещать файлы конфигурации.
- Организация: Это помогает поддерживать порядок в конфигурациях, так как все активные сайты находятся в одной директории (`sites-enabled`), а не разбросаны по разным местам.
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
Теперь можно перезапустить nginx:
sudo systemctl restart nginx
Вот и все на этом моменте сайт должен быть доступен по доменному имени. Спасибо за внимание
Похожие статьи
Деплой Laravel Sail приложения на VPS
Цель этого туториала — разместить приложение, разработанное на Laravel 11, на VPS. Проект создан с использованием Docker и Laravel Sail
Читать дальше...