Nginx pour le proxy inverse et l'équilibrage de charge

environnement:

Ubuntu : 20.04

nginx : 1.18

chat : 10.0.23.0

machine virtuelle:

chat 192.168.111.145:8080

nginx : 192.168.111.144:80

Proxy inverse :

But:

Visitez http://192.168.111.144 pour accéder à Tomcat

Installez Tomcat sur la machine virtuelle 192.168.111.145, accédez au site officiel de Tomcat pour extraire un package Tomcat, puis décompressez-le, entrez dans le répertoire /bin et exécutez la commande ./startup.sh pour démarrer Tomcat.

C'est OK

Installez nginx sur la machine virtuelle 192.168.111.144. Comme le mien est un système Ubuntu20.04, je peux le télécharger directement.

apt -y install nginx

Allez ensuite dans le dossier /etc/nginx/sites-available pour configurer le fichier par défaut. La configuration est la suivante.

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;
#	}
#}

 Ensuite, nous avons utilisé notre vraie machine pour accéder au 192.168.111.144 et avons constaté qu'il avait été transféré.

 À propos, proxy direct et proxy inverse.

Le proxy direct ressemble à la technologie VPN que nous utilisons souvent. Nous pouvons changer notre point proxy pour accéder aux ressources auxquelles nous souhaitons accéder.

Le proxy inverse signifie que nous accédons à un serveur, et ce serveur n'est qu'un point proxy qui transmettra aux ressources auxquelles nous voulons vraiment accéder, tout comme l'opération ci-dessus.

Pour faire simple, le proxy direct nous oblige à modifier le point de proxy, mais vous ne connaissez pas du tout le proxy inverse.

L'équilibrage de charge:

J'espère sauvegarder tous les fichiers de configuration par défaut à modifier avant l'opération pour développer une bonne habitude.

environnement:

gratuit04 192.168.111.144 nginx
Ubuntu05 192.168.111.145 matou
recrue06 192.168.111.111 matou

Modifiez la page par défaut de Tomcat pour l'identification.

La page par défaut est ici

 Modifiez-le comme suit :

 Configurez le fichier de configuration nginx sur Ubuntu04. Le mien est un système Ubuntu. D'autres systèmes peuvent être différents, mais ils devraient être similaires.

Créez un fichier avec le suffixe .conf sous /etc/nginx/conf.d. Ce que j'ai créé ici est tomcat.conf 

 La configuration est la suivante :

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;
        }
}

La valeur suivante est le poids. J'ai deux serveurs. Si les performances sont bonnes, on peut augmenter le poids de manière relative.

Redémarrez nginx.

Visitez http://192.168.111.144:81

Actualisez-le et il devient Ubuntu 05. Il s'agit d'un sondage à tour de rôle.

 Fait! ! !

Une autre journée solide. hhhh

 

Je suppose que tu aimes

Origine blog.csdn.net/qq_48480384/article/details/127253764
conseillé
Classement