Я использую Ubuntu Server 10.10, и я хотел бы настроить среду веб-сервера с NginX , PHP 5.3.3, PostgreSQL и предпочтительно APC и PHP Suhosin.
Я уже настроил PostgreSQL с apt-get install postgresql
и Nginx с apt-get install nginx
.
Но как мне настроить PHP для них? Могу ли я сделать это, используя apt-get install
, или мне нужно скачать исходники и скомпилировать их? Я бы предпочел сделать это, используя apt-get
.
Я бы хотел использовать PHP-FPM для Nginx. Большинство учебных пособий, которые я нашел в Интернете, старые и компилируют PHP, но это не рекомендуется для рабочих серверов.
Как мне проще всего настроить PHP с Nginx, APC и PostgreSQL? или хотя бы PHP-FPM + Nginx?
ОБНОВЛЕНИЕ
Теперь я установил свежий Ubuntu Server 10.10 и выполнил команду , которую предложил Питер [ 1110] с добавлением php5-suhosin
. После этого Nginx работает нормально, затем я редактирую сгенерированный файл конфигурации так, как показано ниже. После перезагрузки нового файла конфигурации Nginx по-прежнему работает нормально, используя файл index.html
, но когда я добавляю файл index.php
, он перестает работать. Я предполагаю, что это связано с PHP-FPM, APC или чем-то связанным с PHP. Но это может быть и файл конфигурации для PHP-FPM.
Вот файл конфигурации для Nginx, который я использую, большая часть его создается по умолчанию. Я пропустил комментарии.
server {
listen 80;
listen [::]:80 default ipv6only=on;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
location /favicon.ico {
empty_gif;
}
location / {
root /var/www;
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
При запуске с Ubuntu 10.10 это тривиально с новым php5-fpm пакетом
Следующие пакеты делают все, в чем Вы нуждаетесь
nginx
- веб-серверphp5-fpm
- Быстрый CGI php серверphp-apc
- Пакет APC для phpphp5-pgsql
- Модуль PostgreSQL для PHPpostgresql
- Сервер базы данных PostgreSQLВсе вместе sudo apt-get install nginx php5-fpm php-apc php5-pgsql postgresql
Также я предлагаю проверить, установлен ли apache2. Если так, удалите его с sudo apt-get remove apache2
избегать апача и nginx, конкурирующего за порт 80.
Обратите внимание также, что xdebug стандарт также хочет использовать порт 9000, точно так же, как php5-fpm. Таким образом, если Вы используете xdebug, изменение что порт, например, к 9 001
И как премия пример nginx конфигурация (помещают его в/etc/nginx/sites-available и символьная ссылка он в/etc/nginx/sites-enabled),
server {
listen 80;
server_name site.com;
access_log /data/log/www/site.com/access.log;
error_log /data/log/www/site.com/error.log;
root /data/www_data/site.com/public;
index index.php;
location = /favicon.ico {
empty_gif;
#return 204;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
}