Установка · 3 min read · Feb 06, 2026
Установка Nginx с PHP 5.3 и PHP-FPM на Ubuntu Lucid Lynx (10.04) без компиляции
Установка Nginx с PHP 5.3 и PHP-FPM на Ubuntu Lucid Lynx (10.04) без компиляции
Версия 1.0
Следите за мной в Twitter
Поскольку Apache чаще всего является процессом, требующим много памяти, люди начали искать различные способы размещения своих веб-сайтов. Apache явно не единственный доступный веб-сервер. Несколько хороших примеров — lighttpd и nginx. В этом руководстве я покажу вам, как установить его на вашем сервере Ubuntu. Это руководство также применимо к Debian, хотя и с очень небольшими отличиями.
Готовы? Давайте начнем.
Шаг 0 - Предварительные заметки
Для завершения этого руководства я предполагаю, что вы установили базовую систему Ubuntu Lucid (10.04). Как это можно сделать, можно прочитать в различных руководствах. Это руководство сосредоточено на том, чтобы запустить nginx+php без особых хлопот.
Шаг 1 - Nginx
Установка nginx — это первый шаг, который мы должны сделать. Это можно легко сделать, скачав его из репозитория.
sudo apt-get install nginxНеобходимо изменить конфигурацию vhost, чтобы она работала правильно.
sudo vim /etc/nginx/sites-available/defaultХорошей отправной точкой для вашей конфигурации будет:
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
## Стандартное местоположение
location / {
root /var/www;
index index.php;
}
## Изображения и статический контент обрабатываются иначе
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
expires 30d;
root /var/www;
}
## Обработка всех .php файлов в каталоге /var/www
location ~ .php$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
## Отключить просмотр .htaccess и .htpassword
location ~ \/\.ht {
deny all;
}
}
upstream backend {
server 127.0.0.1:9000;
}
Хорошо, мы закончили здесь. Теперь установим необходимые файлы для PHP.
Шаг 2 - Установка PHP
Многие сайты полагаются на PHP для предоставления им динамического контента, будь то вики, программное обеспечение форума, блог или что-то совершенно другое.
Нет необходимости использовать DotDeb, так как PHP5.3 теперь официально поддерживается в Ubuntu Lucid (10.04). Это так же просто, как
sudo apt-get updateВ результате текст должен включать dotdeb.
Теперь мы установим PHP. Чтобы установить PHP-FPM, нам нужно добавить PPA, так как он не поддерживается официально.
add-apt-repository ppa:brianmercer/phpsudo apt-get update && sudo apt-get install php5-fpmЕсли вы планируете использовать базу данных или требуете специфические модули (mcrypt, ldap, snmp и т.д.), вы можете установить их также.
Хорошо, теперь у нас установлены nginx и PHP, и они готовы к работе.
Шаг 3 - Завершение
Перезапустите nginx, чтобы учесть изменения конфигурации, которые мы сделали ранее.
sudo service nginx restartПерезапуск должен пройти без каких-либо проблем.
После установки php5-fpm он должен был быть запущен. Если вы изменили свои файлы php.ini, вам нужно перезапустить php5-fpm.
sudo service php5-fpm restartВсе в порядке. Теперь они оба должны работать.
Шаг 4 - Тестирование
Чтобы протестировать, работает ли выполнение PHP, создайте файл index.php в /var/www со следующим содержимым:
Посетите ваш веб-сервер, и вы должны увидеть сгенерированную phpinfo. Если нет, что-то пошло не так.
Шаг 5 - Устранение неполадок и окончательные заметки
Если вы не видите phpinfo, возможно, что-то пошло не так. Чтобы выяснить, что именно, вы можете проверить журнал ошибок nginx:
sudo tail /var/log/nginx/error.logПомните, если вы изменили свой php.ini, вам нужно перезапустить php5-fpm. Перезапуск nginx не обязателен.
В моем примере конфигурации я включил перехват ошибок fastcgi. Если происходит серьезная ошибка (например, “нельзя повторно объявить класс xyz”), nginx может поймать эту страницу и показать “красивую” страницу ошибки, что-то пошло не так. Таким образом, предоставляется меньше информации в случае серьезной ошибки.
Если вам это не нравится, вы можете отключить эту функцию.
Если php5-fpm не работает, ваши PHP файлы не могут быть обработаны, и nginx покажет пользователю страницу с ошибкой.
Ну что ж, я думаю, мы закончили, и теперь вы можете обслуживать PHP с вашим новым веб-сервером на базе nginx. Nginx довольно хорош, и вы можете настроить много. Если вам нужны переписывания, имейте в виду, что nginx не работает с файлами .htaccess. Вам нужно будет изменить настройки вашего vhost, чтобы переписывания работали.
Get new posts in your inbox
No spam. Unsubscribe anytime.