I. Servidor de cero a uno: Ubuntu crea un servidor estático nginx
Cree un directorio para example.com de la siguiente manera, usando el indicador -p para crear los directorios principales que desee:
$ sudo mkdir -p /var/www/ example.com/ html
A continuación, asigne la propiedad del directorio utilizando la variable de entorno $USER:
USER: $USER /var/www/ example.com/html/
Si no cambió el valor de umask, los permisos para el directorio raíz de la red deben ser correctos, pero puede asignar la propiedad del directorio escribiendo:
$ sudo chmod -R 755 /var/www/ ejemplo.
A continuación, utilice gedit o su editor favorito para crear una página de ejemplo index.html:
$ gedit /var/www/ example.com/html/index.html
p>
Agregue el siguiente ejemplo HTML allí:
lt; htmlgt;
lt; ; Bienvenido a Ejemplo.com !lt;/titlegt;
lt;/headgt;
lt;bodygt;
lt;h1gt;¡Éxito! ¡El bloque del servidor example.com se está ejecutando! lt;/h1gt;
lt;/bodygt;
lt;/htmlgt;
Para que Nginx proporcione este servicio, es necesario crear un archivo que contiene el bloque de servidor de directivas correcto. En lugar de modificar el archivo de configuración predeterminado directamente, cree un nuevo archivo en /etc/nginx/sites-available/example.com:
$ sudo gedit /etc/nginx/sites-available/example.com
p>Pegue esto en el siguiente bloque de configuración, que es similar a la configuración predeterminada pero actualizada con nuestro nuevo directorio y nombre de dominio:
servidor {
escucha 80;
listening[::]:
}
Tenga en cuenta que hemos actualizado la configuración raíz a nuestro nuevo directorio y hemos cambiado el nombre del servidor establecido en nuestro nombre de dominio.
A continuación, habilitemos este archivo creando un enlace al directorio de habilitación del sitio de inicio, que Nginx leerá durante el inicio:
$ sudo ln -s /etc /nginx/sites- disponible/example.com /etc/nginx /sites-enabled/
Ahora habilite ambos módulos de servidor y configúrelos para responder a solicitudes basadas en las directivas listening y server_name (puede leer sobre Nginx (Más información en cómo se manejan estas directivas):
ejemplo.com: Responderá a las solicitudes de ejemplo.com y www.ejemplo.com.
predeterminado: Responderá a cualquier solicitud en el puerto 80 que no coincida con los otros dos módulos.
Para evitar problemas de memoria del depósito de hash que pueden resultar de agregar nombres de servidores adicionales, es necesario ajustar los valores individuales en el archivo /etc/nginx/nginx.conf.
Abra el archivo: sudo gedit /etc/nginx/nginx.conf
Busque la directiva server_names_hash_bucket_size, elimine el símbolo # y descomente la línea:
.. .
http {
...
server_names_hash_bucket_size 64
...
} p>
...
A continuación, pruebe el archivo Nginx para detectar errores de sintaxis:
$ sudo nginx -t
nginx: la configuración La sintaxis del archivo /etc/nginx/nginx.conf es correcta
nginx. El archivo de configuración /etc/nginx/nginx.conf se probó correctamente
Si no hay problemas, reinicie Nginx para habilitar los cambios:
$ sudo systemctl restart nginx
La familiaridad es importante con los archivos y directorios de Nginx
archivo de configuración del servidor nginx:
/etc/nginx: directorio de configuración de Nginx. Todos los archivos de configuración de Nginx están aquí.
/etc/nginx/nginx.conf: archivo de configuración principal de Nginx. Este archivo se puede modificar para cambiar la configuración global de Nginx.
/etc/nginx/sites-available/: Directorio que almacena bloques de servidores para cada sitio. Nginx no utilizará archivos de configuración en este directorio a menos que esté vinculado a sitios habilitados. Normalmente, toda la configuración del bloque del servidor se realiza en este directorio y luego se habilita mediante vínculos a otros directorios.
/etc/nginx/sites-enabled/: Directorio que almacena los módulos del servidor de sitio habilitados. Normalmente, estos bloques se crean vinculando a archivos de configuración en el directorio de sitios disponibles.
/etc/nginx/snippets: este directorio contiene fragmentos de configuración que se pueden incluir en otras partes de la configuración de Nginx. Las piezas de configuración repetibles se pueden refactorizar en fragmentos.
archivo de registro del servidor nginx:
/var/log/nginx/access.log: a menos que Nginx esté configurado de otra manera, cada solicitud al servidor web se registrará en este archivo de registro medio .
/var/log/nginx/error.log: cualquier error de Nginx se registrará en este archivo de registro.