TransWikia.com

Проблема с запуском nginx на Ubuntu 20.04

Stack Overflow на русском Asked by user412524 on January 17, 2021

Установил nginx на ноутбук с ОС Ubuntu 20.04, сделал базовую настройку. Захотел протестировать: создал файл index.php и написал базовую структуру.

Ввожу в адресную строку localhost, и вместо того чтобы отображать страницу, этот файл сохраняется на мой ноутбук. Если переименовать в index.html, то всё работает.

Не знаю, в чём может быть проблема.

One Answer

Все просто. Базовая настройка (непонятно что это, но видимо настройки по умолчанию) не подразумевает обработку скриптов. Это просто отображение содержимого. Именно поэтому HTML-файл у вас отображается нормально, а при попытке открыть PHP - он скачивается как файл.

Вам необходимо добавить интерпретатор PHP в систему, который и будет обрабатывать код в скриптах, выдавая уже результат nginx. Для PHP таких способов несколько, иногда ставят еще Apache + PHP-MOD, на другой порт его вешают и соответственно nginx передает управление этой связке при запросах на php-файл . Иногда ставят PHP-FPM, таким образом потом nginx просто передает php на выполнение в интерпретатор php-fpm.

Если у вас это просто локальная разработка скриптов, то вполне хватит связки Nginx + PHP-FPM через fastcgi. Такая связка требует меньше памяти, чем с прослойкой в виде Apache, работает вполне стабильно. А так как у вас Ubuntu, то можно связать через сокеты, что тоже добавит быстродействия. У меня есть сервер, который на 512МБ ОЗУ держит несколько простых сайтов на Drupal именно на такой связке и этого вполне хватает. Ссылку на настройку давать не буду, обычное гугление выдаст множество статей по этой теме, выбирайте любое на вкус (например с DO).

Есть только одна тонкость - такая связка не умеет обрабатывать .htaccess файлы, поэтому если для какого-то движка или по какой то инструкции такое понадобится, вам эти правила придется переписывать в конфиг nginx для хоста. Благо это в целом не сильно сложно и есть множество инструкций и готовых примеров в сети. Или добавьте Apache.

Answered by Softovick on January 17, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP