Я использую 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 и выполнил команду, предложенную Питером с 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
- Fast-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
чтобы избежать конкуренции apache и nginx за порт 80.Также обратите внимание, что стандарт xdebug также хочет использовать порт 9000, как php5-fpm. Поэтому, если вы используете xdebug, измените этот порт, например, на 9001
И в качестве бонуса пример конфигурации nginx (поместите ее в / etc / nginx / sites-available и вставьте ссылку в / etc / nginx / sites-enabled)
источник
test.php
файл, но он не работает. Мой браузер говорит "неработающая ссылка" и в журнале ошибок Nginx есть только запись о "favicon.ico". Я думаю, что-то с моим файлом конфигурации, но я действительно не знаю, и довольно сложно найти ошибку.sudo service nginx start
иsudo service php5-fpm start
надо делать работу. Конечно, следите за любой ошибкой, которую они могут дать.sudo service nginx reload
). Если ничего не помогает, возможно, вы могли бы добавить свой файл конфигурации к вашему вопросу..html
файлами, но не работает с.php
файлами.