Files
ospab.host/ospabhost/backend/nginx-visit.conf
Georgiy Syralev d45baf2260 sitemap и тд
2025-11-01 12:29:46 +03:00

101 lines
3.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Nginx конфигурация для сайта-визитки (PHP)
# Файл: /etc/nginx/sites-available/ospab-visit
#
# Установка на сервере:
# 1. sudo cp nginx-visit.conf /etc/nginx/sites-available/ospab-visit
# 2. sudo ln -s /etc/nginx/sites-available/ospab-visit /etc/nginx/sites-enabled/
# 3. Проверьте версию PHP: php -v
# 4. Измените строку fastcgi_pass если версия PHP другая (php8.1, php8.3 и т.д.)
# 5. sudo nginx -t && sudo systemctl reload nginx
#
# Требования:
# - PHP 8.1+ и PHP-FPM установлены
# - SSL сертификаты Let's Encrypt настроены
# - Директория /var/www/ospab-visit создана
server {
listen 443 ssl http2;
server_name ospab.host www.ospab.host;
# SSL сертификаты
ssl_certificate /etc/letsencrypt/live/ospab.host/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ospab.host/privkey.pem;
# SSL настройки
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# Логи
access_log /var/log/nginx/ospab-visit-access.log;
error_log /var/log/nginx/ospab-visit-error.log;
# Корневая директория сайта
root /var/www/ospab-visit;
index index.php index.html index.htm;
# Максимальный размер загружаемых файлов
client_max_body_size 100M;
# Основная локация для PHP
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Обработка PHP файлов через PHP-FPM
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; # Измените версию PHP если нужно
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
# Таймауты для PHP
fastcgi_connect_timeout 60s;
fastcgi_send_timeout 60s;
fastcgi_read_timeout 60s;
}
# Запрет доступа к скрытым файлам
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
# Кэширование статических файлов
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff|woff2|ttf|eot)$ {
expires 1y;
add_header Cache-Control "public, immutable";
access_log off;
}
# Безопасность - запрет доступа к служебным файлам
location ~ /\.ht {
deny all;
}
# Запрет доступа к composer файлам
location ~ ^/(composer\.(json|lock)|package\.(json|lock))$ {
deny all;
}
}
# Редирект с HTTP на HTTPS
server {
listen 80;
server_name ospab.host www.ospab.host;
return 301 https://ospab.host$request_uri;
}
# Редирект с www на без www (опционально)
server {
listen 443 ssl http2;
server_name www.ospab.host;
ssl_certificate /etc/letsencrypt/live/ospab.host/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ospab.host/privkey.pem;
return 301 https://ospab.host$request_uri;
}