Nginx笔记

NginxTabTan

本篇笔记记录于2020年11月,迁移至此,分享给需要它的人。


简介

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

反向代理、负载均衡、动静分离

正向代理

例如配置代理服务器,通过代理服务器访问网络,就叫做正 向代理。

反向代理

反向代理就是客户端对代理是无感知的,不需要任何配置就能访问,只需要将数据发送到反向代理服务器,由反向代理服务器选择目标服务器获取数据再返回给客户端。对外暴露的是代理服务器的地址,隐藏了真实服务器的地址。

负载均衡

单个服务器解决不了,我们增加服务器的数量,然后请求分发到各个服务器上。将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器也就是我们所说的负载均衡。

动静分离

把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。

安装与命令

安装

  • 安装 pcre (下载地址:https://sourceforge.net/projects/pcre/)
    • tar zxvf pcre-8.44.tar.gz -C /usr/local/src/
    • cd /usr/local/src/pcre-8.44
    • ./configure
    • make && make install 编译、执行安装
    • pcre-config --version 查看版本号
  • 安装其他依赖 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
  • 安装nginx
    • tar zxvf nginx-1.18.0.tar.gz -C /usr/src/ 解压
    • cd /usr/src/nginx-1.18.0/ 进入nginx目录
    • ./configure 检查
    • make && make install
    • cd /usr/local/nginx/sbin
    • ./nginx
  • 防火墙规则
    • firewall -cmd --list
    • sudo firewall-cmd --add-port=8001/tcp --permanent 添加端口
    • firewall-cmd --reload 重新加载防火墙

命令

  • 查看nginx版本号 ./nginx -v
  • 启动 nginx ./ nginx
  • 关闭nginx ./nginx -s stop
  • 重加载nginx ./nginx -s reload

配置文件

第一部分:全局块

第二部分:events块

第三部分:http块

Nginx配置实例

Nginx配置实例 - 反向代理

lsof -nP -i:8080 查看端口占用

    location ~ /tomcat7/ {
                proxy_pass      http://101.201.125.13:8001;
                index   index.html;
    }
    location ~ /tomcat9/ {
            proxy_pass      http://101.201.125.13:8002;
            index   index.html;
    }

Nginx配置实例 - 负载均衡

http{
	#myserver是自定义的服务名字
    upstream myserver{
		server	ip:poot(eg:8001);
		server	ip:port;
    }
	
	server{
		location / {
			proxy_pass	http://myserver;
			root	html;
			index	index.html index.htm;
		}
	}
}
分配的策略
1 轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器宕机,能自动剔除。

2 weight
  • weight代表权,默认为1,权重越高被分配的用户越多。

  • 指定轮询机率,weight和访问比例成正比,用于后端服务器性能不均的情况。

upstream server_pool{
	server	ip:port	weight=10;
	server	ip:port	weight=10;
}
3 ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

upstream server_pool{
	ip_hash;
	server	ip:port;
	server	ip:port;
}
4 fair (第三方)

按后端服务器的相应时间来分配请求,响应短的优先分配。

upstream server_pool{
	server	ip:port;
	server	ip:port;
	fair;
}

Nginx配置实例 - 动静分离

server{
	location /www/ {
		#这里的root后面写的是根路径
		root  /data/;
	}
	location /image/ {
		root /data/;
		# 自动显示此路径下的内容
		autoindex	on;
	}
}

高可用

在这里插入图片描述

准备

  • 两台nginx服务器
  • keepalived
  • 虚拟IP

安装 keepalived

yum install keepalived -y

查看版本信息

rpm -q -a keepalived

安装位置

/etc/keepalived

配置文件

keepalived.conf

启动命令

systemctl start keepalived.service

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值