Raspberry Pi:Настройка/Удалённый доступ/Веб-сервер/NGINX
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Настройка на Raspberry Pi веб-сервера NGNIX[1]
NGNIX (означает «engine x») — это популярное и простое веб-серверное приложение, которое можно установить на Raspberry Pi и с его помощью обслуживать работу веб-страниц.
Как и Apache, NGNIX умеет выводить HTML-файлы (через HTTP), а если подключить к нему дополнительные модули, то он сможет выводить и динамические веб-страницы, используя для этого скриптовые языки вроде PHP.
Установка NGNIX
Сначала устанавливаем пакет ngnix. Для этого вписываем в терминал следующую команду:
sudo apt-get install nginx
Теперь запускаем сервер:
sudo /etc/init.d/nginx start
Проверка веб-сервера
Будучи установленным, NGNIX сразу помещает в веб-директорию тестовый HTML-файл. Веб-сервер выводит эту дефолтную страницу, если зайти в браузере на http://localhost/ (будучи на самой Pi) или http://192.168.1.10 (будучи на другом компьютере из этой сети). Вместо 192.168.1.10 нужно подставить IP-адрес конкретно вашей Pi, а чтобы узнать его, впишите в терминал команду
hostname -I
(или воспользуйтесь одним из методов отсюда).
Открыв эту дефолтную веб-страницу, вы должны увидеть следующее:
Изменение дефолтной веб-страницы
По умолчанию NGNIX помещает свою тестовую веб-страницу в директорию /usr/share/nginx/www, находящуюся в файловой системе Raspbian. Пройдите туда и отредактируйте его (или замените), как вам нужно.
Установка PHP (дополнительно)
sudo apt-get install php5-fpm
Подключение PHP
cd /etc/nginx
sudo nano sites-enabled/default
Теперь находим строчку...
index index.html index.htm;
Номер этой строчки — 25-ый или около того (чтобы увидеть номера строчек, будучи в nano, нажмите Ctrl + C ).
Теперь добавляем после index фрагмент index.php. Это должно выглядеть примерно так:
index index.php index.html index.htm;
Скролльте вниз, пока не увидите секцию с таким содержимым:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
# location ~ \.php$ {
Редактируем этот фрагмент, убрав у него символы #:
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
Должно получиться вот так:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
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.conf;
}
Перезагружаем конфигурационный файл:
sudo /etc/init.d/nginx reload
Проверка PHP
Переименовываем index.html в index.php:
cd /usr/share/nginx/www/
sudo mv index.html index.php
Открываем в текстовом редакторе index.php:
sudo nano index.php
Удаляем старый контент и добавляем немного динамического PHP-контента:
<?php echo phpinfo(); ?>
Сохраняем файл и обновляем браузер. В результате вы должны увидеть PHP-версию страницы, логотип и текущие конфигурационные настройки.