Echa la compilación de nuestro nginx ahora voy a explicar mas o menos mi sistema para gestionar virtualhosts con nginx. Primero de todo, suelo meter los virtualhosts en /opt en el que crearemos el esqueleto para cada slice.
Configuramos nginx para virtualhosts utilizando ficheros separados para cada uno de ellos:
mkdir -p /usr/local/nginx/conf/{sites-available,sites-enabled}Substituímos con lo siguiente en el fichero /usr/local/nginx/conf/nginx.conf, para que lea todos los ficheros en sites-enabled y de paso lo limpiamos:
user www-data;
worker_processes 1; #Nú;mero de workers configurable segú;n necesidades
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
include /etc/nginx/sites-enabled/*;
}LLegados a este punto ya tenemos nuestro nginx preparado para servir cualquiera de los distintos tipos de servidores que soporta (web, proxy web inverso, mail, balanceo de carga). Como aquí nos centraremos en configurar un servidor web con virtualhosts, sigo relatando las operaciones.
Como dije suelo poner mis webs en /opt por lo que crearé el “raiz” del servidor con toda su estructura interna
# Creamos carpeta general y la default donde alvergar los estáticos por defecto del servidor
mkdir -p /opt/sites/default
#Creamos la estructura interna virtualhost default
mkdir -p /opt/sites/default/{public,private,logs,cgi-bin,backup}Ahora tenemos que configurar el virtualhost con sus parámetros y configuracion, he aquí el mio con soporte para php5:
server {
listen 80;
server_name virtualhost.com;
rewrite ^/(.*) http://www.virtualhost.com/$1 permanent;
}
server {
listen 80;
server_name www.virtualhost.com;
root /opt/sites/default/;
#charset koi8-r;
access_log /opt/sites/virtualhost.com/logs/default.access.log;
error_log /opt/sites/virtualhost.com/logs/default.error.log;
location / {
# autoindex on;
root /opt/sites/default/virtualhost;
index index.php index.html index.htm;
# Si el fichero existe sirvelo
if (-f $request_filename) {
break;
}
# Si el directorio existe, sirvelo
if (-d $request_filename) {
break;
}
}
error_page 404 /404.html;
location = /404.html {
root /opt/sites/virtualhost.com/errors;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /opt/sites/virtualhost.com/errors;
}
location ~ /\.ht {
deny all;
}
}Configuración de PHP 5 en Nginx (Nginx III)
Tercera entrega de la serie sobre Nginx: instalar PHP 5 y servir aplicaciones y scripts PHP desde el servidor.
Hardening SSL encryption in an nginx server
POODLE killed SSLv3 for good. The nginx configuration that follows from that — protocols, cipher suite, forward secrecy, OCSP stapling and HSTS — and the two lines that matter more than the cipher list everyone copies.
Web Server optimizado con Nginx (Nginx I)
Primera entrega de la serie sobre Nginx: compilar e instalar el servidor buscando el mínimo consumo de recursos.