Для начала обновите систему, чтобы убедиться, что все пакеты актуальны. В терминале выполните команду sudo apt update && sudo apt upgrade. Это подготовит вашу среду для установки новых компонентов.
Установите Nginx, используя команду sudo apt install nginx. После завершения процесса проверьте статус службы с помощью sudo systemctl status nginx. Если все работает корректно, вы увидите активное состояние.
Добавьте PHP для обработки скриптов. Введите sudo apt install php-fpm php-mysql, чтобы установить PHP и модуль для работы с базами данных. Настройте Nginx для работы с PHP, отредактировав конфигурационный файл в директории /etc/nginx/sites-available/default.
В конфигурации найдите блок location ~ .php$ и убедитесь, что он включает строки fastcgi_pass unix:/var/run/php/php-fpm.sock; и include snippets/fastcgi-php.conf;. Сохраните изменения и перезапустите Nginx командой sudo systemctl restart nginx.
Проверьте корректность работы PHP, создав файл /var/www/html/info.php с содержимым <?php phpinfo(); ?>. Откройте его в браузере по адресу http://ваш_сервер/info.php. Если отобразится информация о PHP, установка прошла успешно.
Установка Nginx на Linux
Откройте терминал и обновите список пакетов, выполнив команду sudo apt update
. Это обеспечит актуальность данных о доступных пакетах. Для установки Nginx введите sudo apt install nginx
. Система загрузит и установит необходимые файлы.
После завершения установки запустите Nginx командой sudo systemctl start nginx
. Чтобы Nginx автоматически запускался при загрузке системы, используйте sudo systemctl enable nginx
. Проверьте статус службы с помощью sudo systemctl status nginx
– убедитесь, что сервер работает без ошибок.
Откройте браузер и перейдите по адресу http://ваш_сервер
. Если вы видите страницу приветствия Nginx, установка прошла успешно. Для настройки конфигурации отредактируйте файл /etc/nginx/nginx.conf
или создайте отдельные конфигурации в папке /etc/nginx/sites-available/
, затем активируйте их через символические ссылки в /etc/nginx/sites-enabled/
.
Если сервер недоступен, проверьте, открыт ли порт 80. Используйте команду sudo ufw allow 'Nginx Full'
, чтобы разрешить трафик через брандмауэр. После внесения изменений в конфигурацию перезагрузите Nginx: sudo systemctl reload nginx
.
Подготовка системы к установке Nginx
Обновите пакеты системы до последних версий, чтобы избежать конфликтов и обеспечить стабильную работу. Для этого выполните команду:
sudo apt update && sudo apt upgrade -y
Убедитесь, что на сервере установлен базовый набор инструментов для работы с Nginx. Проверьте наличие следующих пакетов:
curl
– для тестирования соединений.ufw
– для настройки брандмауэра.git
– если планируете использовать версионный контроль.
Установите недостающие компоненты командой:
sudo apt install curl ufw git -y
Настройте брандмауэр для защиты сервера. Разрешите подключения по SSH, HTTP и HTTPS:
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
Проверьте статус брандмауэра, чтобы убедиться, что правила применены:
sudo ufw status
Если планируете использовать SSL-сертификаты, установите certbot
для автоматического управления ими:
sudo apt install certbot python3-certbot-nginx -y
Теперь система готова для установки Nginx. Переходите к следующему шагу, чтобы продолжить настройку веб-сервера.
Установка Nginx через менеджер пакетов
Для установки Nginx откройте терминал и выполните команду, соответствующую вашему дистрибутиву Linux. На Ubuntu или Debian используйте sudo apt install nginx. Если вы работаете на CentOS или Fedora, введите sudo yum install nginx или sudo dnf install nginx соответственно.
После завершения установки запустите Nginx с помощью команды sudo systemctl start nginx. Чтобы сервер запускался автоматически при каждой загрузке системы, добавьте его в автозагрузку: sudo systemctl enable nginx.
Для проверки работы Nginx откройте браузер и перейдите по адресу http://localhost или http://ваш_IP_адрес. Если установка прошла успешно, вы увидите стандартную страницу приветствия Nginx.
Если требуется внести изменения в конфигурацию, основные файлы настроек находятся в директории /etc/nginx/. Главный конфигурационный файл – nginx.conf, а виртуальные хосты настраиваются в папке sites-available.
Проверка корректности установки Nginx
Откройте терминал и выполните команду systemctl status nginx. Убедитесь, что сервис активен и работает без ошибок. Если статус показывает active (running), значит Nginx успешно установлен и запущен.
Проверьте доступность веб-сервера через браузер. Введите в адресной строке http://localhost или IP-адрес вашего сервера. Если появилась страница с надписью «Welcome to Nginx!», установка прошла успешно.
Для дополнительной проверки откройте файл журнала ошибок Nginx, выполнив команду tail -f /var/log/nginx/error.log. Отсутствие сообщений об ошибках подтвердит корректную работу сервера.
Если что-то пошло не так, проверьте конфигурацию файла /etc/nginx/nginx.conf на наличие синтаксических ошибок. Используйте команду nginx -t, чтобы проверить корректность настроек. В случае успеха вы увидите сообщение «syntax is ok» и «test is successful».
Настройка PHP с Nginx
Для начала убедитесь, что PHP-FPM установлен и запущен. Проверьте статус службы командой systemctl status php-fpm
. Если служба не активна, запустите её: systemctl start php-fpm
.
Откройте конфигурационный файл Nginx, обычно расположенный в /etc/nginx/nginx.conf
или /etc/nginx/sites-available/default
. В блоке server
добавьте следующие строки для обработки PHP-файлов:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Сохраните изменения и проверьте конфигурацию на ошибки: nginx -t
. Если всё в порядке, перезапустите Nginx: systemctl restart nginx
.
Создайте тестовый PHP-файл в корневой директории вашего сайта, например, /var/www/html/info.php
, с содержимым <?php phpinfo(); ?>
. Откройте его в браузере по адресу http://ваш_домен/info.php
. Если страница отображает информацию о PHP, настройка прошла успешно.
Для повышения безопасности удалите или ограничьте доступ к файлу info.php
, чтобы избежать утечки данных о конфигурации сервера.
Установка PHP и необходимых расширений
Начните с установки PHP и основных расширений, которые потребуются для работы веб-приложений. Введите команду для установки PHP и популярных модулей, таких как MySQL, XML и ZIP:
sudo apt install php php-cli php-fpm php-mysql php-xml php-zip php-mbstring php-curl php-gd php-json
После завершения установки проверьте версию PHP, чтобы убедиться, что всё работает корректно. Используйте команду:
php -v
Если вы планируете использовать PHP с Nginx, убедитесь, что служба PHP-FPM запущена и настроена. Проверьте статус службы с помощью команды:
sudo systemctl status php-fpm
Для автоматического запуска PHP-FPM при загрузке системы выполните:
sudo systemctl enable php-fpm
Если вам потребуются дополнительные расширения, их можно установить отдельно. Например, для работы с Redis введите:
sudo apt install php-redis
После установки новых модулей перезапустите PHP-FPM, чтобы изменения вступили в силу:
sudo systemctl restart php-fpm
Теперь PHP готов к работе с Nginx, и вы можете переходить к настройке веб-сервера.
Конфигурация Nginx для работы с PHP
Для корректной работы PHP с Nginx необходимо настроить серверный блок. Откройте конфигурационный файл вашего сайта, обычно расположенный в /etc/nginx/sites-available/
, и добавьте следующие строки:
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.ht {
deny all;
}
}
Замените example.com
на ваш домен и /var/www/html
на путь к корневой директории вашего сайта. Убедитесь, что версия PHP в fastcgi_pass
соответствует установленной на вашем сервере.
После внесения изменений проверьте конфигурацию Nginx на ошибки:
sudo nginx -t
Если проверка прошла успешно, перезагрузите Nginx:
sudo systemctl reload nginx
Теперь создайте тестовый PHP-файл в корневой директории сайта, например info.php
, с содержимым:
<?php phpinfo(); ?>
Откройте этот файл в браузере по адресу http://example.com/info.php
. Если страница отображает информацию о PHP, значит, настройка прошла успешно.
Для повышения безопасности рекомендуется удалить файл info.php
после проверки:
sudo rm /var/www/html/info.php
Тестирование работы PHP на сервере
Создайте файл с расширением .php
в корневой директории веб-сервера, чтобы проверить корректность работы PHP. Например, выполните команду:
sudo nano /var/www/html/test.php
Вставьте в файл следующий код:
<?php
phpinfo();
?>
Сохраните изменения и закройте редактор. Откройте браузер и перейдите по адресу http://ваш_сервер/test.php
. Если PHP установлен и настроен правильно, вы увидите страницу с информацией о конфигурации PHP.
Для проверки обработки PHP-скриптов через Nginx, создайте еще один файл, например:
sudo nano /var/www/html/hello.php
Добавьте в него простой скрипт:
<?php
echo "Привет, мир!";
?>
Перейдите по адресу http://ваш_сервер/hello.php
. Если на странице отображается текст «Привет, мир!», PHP работает корректно.
Если страница не отображается или вы видите ошибку, проверьте настройки Nginx и PHP. Убедитесь, что в конфигурации Nginx указана обработка PHP-файлов через FastCGI. Пример конфигурации:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
После внесения изменений перезапустите Nginx:
sudo systemctl restart nginx
Если ошибка сохраняется, проверьте, запущен ли PHP-FPM:
sudo systemctl status php7.4-fpm
В таблице ниже приведены основные команды для диагностики проблем:
Проблема | Команда для проверки |
---|---|
PHP-FPM не запущен | sudo systemctl start php7.4-fpm |
Ошибки в конфигурации Nginx | sudo nginx -t |
Права доступа к файлам | sudo chown -R www-data:www-data /var/www/html |
После устранения ошибок повторите проверку. Убедитесь, что все работает корректно, прежде чем переходить к дальнейшей настройке сервера.