Nginx para proxy inverso y equilibrio de carga

ambiente:

Ubuntu: 20.04

nginx: 1.18

gato: 10.0.23.0

máquina virtual:

gato 192.168.111.145:8080

nginx: 192.168.111.144:80

Proxy inverso:

Objetivo:

Visite http://192.168.111.144 para saltar a Tomcat.

Instale Tomcat en la máquina virtual 192.168.111.145, vaya al sitio web oficial de Tomcat para extraer un paquete de Tomcat, luego descomprímalo, ingrese al directorio /bin y ejecute el comando ./startup.sh para iniciar Tomcat.

Está bien

Instale nginx en la máquina virtual 192.168.111.144. Como el mío es un sistema ubuntu20.04, puedo descargarlo directamente.

apt -y install nginx

Luego vaya a la carpeta /etc/nginx/sites-available para configurar el archivo predeterminado, la configuración es la siguiente.

root@apang:/etc/nginx/sites-available# cat default 
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
server {
	listen 80 default_server;
	listen [::]:80 default_server;

	# SSL configuration
	#
	# listen 443 ssl default_server;
	# listen [::]:443 ssl default_server;
	#
	# Note: You should disable gzip for SSL traffic.
	# See: https://bugs.debian.org/773332
	#
	# Read up on ssl_ciphers to ensure a secure configuration.
	# See: https://bugs.debian.org/765782
	#
	# Self signed certs generated by the ssl-cert package
	# Don't use them in a production server!
	#
	# include snippets/snakeoil.conf;

	#root /var/www/html;

	# Add index.php to the list if you are using PHP
	#index index.html index.htm index.nginx-debian.html;

	#server_name _;

	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to displaying a 404.
		#try_files $uri $uri/ =404;
		proxy_pass http://192.168.111.145:8080;
	}
	#location /tomcat {
	#	proxy_pass http://192.168.111.145:8080;
	#	index index.html index.htm;
	#}

	# pass PHP scripts to FastCGI server
	#
	#location ~ \.php$ {
	#	include snippets/fastcgi-php.conf;
	#
	#	# With php-fpm (or other unix sockets):
	#	fastcgi_pass unix:/run/php/php7.4-fpm.sock;
	#	# With php-cgi (or other tcp sockets):
	#	fastcgi_pass 127.0.0.1:9000;
	#}

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	#location ~ /\.ht {
	#	deny all;
	#}
}


# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
#	listen 80;
#	listen [::]:80;
#
#	server_name example.com;
#
#	root /var/www/example.com;
#	index index.html;
#
#	location / {
#		try_files $uri $uri/ =404;
#	}
#}

 Luego usamos nuestra máquina real para acceder a 192.168.111.144 y descubrimos que había sido reenviado.

 Por cierto, proxy directo y proxy inverso.

El proxy directo es como la tecnología VPN que utilizamos a menudo. Podemos cambiar nuestro punto de proxy para acceder a los recursos a los que queremos acceder.

Proxy inverso significa que accedemos a un servidor, y este servidor es solo un punto proxy que reenviará los recursos a los que realmente queremos acceder, al igual que la operación anterior.

En pocas palabras, el proxy directo requiere que cambiemos el punto del proxy, pero usted no conoce el proxy inverso en absoluto.

Balanceo de carga:

Espero hacer una copia de seguridad de todos los archivos de configuración predeterminados que se modificarán antes de la operación para desarrollar un buen hábito.

ambiente:

gratis04 192.168.111.144 nginx
ubuntu05 192.168.111.145 gato
novato06 192.168.111.111 gato

Modifique la página predeterminada de Tomcat para identificarla.

La página predeterminada está aquí.

 Modifíquelo a esto:

 Configure el archivo de configuración nginx en ubuntu04. El mío es un sistema ubuntu. Otros sistemas pueden ser diferentes, pero deberían ser similares.

Cree un archivo con el sufijo .conf en /etc/nginx/conf.d. Lo que creé aquí es tomcat.conf 

 La configuración es la siguiente:

upstream tomcat {
        #负载均衡方法,可以自己选,默认为轮询方式
        #服务器的访问方式,
        server 192.168.111.145:8080 weight=1;
        server 192.168.111.111:8080 weight=1;
}

server {
        #负载均衡监视的端口
        listen 81 default_server;
        listen [::]:81 default_server;
        #负载均衡服务器的名称,没有的话填_
        server_name _;
        location / {
                #代理转发,注意这个tomcat要与上面的upstream后面的字符一样
                proxy_pass http://tomcat;
        }
}

El siguiente valor es el peso. Tengo dos servidores. Si el rendimiento es bueno, podemos aumentar el peso relativamente.

Reinicie nginx.

Visita http://192.168.111.144:81

Actualízalo y se convierte en ubuntu05. Esto es una encuesta, por turnos.

 ¡Hecho! ! !

Otro día sólido. hhhh

 

Supongo que te gusta

Origin blog.csdn.net/qq_48480384/article/details/127253764
Recomendado
Clasificación