Самая простая настройка Nginx | Wiki | PWODEV
, 05.10.2020 18:00

Самая простая настройка Nginx


Итак нам нужна простая настройка nginx. Будь то настройка энженикс в докере (Docker) или на сервере Linux либо еще где-то, нам бы хотелось иметь простую конфигурацию, где ничего лишнего но будет все работать. Своего рода настройка или конфигурация nginx за минуту.

Для начала надо понять куда класть файлы нашей настройки, тут все просто, файлы настройки nginx лежат в папке:

/etc/nginx/conf.d/

Идем дальше…

Как назвать файл конфигурации nginx?

Тут без разницы, лучше чтобы было понятно для какого ресурса или сайта эти настройки, но главное окончание этого файла должно быть «.conf». Итак в нашем случае создаем файл настройки:

/etc/nginx/conf.d/web.config

Содержимое файла конфигурации nginx.

Итак для начала обозначим сервер server, и в него положим имя сервера, и обозначим рутовскую (root) директорию, а также файл по умолчанию с которого будет запускаться наш сервер. Выглядит это следующим образом:

server {
    server_name ${HOSTNAME};
    root /var/www;
    index index.php;
}

Вместо переменной ${HOSTNAME} или передадим в переменную урл URL сайта который мы настраиваем.

Дальше внутрь server кладем локейшины location. Тут есть несколько вариантов. Локейшены могут быть как статические, так и файлы php. Вообщем играться с location можно долго.

Мы же рассмотрим способ который будет перенаправлять нас на исполнение файлов php.

location / {
    try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
    fastcgi_pass ${PHP_HOST}:9000;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Где ${PHP_HOST} IP или URL хоста где лежит PHP.

Как выглядит самая простая настройка Nginx:

server {
    server_name site.local;
    root /var/www;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php;
    }
    location ~ \.php$ {
        fastcgi_pass php:9000;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

${PHP_HOST}:9000 я заменил на php:9000
${HOSTNAME} заменил на site.local

Также надо не забыть добавить site.local в файлик /etc/hosts

127.0.0.1 site.local

Правильней всего сказать что эта конфигурация была сделана для работы с Docker, если быть точнее то docker-compose.

Теперь надо бы на строить сам докер. Но это уже отдельная история, которую я положу в отдельную статью. А в этот статье мы рассмотрели как очень просто и не заморачиваясь сделать настройку nginx. Опечатки на тему правильного написания: энжиникс, энджиникс, ngix, njnix и тд.

Полную конфигурацию docker-compose а также быстрый запуск простого виртуального сервера с nginx и php и mysql вы найдете в следующей статье.

А тебе хорошего дня друг 🙂

Пробегись еще немного по нашему сайтику, может еще что-то полезное найдешь для себя, и поставь этот сайтик в закладку.


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