
Nginx es un servidor web ligero que ha ido ganando terreno al archiconocido apache. Otra de sus funciones es realizar las labores de proxy inverso hacia otros servidores (por ejemplo en mi blog ;-) ).
En esta entrada voy a poner a modo de chuletilla los comandos más comunes que utilizo así como donde se localizan sus ficheros de configuración principales.
He probado todos estos comandos en una distro ubuntu 16.04 LTS.
Comandos básicos para Iniciar/Reiniciar/Parar nginx
Iniciar servidor
systemctl start nginx
Reinciar servidor
systemctl restart nginx
Parar servidor
systemctl stop nginx
Fichero principal de configuración de nginx
El fichero principal de configuración de nginx es el fichero nginx.conf. Se localiza en:
/etc/nginx/
Si tu fichero de configuración comienza a crecer mucho es recomendable mediante el comando include añadir otros ficheros de configuración para tener más ordenada la configuración de todos tus sites, reglas... En otra entrada hablaré un poquito más sobre este tema.
Localización archivos .conf de los sites
Ruta donde localizar los "sites" disponibles para instalarlos en el servidor
/etc/nginx/sites-available/
Ruta donde localizar los "sites" que ya están corriendo en el servidor
/etc/nginx/sites-enabled
Habilitar/deshabilitar sites
En apache existen comandos para habilitar/eliminar un site del servidor. En nginx esta acción se realiza mediante el uso de comandos linux.
Por ejemplo, para habilitar un site cuyo archivo de configuración se llama mantis.conf:
ln -s /etc/nginx/sites-available/mantis.conf /etc/nginx/sites-enabled
Esto creará un enlace simbólico en la carpeta sites-enabled. Después de reiniciar nginx el site mantis estará disponible.
¿Y si quiero eliminar algún site?. Bastará con borrar el enlace simbólico y reiniciar. Sólo queda borrado de la carpeta sites-enabled. El fichero .conf sigue disponible en la carpeta sites-available.
rm /etc/nginx/sites-enabled/mantis.conf
Actualizando permisos y/o propietarios del site
Después de actualizar algún fichero es posible que hayas perdido los permisos o que el usuario del fichero haya cambiado. Tanto para apache como para nginx se suele utilizar mucho estos 2 comandos:
Dar como propietario www-data a la carpeta nginx y a todos sus ficheros/carpetas hijas.
sudo chown -R www-data:www-data /var/www/html/nginx
Cambiar los permisos a la carpeta nginx y a todos sus ficheros/carpetas hijas
sudo chmod -R 775 /var/www/html/nginx
r=read, w=write, x=execute
Owner: 7=rwx, Group: 5=r-x, Other: 5=r-x
La configuración óptima de un servidor web no es sencilla, hay multitud de temas a tratar y a tener en cuenta. Añadiré próximamente más entradas sobre temas concretos de nginx. Hay mucho que aprender.