Servidor web nginx
Instalación de nginx
apt-get update
apt-get install nginx
Introducción a virtual hosting con nginx
Podemos encontrar los sitios disponibles y activos del servidor nginx, siguiendo la filosofía de Apache2 en los directorios:
/etc/nginx/sites-availables/
/etc/nginx/sites-enabled/
Para activar un nuevo sitio tenemos que crear el enlace directo en el directorio /etc/nginx/sites-enabled/
:
ln -s /etc/nginx/sites-available/test.com /etc/nginx/sites-enabled/
En el fichero /etc/nginx/sites-availables/default
nos encontramos la directiva:
listen 80 default_server;
default_server;
nos permite indicar el sitio virtual por defecto.
Migrando configuración de Apache2 a nginx
Ejemplo de configuración básdica de un sitio virtual en apache2:
<VirtualHost *:80>
ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html/prueba>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
require ip 127.0.0.0/255.0.0.0 ::1/128
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Si traducimos la misma configuración en un servidor nginx:
server {
listen 80;
root /var/www/html;
index index.html index.htm;
server_name www.example.com;
location / {
try_files $uri $uri/ /index.html;
}
location /prueba/ {
alias /var/www/html/prueba;
autoindex on;
allow all;
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
deny all;
}
}
Podríamos resumir las correspondencias en el siguiente cuadro:
Apache Nginx
------ ------
<VirtualHost *:80> server {
listen 80;
ServerName yoursite.com server_name www.yoursite.com;
DocumentRoot /path/to/root root /path/to/root;
AllowOverride All (No Available Alternative)
DirectoryIndex index.php index index.php;
ErrorLog /path/to/log error_log /path/to/log error;
CustomLog /path/to/log combined access_log /path/to/log main;
Alias /url/ "/path/to/files" location /url/ {
<Directory "/path/to/files"> alias /path/to/files;
Options Indexes autoindex on
Require all granted allow all
allow 127.0.0.1 allow 127.0.0.1;
deny all deny all;