Каков самый простой способ включить PHP на nginx на Ubuntu 12.04?
Лучшее решение - это запрос, требующий минимальной работы, в идеале - просто установка пакета:)
Каков самый простой способ включить 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) измените строку на сервере {} section
index index.html index.htm
до index index.php index.html index.htm
.
Раскомментируйте строки в разделе server {}, начиная с
listen
для ipv4 / ipv6.
Прокрутите вниз до места, где говорится «location ~ .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
Ваш сетевой root по умолчанию находится в каталоге / 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;
)
РЕДАКТИРОВАТЬ: Как указано Мэттом Брауном , вам может быть интересно это последнее сообщение:
Как установить Linux, Nginx, MySQL, PHP (стек LEMP) в 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.