Каков самый простой способ включить PHP на nginx?

Каков самый простой способ включить PHP на nginx на Ubuntu 12.04?

Лучшее решение – это тот, который требует минимальной работы, в идеале – просто установка пакета 🙂

Следующий способ позволит вам быстро начать работу с Ubuntu 12.04:

Установите зависимости:

sudo apt-get install php5-common php5-cli php5-fpm

Установите nginx:

sudo apt-get install nginx

Начать nginx:

sudo service nginx start

Проверьте, что он работает (см. «Добро пожаловать в nginx!»)

sudo service nginx stop

В вашей конфигурации сайта nginx (/ etc / nginx / sites-available / default) измените строку в разделе server {}

index index.html index.htm для index index.php index.html index.htm .

Раскомментируйте строки в разделе server {}, начиная с

listen ipv4 / ipv6 оба.

Прокрутите вниз до места, где указано «местоположение ~ .php {» и расколоть строки, чтобы он выглядел так:

 location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } 

sudo service php5-fpm restart sudo service nginx restart

Ваш корневой веб-сайт по умолчанию находится в каталоге / usr / share / nginx / www (в файле конфигурации). (См. root /usr/share/nginx/www;

(Примечание: для Ubuntu 12.10 или более поздней версии вам нужно будет заменить fastcgi_pass 127.0.0.1:9000; строка с этим для работы: fastcgi_pass unix:/var/run/php5-fpm.sock; )

EDIT: Как отметил Мэтт Браун, вас может заинтересовать эта недавняя публикация:
Как установить Linux, Nginx, MySQL, PHP (LEMP stack) в Ubuntu 16.04


Ответ papashou верен на старом Ubuntu 12.04. Начиная с Ubuntu 12.10, конфигурация немного отличается. Вот что я сделал:

устанавливать

 sudo apt-get install nginx php5-fpm 

Включить PHP

Раскомментируйте следующие строки в файле конфигурации /etc/nginx/sites-available/default

 location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } 

Запустить (или перезапустить)

 sudo service php5-fpm restart sudo service nginx restart 

Тест nginx

Открытие этой ссылки http://localhost должно отображать «Добро пожаловать в nginx!».

Тестирование php

Создайте файл php:

  • Целевой путь – это выход

     awk -F' |;' '/^[^#]*root/ {print $2}' /etc/nginx/sites-available/default 

    например /usr/share/nginx/www

  • Напишите файл info.php с помощью:

     echo '<?php phpinfo(); ?>' | \ sudo tee /usr/share/nginx/www/info.php 

    или как однострочный

     echo '<?php phpinfo(); ?>' | \ sudo tee "$(awk -F' |;' '/^[^#]*root/ {print $2}' /etc/nginx/sites-available/default)/info.php" 

Открытие http://localhost/info.php должно отображать страницу информации PHP.