Eu uso o Ubuntu Server 10.10 e gostaria de configurar um ambiente de servidor web com NginX , PHP 5.3.3, PostgreSQL e, de preferência, APC e PHP Suhosin.
Eu já configurei o PostgreSQL apt-get install postgresql
e o Nginx com apt-get install nginx
.
Mas como faço para configurar o PHP para isso? Posso fazer isso usando apt-get install
ou tenho que baixar as fontes e compilá-las? Eu preferiria fazê-lo usando apt-get
.
Eu gostaria de usar o PHP-FPM para Nginx. A maioria dos tutoriais encontrados na Internet é antiga e compila o PHP, mas isso não é recomendado para servidores de produção.
Como faço para configurar o PHP com mais facilidade com Nginx, APC e PostgreSQL? ou pelo menos PHP-FPM + Nginx?
ATUALIZAR
Agora instalei um novo Ubuntu Server 10.10 e executei o comando que Peter sugeriu com php5-suhosin
adição. Depois que o Nginx funcionar bem, edito o arquivo de configuração gerado para que fique como abaixo. Depois de recarregar o novo arquivo de configuração, o Nginx ainda funciona bem usando um index.html
arquivo, mas quando adiciono um index.php
arquivo, ele pára de funcionar. Eu acho que isso tem a ver com PHP-FPM, APC ou algo relacionado ao PHP. Mas também poderia ser o arquivo de configuração do PHP-FPM.
Aqui está o arquivo de configuração para o Nginx que estou usando, a maioria é gerado por padrão. Eu pulei comentários.
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;
}
}
Respostas:
A partir do Ubuntu 10.10, isso é trivial com o novo pacote php5-fpm
Os seguintes pacotes fazem tudo o que você precisa
nginx
- o servidor da webphp5-fpm
- Servidor php Fast-CGIphp-apc
- O pacote APC para phpphp5-pgsql
- Módulo PostgreSQL para PHPpostgresql
- O servidor de banco de dados PostgreSQLTodos juntos
sudo apt-get install nginx php5-fpm php-apc php5-pgsql postgresql
Também sugiro verificar se o apache2 está instalado. Nesse caso, exclua-o com um
sudo apt-get remove apache2
para evitar que apache e nginx concorram pela porta 80.Observe também que o padrão xdebug também deseja usar a porta 9000, assim como o php5-fpm. Portanto, se você usar o xdebug, altere essa porta, por exemplo, para 9001
E como bônus, um exemplo de configuração do nginx (coloque-o em / etc / nginx / sites-available e faça o link simbólico para / etc / nginx / sites-enabled)
fonte
test.php
arquivo simples , mas não funciona. Meu navegador diz "link quebrado" e no log de erros do Nginx há apenas uma entrada sobre o "favicon.ico". Eu acho que há algo no meu arquivo de configuração, mas eu realmente não tenho ideia e é muito difícil encontrar o erro.sudo service nginx start
esudo service php5-fpm start
deve fazer o trabalho. Claro, procure qualquer erro que eles possam dar.sudo service nginx reload
). Se tudo mais falhar, talvez você possa adicionar seu arquivo de configuração à sua pergunta..html
arquivos, mas não para.php
arquivos.