nginx备忘录
安装
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页面为完成配置