1 заметка с тегом

php

Установка Nginx и PHP на Raspberry Pi

31 августа 2014, 20:10

Это первая из двух частей по установке сервера на raspberry pi, в этой части мы будем устанавливать nginx и php. В следующей части мы будем устанавливать и настраивать MySQL. Перед установкой можете почитать статью по выбору сервера, но самым оптимальным для raspberry pi будет выбор nginx его мы и будем устанавливать.

Установка Nginx

Для начала введите в терминале команду, чтобы убедиться, что все пакеты не требуют обновления или обновите их если есть обновления.

sudo apt-get update && sudo apt-get upgrade

Теперь введите следующую команду, чтобы установить nginx:

sudo apt-get install nginx

Ждем успешной установки сервера, после чего нам нужно будет запустить его следующей командой:

sudo /etc/init.d/nginx start

Если все прошло удачно, то вы увидите следующее сообщение:

Теперь введите в браузере адрес Raspberry Pi и вы должны увидеть стандартную страницу nginx:

Nginx установлен и работает, далее мы будем устанавливать php.

Установка PHP

Для установки php нужно установить пакет php-fpm следующей командой:

sudo apt-get install php5-fpm

После установки все готово для работы, но нужно внести несколько изменений в nginx для работы php.

Настройка nginx и php

По умолчанию nginx настроен на выдачу только статических html страничек, чтобы открыть файл настроек введите следующую команду:

sudo nano /etc/nginx/sites-available/default

Листайте вниз конфигурационный файл, пока в блоке server не найдете следующие строки:

#listen 80;  ## listen for ipv4;  this line is default and implied
#listen [::]:80 default_server 
ipv6only=on;  ## listen for ipv6

Раскоментируйте 2 строки удалением символа # в начале строки, в результате у вас должно получиться:

listen 80;  ## listen for ipv4;  this line is default and implied
listen [::]:80 default_server ipv6only=on;  ## listen for ipv6

Это позволяет прослушивать 80 порт для IPv4 и IPv6 запросов.
Далее нужно изменить имя нашего сервера (не забудьте изменить на свой адрес):

# Make site accessible from http://localhost/
server_name www.kropochev.com ;

Найдите список index файлов:

index index.html index.htm;

И замените его на следующую строчку:

index index.php index.html index.htm;

Это разрешит nginx обрабатывать страницу index.php и она будет иметь приоритет над index.html
Далее нужно указать как обращаться с php файлами, найдите следующие строки:

#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;
#}

Раскоментируйте некоторые линии, чтобы получилось следующее:

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;
}

Чтобы сохранить файл нажимаем ctrl+x и подтверждаем действие.
Чтобы применить настройки выполним команду:

sudo /etc/init.d/nginx reload

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

Осталось проверить работоспособность нашего сервера для этого в каталоге:

cd /usr/share/nginx/www

Создадим файл index.php:

sudo nano index.php

И вставим следующую строку в редакторе:

<?php phpinfo();  ?>

Сохраняем и выходим из редактора.
Теперь если открыть в браузере адрес raspberry pi то мы должны увидеть следующую страницу:

Если вы видите аналогичную страницу, значит вы установили и настроили nginx правильно. Если при установке у вас возникли вопросы, задавайте их в комментариях.
В следующей статье мы будем устанавливать MySQL на Raspberry Pi.

nginx   php   raspberry pi