一、nginx 简介
在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。
1、nginx功能
- 正向代理:客户端进行配置代理服务器,然后通过代理服务器访问到想访问的服务器
- 反向代理:客户端进行访问,会通过一个代理的服务器访问到服务器,但看不到真实服务器信息
- 负载均衡:进行多服务器或多ip进行负载均衡,有ip_hash、轮循等方式
- 动静分离:nginx 加载静态文件
- …
2、nginx 配置文件
三部分
Nginx 配置文件
... #全局块
events { #events块
...
}
http #http块
{
... #http全局块
server #server块
{
... #server全局块
location [PATTERN] #location块
{
...
}
location [PATTERN]
{
...
}
}
server
{
...
}
... #http全局块
}
二、Nginx实例
反向代理例子
通过localhost:9001 访问其他两个服务器
server{
listen 9001;
server_name localhost
location ~ /edu/ {
proxy_pass http://localhost:8080; #请求转向 定义的服务器列表
}
location ~ /edu2/ {
proxy_pass http://localhost:8082; #请求转向 定义的服务器列表
}
}
负载均衡例子
通过localhost:9001 负载均衡访问两个服务器
upstream myserver {
server 192.168.1.1:8080;
server 192.168.1.2:8081 backup; #热备
}
server{
listen 9001;
server_name localhost
location ~ /edu/ {
proxy_pass http://myserver;
}
location ~ /edu2/ {
proxy_pass http://localhost:8082;
}
}
方式一 轮循
按顺序
方式二 weight 权重 权重高的几率大
upstream myserver {
server 192.168.1.1:8080 weight=5;
server 192.168.1.2:8081 weight=10;
}
方式三 ip hash ip_hash 访客固定一个ip,可解决session共享问题
upstream myserver {
ip_hash;
server 192.168.1.1:8080;
server 192.168.1.2:8081;
}
方式三 fair 根据服务器响应时间来分配请求
upstream myserver {
fair;
server 192.168.1.1:8080;
server 192.168.1.2:8081;
}
动静分离例子
location /www/ {
root /data/;
index index.html index.htm;
}
location /image/ {
root /data/;
autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。
}
三、Nginx 高可用 集群
两台服务器 + 两个Nginx + 两个keepalived
安装 keepalived
yum install keepalived -y
cd /etc/
vim keepalived.conf
|