Nginx простые примеры конфигурации
Человек я ленивый и часто приходится делать одно и тоже. Ошибки синтаксиса, как человеческий фактор:) Собрал здесь несколько шаблонов конфигурационных файлов Nginx. Шаблон копируем, заменяем имя домена, пути и все.
Nginx конфиг статического сайта
Статическим сайтом называется сайт в котором используются только HTML страницы, файлы CSS и Javascript. В статических сайтах PHP НЕ используется.
server { listen 80; listen [::]:80 ipv6only=on; server_name httpstatus.dieg.info; root /var/www/httpstatus; index index.html index.htm; access_log /var/log/nginx/httpstatus.access.log; error_log /var/log/nginx/httpstatus.error.log; location / { # Сначала попытка обслужить запрос как файл, затем как каталог, в случае неудачи вернет 404 ошибку. try_files $uri $uri/ =404; } }
Nginx SSL default.conf
server { listen 80; server_name localhost; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name localhost; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
В общем случае для получения SSL сертификата Lets Encrypt необходимо во всех блоках server добавить следующий блок до других блоков location:
location ~ /.well-known { root /usr/share/nginx/; allow all; }
mkdir -p /usr/share/nginx/.well-known/acme-challenge echo Success > /usr/share/nginx/.well-known/acme-challenge/example.html
Nginx конфиг сайта с PHP-FPM
Подключим к примеру выше обработчик файлов PHP (php-fpm 8.1).
server { listen 80; # listen [::]:80 ipv6only=on; server_name httpstatus.dieg.info; root /var/www/httpstatus; index index.html index.htm index.php; access_log /var/log/nginx/httpstatus.access.log; error_log /var/log/nginx/httpstatus.error.log; location / { try_files $uri $uri/ =404; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9081; # fastcgi_pass unix:/run/php/php8.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } ##### Стандартные настройки для любого хоста location = /robots.txt { access_log off; log_not_found off; } location = /favicon.ico { access_log off; log_not_found off; } # Запрет доступа к скрытым файлам, файлы названия которых начинаются с точки) location ~ /\. { access_log off; log_not_found off; deny all; } # location ~ ~$ { access_log off; log_not_found off; deny all; } ##### }
Использование Nginx в качестве обратного прокси
Обратный прокси-сервер — это служба, которая принимает запрос клиента, отправляет запрос одному или нескольким прокси-серверам, получает ответ и доставляет ответ сервера клиенту.
Чтобы настроить Nginx в качестве обратного прокси для HTTP-сервера, откройте файл конфигурации блока сервера домена и укажите в нем расположение и прокси-сервер:
server { listen 80; server_name www.example.com example.com; location /app { proxy_pass http://127.0.0.1:8080; } }
URL-адрес проксируемого сервера устанавливается с proxy_pass директивы proxy_pass и может использовать HTTP или HTTPS качестве протокола, доменного имени или IP-адреса, а также необязательного порта и URI в качестве адреса.
Приведенная выше конфигурация указывает Nginx передавать все запросы в /app прокси-серверу по адресу http://127.0.0.1:8080 .
Читайте также: Балансировка нагрузки с помощью NGINX и проксирование
Nginx конфигурационные файлы для разных CMS
Nginx ссылки на настройку для разных CMS.
Читайте также

Friendhosting - Разумные цены на хостинг
VDS/VPS сервер от 3.49€ в месяц. Много ресурсов. Высокая надежность. Гибкое управление. Удобная оплата. Настройка под вас!
friendhosting.net
Антидетект браузер Dolphin{anty} бесплатно до 10 профилей
Dolphin разработан для работы с такими сложными ресурсов, как Google, Facebook и Coinlist.
Английский для IT‑специалистов по Skype
Персональные занятия по разумным ценам. 80% разговорной практики. Персональный график!
skyeng.ru