# 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; }