Uso Ubuntu Server 10.10 y me gustaría configurar un entorno de servidor web con NginX , PHP 5.3.3, PostgreSQL y preferiblemente APC y PHP Suhosin.
Ya he configurado PostgreSQL con apt-get install postgresql
y Nginx con apt-get install nginx
.
Pero, ¿cómo configuro PHP para estos? ¿Puedo hacer esto usando apt-get install
o tengo que descargar las fuentes y compilarlo? Preferiría hacerlo usando apt-get
.
Me gustaría usar PHP-FPM para Nginx. La mayoría de los tutoriales que he encontrado en Internet son antiguos y compilan el PHP, pero esto no se recomienda para servidores de producción.
¿Cómo configuro PHP más fácilmente con Nginx, APC y PostgreSQL? o al menos PHP-FPM + Nginx?
ACTUALIZAR
Ahora he instalado un nuevo Ubuntu Server 10.10 y ejecuté el comando que Peter sugirió con php5-suhosin
agregado. Después de eso, Nginx funciona bien, luego edito el archivo de configuración generado de la siguiente manera. Después de volver a cargar el nuevo archivo de configuración, Nginx todavía funciona bien con un index.html
archivo, pero cuando agrego un index.php
archivo, deja de funcionar. Supongo que esto tiene que ver con PHP-FPM, el APC o algo relacionado con PHP. Pero también podría ser el archivo de configuración para PHP-FPM.
Aquí está el archivo de configuración para Nginx que estoy usando, la mayor parte se genera por defecto. Me he saltado los comentarios.
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;
}
}
Respuestas:
A partir de Ubuntu 10.10, esto es trivial con el nuevo paquete php5-fpm
Los siguientes paquetes hacen todo lo que necesitas
nginx
- el servidor webphp5-fpm
- Servidor php Fast-CGIphp-apc
- El paquete APC para phpphp5-pgsql
- Módulo PostgreSQL para PHPpostgresql
- El servidor de base de datos PostgreSQLTodos juntos
sudo apt-get install nginx php5-fpm php-apc php5-pgsql postgresql
También sugiero verificar si apache2 está instalado. Si es así, elimínelo con un
sudo apt-get remove apache2
para evitar que apache y nginx compitan por el puerto 80.Tenga en cuenta también que el estándar xdebug también quiere usar el puerto 9000, al igual que php5-fpm. Entonces, si usa xdebug, cambie ese puerto, por ejemplo, a 9001
Y como beneficio adicional, un ejemplo de configuración nginx (colóquelo en / etc / nginx / sites-available y enlace simbólico en / etc / nginx / sites-enabled)
fuente
test.php
archivo simple , pero no funciona. Mi navegador dice "enlace roto" y en el registro de errores de Nginx solo hay una entrada sobre el "favicon.ico". Supongo que hay algo con mi archivo de configuración, pero realmente no tengo idea y es bastante difícil encontrar el error.sudo service nginx start
ysudo service php5-fpm start
debería hacer el trabajo. Por supuesto, esté atento a cualquier error que puedan dar.sudo service nginx reload
). Si todo lo demás falla, tal vez podría agregar su archivo de configuración a su pregunta..html
archivos pero no funciona para.php
archivos.