Tutorial sobre cómo descargar, instalar, configurar y usar Nginx1.23.3 en el entorno CentOS 7.6

I. Introducción

Este artículo presenta principalmente el tutorial para descargar, instalar, configurar y usar Nginx en el entorno CentOS 7.6. Los amigos que estén aprendiendo nginx pueden consultarlo.

2. Descargar

Utilice el siguiente comando para descargar

wget http://nginx.org/download/nginx-1.23.3.tar.gz

3. Instale las bibliotecas de entorno requeridas por nginx.

En primer lugar, necesitamos instalar gcc, gcc-c++, zlib, pcre y openssl.

¿Determinar si el nombre del paquete está instalado?

rpm -q ?Nombre del paquete

3.1 Instalar gcc gcc-c++

yum instalar -y gcc gcc-c++

3.2 Descargar e instalar pcre

 cd /usr/local/
 wget http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz
 tar -zxvf pcre-8.45.tar.gz
 cd pcre-8.45
 ./configure
 make && make install

3.3 Descargar e instalar openssl

 cd /usr/local/
 wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz --no-check-certificate
 tar -zxvf openssl-1.1.1t.tar.gz
 cd openssl-1.1.1t
 ./config
 make && make install

Nota: Recuerde agregar –no-check-certificate después de wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz; de lo contrario, se informará un error. Muestra que el certificado emitido en www.openssl.org ha caducado y no se puede verificar.

3.4 Descargar e instalar zlib

 cd /usr/local/
 wget http://zlib.net/zlib-1.2.13.tar.gz
 tar -zxvf zlib-1.2.13.tar.gz
 cd zlib-1.2.13
 ./configure
 make && make install

4. Instale nginx

4.1 Configuración de instalación

 cd /usr/local/
wget http://nginx.org/download/nginx-1.23.3.tar.gz
 tar -zxvf nginx-1.23.3.tar.gz -C /usr/local/
 cd nginx-1.25.2
 ./configure  --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.45  --with-openssl=/usr/local/openssh
 make && make install

4.2 Cree un enlace suave SSL; de lo contrario, se informará un error al iniciar nginx

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

5. Inicie Nginx

5.1 Iniciar Nginx

/usr/local/nginx/sbin/nginx

Pruebe nginx y acceda a la IP del servidor desde otra máquina. Si aparece la página "¡Bienvenido a nginx!", significa éxito; si no puede acceder a la página pero puede hacer ping al servidor, es posible que haya activado el firewall, simplemente apáguelo. .

5.2 Apagar el firewall

systemctl stop firewalld.service

5.3 Apague el firewall e inícielo automáticamente al arrancar

systemctl disable firewalld.service

5.4 Detener el servicio nginx

/usr/local/nginx/sbin/nginx –s stop

5.5 Cerrar con fuerza el servicio nginx

pkill nginx

5.6 Configurar nginx para que se inicie automáticamente al arrancar

Cree un nombre de servicio nginx en la ruta /usr/lib/systemd/system, aquí configurado en nginx.service

cd /usr/lib/systemd/system
vim nginx.service

Configura lo siguiente

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid  #更换成自己安装nginx的路径
ExecStartPre=/usr/local/nginx/sbin/nginx -t #更换成自己安装nginx的路径
ExecStart=/usr/local/nginx/sbin/nginx #更换成自己安装nginx的路径
ExecReload=/usr/local/nginx/sbin/nginx -s reload #更换成自己安装nginx的路径
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Simplemente guarde la configuración.

Configurar el inicio automático al arrancar

systemctl enable nginx.service

Compruebe si la configuración es exitosa

systemctl list-unit-files | grep nginx
启动:systemctl start nginx.service
关闭:systemctl stop nginx.service

6. Introduzca la configuración de Nginx.

6.1 Introducción al archivo de configuración nginx.conf

#nginx配置
#user  nobody;
worker_processes  1;    #服务器并发处理服务关键配置

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    
    
    worker_connections  1024;   #最大连接数为 1024.
}

