Установка php5-fpm nginx на ubuntu

Передбачається, що операційна система у вас вже встановлена, мережа налаштована, інтернет спритний, провайдер не жадібний (качати будемо багато) ... Будемо ставити все з репозиторіїв, збирати в ручну ми нічого не будемо.

1. Установка Nginx

Для початку додамо репозиторій проекту Nginx:

Додамо туди, офіційне дзеркало Nginx, то в якому вигляді представлений даний пакет, відображає бачення його розробників:

Тепер нам потрібно завантажити GPG ключ:

Встановимо GPG ключ:

Оновимо список пакетів:

Після установки nginx повинен відразу стартанути. Якщо стартанул без помилок, відразу переходимо до пункту 2 установка php-fpm.

Якщо вже стоїть апач, який за замовчуванням слухає порт 80, то після установки nginx виваляться помилки:

Дізнаємося, що у нас на порту 80:

Бачимо, що дійсно це apache2 вже слухає порт 80.

Тоді Стоп apache, потім перезапускаємо nginx.

2. Установка PHP-FPM

Нам необхідно усунути уразливість PHP:

Наводимо її до виду:

Зберігаємо зміни і перезапустити PHP-FPM:

3. Створимо віртуальний хост Nginx

Директорія для всіх сайтів у мене / var / www /. Ви можете вибрати будь-яку, головне щоб у nginx`а був доступ в цю директорію. Розташування сайтів, наприклад сайт test:

  • / Var / www / test / www - коренева директорія
  • / Var / log / nginx - access і error logs сайту test

Наполягаємо перший віртуальний хост Nginx, назвемо його test

Вміст файлу /etc/nginx/conf.d/test.conf (Тут я привожу тільки базові настройки, щоб працювало, якщо потрібно додати щось додатково, то ви зробите це самі, виходячи з ваших завдань)

Звертаю увагу! Всі віртуальні хости повинні мати в назві розширення .conf, інакше віртуальний хост не завантажиться.

Створимо тестовий файл, щоб перевірити працездатність PHP5:

Перезапустити Nginx, щоб зміни вступили в силу:

Чи не зибиваем прописати в / etc / hosts

Установка php5-fpm nginx на ubuntu

Можливі помилки конфігурації nginx з php-fpm

502 Bad Gateway - якщо код помилки 502, замінюємо рядок (listen =.) В файлі /etc/php5/fpm/pool.d/www.conf

Після цього не забуваємо зробити restart php5-fpm. Помилки 502 більше бути не повинно.

Параметри, підтримувані командним рядком nginx

Nginx підтримує наступні параметри:

Слідував за інструкцією від початку і до кінця. Тестову сторінку на nginx + php-fpm підняв :)
Ще не прописав рядок listen = 127.0.0.1:9000, була помилка 502.

root 4 роки тому

Якщо в самому конфіги nginx віртуального хоста вказати, щоб запити йшли на fastcgi сервер через unix сокет, а не на порт 9000 - порт, на якому за замовчуванням висить php-fpm (127.0.0.1:9000) тобто прописати так в test.conf :
fastcgi_pass unix: /var/run/php5-fpm.sock;
то у файлі конфігурацій /etc/php5/fpm/pool.d/www.conf нічого змінювати не треба.

julia 3 роки тому

Вітаю!
Зробила все по Вашій інструкції і натрапила на таку помилку: при переході по test / index.php виводиться "No input file specified." А по test / - "403 Forbidden".

Як можна вирішити таку проблему?

root 3 роки тому

Привіт, julia.
По-перше, перевірте, будь ласка, свої шляхи. Ваш тестовий сайт повинен лежати по тому ж шляху, що прописаний в /etc/nginx/conf.d/test.conf в секції root: root / var / www / test / www; .
У вас (судячи по логах) ця директорія знаходиться в домашній папці вашого користувача, а у мене в прикладі не так: / home / julia / var / www / test / www
Якщо шляху з конфіга і реальний шлях до сайту в файлової системі у вас збігаються - то ок. Якщо немає - зробіть щоб збігалися :)

По-друге, поновіть, будь ласка, свій /etc/nginx/conf.d/test.conf як в пості, там я змінив розташування балок хоста з /var/www/test/logs/access.log на / var / log / nginx / test.access.log. Була можлива помилка - nginx: [emerg] open () "/var/www/test/logs/access.log" failed (2: No such file or directory).

По-третє, схоже у вас для nginx не вистачає прав:
"/home/julia/var/www/test/www/index.php" is forbidden (13: Permission denied)
Спробуйте зробити sudo chmod -R 777 / home / julia / var / www / test / www

Перевірити працездатність конфігурації nginx sudo nginx -t:
eugene $ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

UPD: Після правок конфігураційних файлів .conf не забувайте робити sudo service nginx restart або sudo service nginx reload щоб зміни вступили в силу.
Якщо до цих пір є помилки, пишіть :)

VYanchuk 2 роки тому

Схожі статті