nginx备忘录

Mugetsu的笔记博客 / 2023-05-03 / 原文

安装

rpm (离线)

直接进nginx下载包页面
选择你要的版本连接

wget https://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.2-1.el7.ngx.x86_64.rpm
rpm -ivh nginx-1.20.2-1.el7.ngx.x86_64.rpm
systemctl start nginx
systemctl status nginx
nginx -V

yum (rhel/centos)

yum -y install nginx

apt (debian/ubuntu)

apt update
apt install nginx

反向代理

先安装Tomcat测试tomcat下载页面
JDKjdk下载页面
反向代理模块介绍Module ngx_stream_proxy_module

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.74/bin/apache-tomcat-9.0.74.tar.gz
tar -zxvf apache-tomcat-9.0.74.tar.gz
mkdir /usr/tomcat
mv apache-tomcat-9.0.74 /usr/tomcat
cd /usr/tomcat/apache-tomcat-9.0.74/bin
./startup.sh
ss -ntl #查看tomcat端口,默认8080

反向代理配置(proxy-pass)

#vim /etc/nginx/nginx.conf
http {
    server {
        listen 80;
        server_name example.com;
        location / {
            proxy_pass http://backend-server:8080;
        }
    }
}

修改配置文件,添加反向代理server块

#vim /etc/nginx/nginx.conf
server{
	listen		81;
	location / {
		proxy_pass		http://127.0.0.1:8080;
	}
}
nginx -t #检查配置
nginx -s reload #重新加载配置

输入你的nginx主页面地址加上:81 就能出现tomcat页面

负载均衡

方式

负载均衡模块介绍Module ngx_stream_upstream_module

- 轮询(Round Robin): 将请求按顺序分配给后端服务器,每个请求依次分配给每台服务器。这种方式是Nginx默认的负载均衡策略。
- 权重轮询(Weighted Round Robin):根据不同后端服务器的权重来分配请求,权重越高的服务器处理的请求越多。可以根据服务器的性能和负载情况,灵活调整权重来实现负载均衡。
- IP Hash:基于客户端Ip地址的哈希值来选择后端服务器,同一个客户端的请求会被分配到同一个后端服务器上,可以解决session共享的问题。
- URL Hash:基于请求的URL的哈希值来选择后端服务器,同一个URL的请求会被分配到同一个后端服务器上。

负载均衡(upstream)模块配置

#vim /etc/nginx/nginx.conf
http {
    upstream backend {
        server backend-server1:8080;
        server backend-server2:8080;
        server backend-server3:8080;
    }
    server {
        listen 80;
        server_name example.com;
        location / {
            proxy_pass http://backend;
        }
    }
}

修改配置文件进行负载均衡配置

#vim /etc/nginx/nginx.conf
upstream bakend{
	server 127.0.0.1:8080 weight=1;
	server 127.0.0.1:8080 max_fails=3 fail_timeout=10s weight=5;
}

server{
	listen		81;
	location / {
		proxy_pass		http://bakend;
	}
}
nginx -t #检查配置
nginx -s reload #重新加载配置

输入主机地址:81出现tomcat页面为完成配置