http {
    
    
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    tcp_nopush     on;
    keepalive_timeout  65;

    #gzip  on;  #http头压缩
    
    #正向代理配置
    server {
    
        
        listen       8080;  # 代理监听端口
        resolver 114.114.114.114; #代理DNS配置
        
        #charset koi8-r;

        access_log  /home/lich/logs/fproxy.access.log;  #accesslog输出路径
        error_log /home/lich/logs/fproxy.error.log;     #errorlog输出路径
        
        location / {
    
    
           
            proxy_pass $scheme://$host$request_uri;     # 配置正向代理参数
            proxy_set_header Host $http_host;           # 解决如果URL中带"."后Nginx 503错误

            proxy_buffers 256 4k;   # 配置缓存大小
            proxy_max_temp_file_size 0;     # 关闭磁盘缓存读写减少I/O
            proxy_connect_timeout 30;       # 代理连接超时时间

            # 配置代理服务器HTTP状态缓存时间
            proxy_cache_valid 200 302 10m;
            proxy_cache_valid 301 1h;
            proxy_cache_valid any 1m;
        }
    }

    
    #反向代理配置
    server {
    
    
        listen       80;
        server_name  test.test.com;   #代理转发域名配置

        access_log  /home/lich/logs/rproxy.access.log;
        error_log /home/lich/logs/rproxy.error.log;

        location / {
    
    
            proxy_pass http://172.16.113.1:8001;    #代理到后段实际应用服务器地址
            index  index.html index.htm index.jsp;
        }

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


6.2 Monitoreo del uso de la configuración

listen *:80 | *:8080        #监听所有80端口和8080端口
listen IP_address:port     #监听指定的地址和端口号
listen IP_address          #监听指定ip地址所有端口
listen port                 #监听该端口的所有IP连接

6.3 nombre_servidor: configuración de host virtual basada en nombres

El formato de sintaxis es el siguiente:

 server_name   name ...;

Para el nombre, puede haber solo uno o varios nombres, separados por espacios. Cada nombre consta de dos o tres párrafos, separados por "." entre cada párrafo.

server_name test.com www.test.com

Se puede utilizar el carácter comodín "*", pero el carácter comodín solo se puede utilizar en el primer o último párrafo que consta de tres caracteres, o en el último párrafo que consta de dos caracteres.

server_name *.test.com www.test.*

También puede utilizar expresiones regulares, utilizando "~" como etiqueta inicial de la cadena de expresión regular.

server_name ~^www\d+\.test\.com$;

6.4 nombre_servidor: configuración del host virtual basada en la dirección IP

#La estructura sintáctica es la misma que la coincidencia basada en el nombre de dominio y no es necesario considerar comodines ni expresiones regulares.

server_name 192.168.1.1

6.5 pase_proxy

Este comando se utiliza para configurar la dirección del servidor proxy. Puede tener la forma de nombre de host, dirección IP y número de puerto.

# proxy_pass URL;

# URL 为被代理服务器的地址,可以包含传输协议、主机名称或IP地址加端口号,URI等。
proxy_pass  http://www.test.com/uri;

índice 6.6

Esta directiva se utiliza para configurar la página de inicio predeterminada del sitio web.

#index  filename ...;
#后面的文件名称可以有多个,中间用空格隔开。
index  index.html index.jsp;

Siete, equilibrio de carga ngxin

7.1 Equilibrio de carga del algoritmo de sondeo

upstream OrdinaryPolling {
    
    
    server 172.16.113.1:8081;
    server 172.16.113.1:8082;
}
server {
    
    
listen       80; 
server_name  test.test.com;

access_log  /home/lich/logs/rproxy_slb.access.log;
error_log /home/lich/logs/rproxy_slb.error.log;

location / {
    
    
             proxy_pass http://OrdinaryPolling;
             index  index.html index.htm index.jsp;
             # deny ip
             # allow ip
         
        }
}

7.2 Equilibrio de carga de sondeo ponderado proporcionalmente


upstream OrdinaryPolling {
    
    
    server 172.16.113.1:8081 weight=2;
    server 172.16.113.1:8082 weight=5;
}
server {
    
    
listen       80; 
server_name  test.test.com;

access_log  /home/lich/logs/rproxy_slb.access.log;
error_log /home/lich/logs/rproxy_slb.error.log;


location / {
    
    
             proxy_pass http://OrdinaryPolling;
             # index  index.html index.htm index.jsp;
             # deny ip
             # allow ip
         
        }
}



7.3 Equilibrio de carga basado en enrutamiento IP

Se agregó la directiva ip_hash al bloque de directivas ascendentes. Esta instrucción le dice al servidor nginx que las solicitudes enviadas por clientes con la misma dirección IP se distribuirán al mismo servidor Tomcat para su procesamiento.

upstream OrdinaryPolling {
    
    
    server 172.16.113.1:8081 weight=2;
    server 172.16.113.1:8082 weight=5;
    ip_hash;
}
server {
    
    
listen       80; 
server_name  test.test.com;
access_log  /home/lich/logs/rproxy_slb.access.log;
error_log /home/lich/logs/rproxy_slb.error.log;
location / {
    
    
             proxy_pass http://OrdinaryPolling;
             # index  index.html index.htm index.jsp;
             # deny ip
             # allow ip
        }
}

7.4 Equilibrio de carga basado en el tiempo de respuesta del servidor

La carga se realiza de acuerdo al tiempo que tarda el servidor en procesar la solicitud, cuanto más rápido se procesa la solicitud, es decir, menor es el tiempo de respuesta, se asigna prioridad.

upstream OrdinaryPolling {
    
    
    server 172.16.113.1:8081 weight=2;
    server 172.16.113.1:8082 weight=5;
    fair;
}
server {
    
    
listen       80; 
server_name  test.test.com;

access_log  /home/lich/logs/rproxy_slb.access.log;
error_log /home/lich/logs/rproxy_slb.error.log;


location / {
    
    
             proxy_pass http://OrdinaryPolling;
             # index  index.html index.htm index.jsp;
             # deny ip
             # allow ip
         
        }
}

Supongo que te gusta

Origin blog.csdn.net/lcy1619260/article/details/132619641
Recomendado
Clasificación