После базовой установки Nginx часто требуется дополнительная настройка для работы с PHP, настройки SSL/TLS и оптимизации производительности.
Для Debian/Ubuntu:
sudo apt install php-fpm php-mysql
Для CentOS/RHEL:
sudo yum install php-fpm php-mysqlnd
Добавьте в конфигурацию вашего сайта:
location ~ \.php$ {
include snippets/fastcgi-php.conf; # На Debian/Ubuntu
# include fastcgi.conf; # На CentOS/RHEL
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Важно: Убедитесь, что версия PHP в пути к sock-файлу соответствует установленной!
Создайте файл info.php в корне вашего сайта:
sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/info.php'
Откройте в браузере http://ваш_сайт/info.php
Для Debian/Ubuntu:
sudo apt install certbot python3-certbot-nginx
Для CentOS/RHEL:
sudo yum install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
Проверить автоматическое обновление:
sudo certbot renew --dry-run
В /etc/nginx/nginx.conf:
worker_processes auto; # Использовать все доступные ядра CPU
worker_rlimit_nofile 100000; # Лимит открытых файлов
keepalive_timeout 30;
keepalive_requests 100000;
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_min_length 1000;
gzip_comp_level 6;
gzip_proxied any;
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
expires 365d;
add_header Cache-Control "public, no-transform";
}
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
add_header Referrer-Policy "strict-origin";
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 405;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
После выполнения этих настроек ваш Nginx будет:
Рекомендуется регулярно проверять логи Nginx и обновлять программное обеспечение для поддержания безопасности и стабильности работы.
Внимание: Cтатьи здесь сгенерированы нейросетью, пока не правил ошибки, только запустил его да и не до этого. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
НО!
Каждый кейс я реально делал минимум один раз. Серьёзно.
Сервера стоят, клиенты довольны, дата-центры не горят.
Это не просто копипаста — это опыт, выстраданный в бою, просто пересказанный через ИИ.
Если у вас есть вопросы, или Нашли неточность? пишите в коментах —
вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!