Saltar al contenido

Ponerse en funcionamiento con Nginx – tutorial de Nginx

Recabamos por todo el mundo online y así brindarte la solución a tu inquietud, si continúas con preguntas deja la pregunta y te contestamos porque estamos para ayudarte.

Solución:

1. Introducción #

nginx [engine x] es un servidor proxy inverso y HTTP, un servidor proxy de correo y un servidor proxy TCP genérico, originalmente escrito por Igor Sysoev.

Según la definición oficial, nginx es un servidor HTTP y un servidor proxy inverso. apache debería ser familiar para todos, y nginx es un servidor web que proporciona static páginas web similares a apache. nginx es un modelo de concurrencia de E / S asíncrono basado en eventos con mejor rendimiento que el modelo de concurrencia multiproceso y multiproceso de apache. nginx es un servidor ligero.

2. N.º de instalación

Para instalar nginx en un sistema ubuntu, solo necesita un comando.

sudoapt-getinstall nginx

Si desea compilar e instalar nginx, es fácil seguir el mismo proceso de tres pasos.

. /configure
makesudomakeinstall

Los parámetros de la instalación se pueden configurar según sus necesidades. Por ejemplo.

. /configure 
--user=nginx 
--group=nginx 
--prefix=/etc/nginx 
--sbin-path=/usr/sbin/nginx 
--conf-path=/etc/nginx/nginx.conf 
--pid-path=/var/run/nginx.pid 
--lock-path=/var/run/nginx.lock 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log 
--with-http_gzip_static_module 
--with-http_stub_status_module 
--with-http_ssl_module 
--with-pcre 
--with-file-aio 
--with-http_realip_module 
--without-http_scgi_module 
--without-http_uwsgi_module 
--without-http_fastcgi_module

Para obtener detalles sobre cómo compilar e instalar, consulte este artículo oficial configurar.

3. Sintaxis de la línea de comandos #

Iniciar, reiniciar y detener el servicio nginx también es muy simple.

Puedes hacerlo.

sudo /etc/init.d/nginx restart # or start, stop

O esto.

sudoservice nginx restart # or start, stop

A veces cambiamos el archivo de configuración solo para que surta efecto, para que no tenga que reiniciarlo, simplemente vuelva a cargarlo.

sudo nginx -s reload

Para obtener más comandos, consulte este artículo. Guía para principiantes.

4. Sintaxis del archivo de configuración #

nginx es un sistema modular y todo el sistema está dividido en módulos. Cada módulo es responsable de una función diferente. Por ejemplo, http_gzip_static_module es responsable de la compresión y http_ssl_module es responsable del cifrado. Si no usa un módulo, puede eliminarlo y hacer que todo el nginx sea más pequeño y más adecuado para usted. La directiva configure anterior viene con muchos parámetros, que es donde se pueden agregar o eliminar ciertos módulos antes de la compilación.

Los módulos que desea usar ya se han compilado en nginx y forman parte de él, entonces, ¿cómo los usa? Esto es similar a un servicio de Linux tradicional, donde cambia la funcionalidad a través de un archivo de configuración. Los módulos nginx se utilizan a través de algo llamado directiva. Todo el archivo de configuración está controlado por directivas. nginx también tiene sus propias directivas integradas, como eventos, http, servidor y ubicación, que se mencionarán a continuación.

Para los sistemas ubuntu, el archivo de configuración se almacena en /etc/nginx/nginx.conf Después de la instalación.

Quite los comentarios.

user www-data;
worker_processes 1;
pid /run/nginx.pid;

