Каков эквивалент localhost в Debian с использованием nginx?

Вопрос или проблема

Каждое руководство по конфигурации nginx, которое я нахожу, связано с настройкой сервера для, скажем, example.com. Но у меня нет доменного имени, и я хочу настроить локальный DNS, что-то вроде localhost в Windows с Apache, который идет с XAMPP. Я хочу создать два порта, которые, я полагаю, это серверные блоки в nginx. Один из портов предназначен для API, другой порт предназначен для фронтенда. Я создал два файла:

/etc/nginx/conf.d/chubak.conf:

server {
        listen 85;
        server_name chubak.com;
        access_log /srv/logs/vue.access.log;
        error_log /srv/logs/vue.error.log;
        gzip_static on;
# root /srv/default;
        root /var/www/chubak.com/html;
        index index.html;
        location / {
                add_header 'Access-Control-Allow-Origin' '*';
                try_files $uri $uri/ /index.html;
        }

И /etc/nginx/conf.d/api.chubak.conf:

server {
        listen 180;
        server_name api.chubak.com;
        access_log /var/www/api.chubak.com/logs/api.access.log;
        error_log /var/www/api.chubak.com/logs/api.error.log;
        root /var/www/api.chubak.com/html;
        index index.php index.html;
        client_max_body_size 128M;
        location / {
            try_files $uri $uri/ /index.php?_url=$uri&$args;
        }
        location ~ \.php$ {
            include /etc/nginx/fastcgi.conf;
            fastcgi_split_path_info       ^(.+\.php)(/.+)$;
            fastcgi_param PATH_INFO       $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            try_files $uri =404;
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
            fastcgi_read_timeout 600;
            fastcgi_intercept_errors on;
            gzip off;
            fastcgi_index   index.php;
        }

И я создал файлы index.html в папке /var/www/site/html, но не знаю, как к ним получить доступ. Как я уже сказал, руководства всегда предполагают, что у вас есть доменное имя, указывающее на ваш сервер.

Файл localhost для систем на базе Debian — это /etc/hosts. Просто добавьте строку после последней строки 127.0.0.1 с чем-то вроде этого (используйте наиболее подходящий IP-адрес):

127.0.0.1    chubak.com
127.0.0.1    api.chubak.com

Ответ или решение

Чтобы запустить Nginx в окружении Debian так, как это делалось с XAMPP на Windows, вам необходимо использовать localhost, что подразумевает работу с локальным или виртуальным хостом. В данном контексте, эквивалентом localhost для вашего случая будет использование файла /etc/hosts, в который вам нужно добавить записи для ваших локальных доменных имен.

Настройка локальных доменных имен

  1. Редактирование файла /etc/hosts:
    Откройте этот файл с помощью текстового редактора (например, nano или vim) с правами суперпользователя:

    sudo nano /etc/hosts

    Добавьте следующие строки в конец файла, чтобы связать ваши локальные доменные имена с адресом 127.0.0.1:

    127.0.0.1    chubak.com
    127.0.0.1    api.chubak.com

    Сохраните изменения и закройте редактор.

  2. Проверка конфигурации Nginx:
    Убедитесь, что конфигурационные файлы для Nginx правильно созданы. Согласно вашему описанию, вы задали два разных порта: 85 для фронтенда (chubak.com) и 180 для API (api.chubak.com). Для запуска Nginx исполните следующую команду, чтобы проверить корректность конфигурации:

    sudo nginx -t

    Если тест завершится успешно, перезагрузите Nginx для применения настроек:

    sudo systemctl reload nginx

Доступ к локальным ресурсам

Теперь, когда вы настроили файл /etc/hosts, следующим шагом будет доступ к вашим сайтам. Вы можете открыть браузер и ввести адреса:

  • Для фронтенда: http://chubak.com:85
  • Для API: http://api.chubak.com:180

Обратите внимание на использование порта в URL для доступа к вашим службам, так как вы не используете стандартный порт 80 для HTTP.

Режимы отладки

Если по итогам доступа к сайтам они не работают, следуйте следующим шагам для отладки:

  • Проверьте логи Nginx, чтобы найти возможные ошибки. Они находятся по следующим путям, согласно вашим конфигурациям:

    /srv/logs/vue.access.log
    /srv/logs/vue.error.log
    /var/www/api.chubak.com/logs/api.access.log
    /var/www/api.chubak.com/logs/api.error.log
  • Убедитесь, что Nginx и PHP-FPM (или другой обработчик PHP) запущены:

    sudo systemctl status nginx
    sudo systemctl status php7.2-fpm

Заключение

Следуя вышеописанным шагам, вы сможете корректно настроить и запустить локальные веб-сайты на Debian с использованием Nginx, аналогично тому, как это сделано в XAMPP на Windows. Не забывайте об актуальности конфигураций и обращений по доменным именам в ваших приложениях.

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

Капча загружается...