events {
  worker_connections 768;
events  worker_connections 768; 

http 

  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 65;
  types_hash_max_size 2048;

  include /etc/nginx/mime.types;
  default_type application/octet-stream;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  gzip on;
  gzip_disable "msie6";

  include /etc/nginx/conf.d/*.conf;
  include /etc/nginx/sites-enabled/*;

En este archivo, ignorando las tres líneas anteriores por ahora, se compone de dos bloques (bloques).

events 


http 


mail 

Los bloques también se pueden anidar entre bloques. Por ejemplo, puede poner el servidor en http.

http 
 server 
 

Este es el archivo de configuración principal. A veces, un solo archivo de configuración no es suficiente, especialmente cuando el archivo de configuración es muy grande, no puede simplemente guardar toda la lógica en un solo archivo, por lo que el archivo de configuración también debe administrarse. Mira las dos últimas líneas de include, lo que significa que los archivos que terminan con conf en el directorio /etc/nginx/conf.d/ se incluyen automáticamente, así como todos los archivos del directorio /etc/nginx/sites-enabled/.

Debajo /etc/nginx/conf.d/ hay un archivo de configuración llamado rails.conf, que se lee más o menos así.

upstream rails365 
    # Path to Unicorn SOCK file, as defined previously
    server unix:///home/yinsigan/rails365/shared/tmp/sockets/unicorn.sock fail_timeout=0;
server
server 
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    server_name www.rails365.net;
    root /home/yinsigan/rails365/current/public;
    keepalive_timeout 70;

  ...

    # redirect server error pages to the static page /50x.html
    error_page 500 502 503 504 /50x.html;
    location = /50x.html 
        root html;
    

  ...


server 
  listen 80;
  server_name rails365.net;

  return 301 $scheme://www.rails365.net$request_uri;

La estructura final de todo el archivo de configuración se parece a esto.

# Here is some configuration
...
http {
  # Here are some configurations
  ...
  # This part may exist in the /etc/nginx/conf.d/ directory
  upstream 

  upstream  
  server 
    listen 8080;
    root /data/up1;

    location / 
    
  
  server 
    listen 80;
    root /data/up2;

    location / 
    
  
  Here are some configurations
  ...


mail 

En aras del espacio, se omite parte del contenido.

Existe una jerarquía y herencia entre directivas e instrucciones. Por ejemplo, la directiva dentro de http afecta al servidor.

Si desea implementar un servicio web ahora, simplemente agregue un nuevo archivo al directorio /etc/nginx/conf.d/.

http tiene el mismo nivel que los eventos y el correo. http está relacionado con la web.

servidor, como su nombre lo indica, es un servicio, por ejemplo, ahora tiene un nombre de dominio, para implementar un sitio web, luego tiene que crear un bloque de servidor.

Supongamos que tiene un nombre de dominio llamado foo.bar.com y desea poder acceder a él cuando lo escribe en su navegador, entonces es posible que deba hacer esto.

server 
  listen 80;
  root /home/yinsigan/foo;
  server_name foo.bar.com;
  location / 
  
  

Esto es lo que significa. listen es el puerto para escuchar. Si no se especifica, el puerto 80 es el puerto que utilizan normalmente los sitios web.

root es el directorio raíz del código fuente del sitio static archivos. En términos generales, el último archivo html, como index.html, se colocará en el directorio especificado por root.

server_name especifica el nombre de dominio.

Con estos, escribiendo http://foo.bar.com bajo el navegador nos permitirá acceder al contenido del archivo index.html bajo el directorio /home/yinsigan/foo. Pero a veces necesitamos acceder http://foo.bar.com/articles? Entonces necesitamos usar una ubicación, como esta.

server 
  ...
  server_name foo.bar.com;
  location /articles 

  

además http://foo.bar.com/articles, también hay http://foo.bar.com/groups, /menus/1 y muchos otros, ¿tenemos que crear una ubicación para cada uno de ellos? Contamos con métodos dinámicos para manejarlo.

He aquí un ejemplo.

server jpg

Cuando el usuario visita http://example.org se va a leer /var/root/index.html, si no puede encontrarlo, lee index.php y reenvía la lógica dentro fastcgi_pass. Cuando el usuario visita http://example.org/about.html leerá el /var/root/about.html archivo, y por el mismo token, cuando el usuario visita http://example.org/about.gif leerá el /var/root/about.gif archivo y caducará después de 30 días, es decir, 30 días de almacenamiento en caché.

Si estás de acuerdo, puedes dejar un ensayo acerca de qué te ha impresionado de este enunciado.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *