nginx 配置详解

高性能的http服务代理服务器和反向代理服务器,能支持50000个并发连接数

 

正向代理

 

明确买家是谁,让代理人去联系目标

 

例如局域网内的客户端想要访问局域网外的internet,则需要代理服务器来访问,这种代理就是正向代理

nginx 配置详解

 

 

反向代理

客户端不需要任何配置就可以访问,只需要将请求发送到代理服务器,有代理服务器去选择目标服务器在返回给客户端

nginx 配置详解

 

 

负载均衡

将请求分发到不同服务器、负载分发到不同服务器,就是负载均衡

访问一个ip 默认是80  (nginx)  tomcat 是8080 

nginx 配置详解

 

 

动静分离

为了加快网站的解析速度、将动态和静态页面有不同服务器来解析,降低原来单个服务器的压力

nginx 配置详解

 

 

安装

进入压缩目录执行./configure

执行make && make install (编译安装)

安装完成后多一个local/nginx 在nginx有sbin 启动脚本

./nginx

访问:http://ip:80   ->welcome to nginx

查看开放的端口:firewall-cmd –list-all

添加端口:

Firewall-cmd –add-service=http -permanent

Sudo firewall-cmd –add-port=80/tcp –permanent

   重启防火墙:firewall-cmd -reload

 

 Nginx 相关命令:

1 进入到nginx的目录  /usr/local/nginx/sbin

2 查看nginx的版本号:./nginx -v

3 启动nginx   ./nginx

4 关闭nginx  ./nginx -s  stop

5 重加载 ./nginx -s reload   (重新加载配置文件 nginx.conf)

 

 

Nginx的配置文件组成

第一块:全局块

从配置文件开始到events块之间的内容、主要设置一些影响nginx服务器运行的配置指令,比如 worker_process 1; 值越大,可以支持的并发量也越多

 

第二部分:events 

涉及的指令主要影响nginx服务器与用户的网络连接数

比如 worker connections 1024 支持的最大连接数

第三部分:http块 (配置最多的地方)

http全局块

 

server块

举例:

浏览器访问www.123.com

nginx 配置详解

 

 

Nginx.conf 配置如下图:

proxy_pass  反向代理的地址

nginx 配置详解

 

 

 

例如:要实现

http://127.0.0.1:9091/edu  访问tomcatl1 (127.0.0.1:8080)

 http://127.0.0.1:8080/vod  访问tomcatl2 (127.0.0.1:8081)

 

注意:开放端口 9091 8081 8080 (firewall)

在 /usr/src/tomcat-xx/apache-tomcat-xx/webapps/  创建 edu目录 然后放一个a.html文件

这时访问  http://$Ip:8081/edu/a.html  就能看到

这是nginx.conf 里要改的内容

~ /edu/   #正则表达式,请求路径包含 edu时就会转发到 xxx:8080

nginx 配置详解

 

 

关于location的说明:

nginx 配置详解

 

 

负载均衡:

访问http://192.168.17.129/edu/a.html

 

Upstream myserver{

   Server 192.168.17.129:8080;

   Server 192.168.17.129:8081;

}

nginx 配置详解

 

 

策略:

轮询(默认)、权重、ip_hash、fair(第三方)

轮询:服务器如果down掉,自动剔除

权重:weight 权重越高,分配的客户端越多

Upstream myserver{

   Server xxx weight=1;

   Server xxx weight=10;

}

Ip_hash:每个访客固定一个后端服务器、可以解决session问题

 

Upstream myserver{

 

Ip_hash;

 

Server xxx;

 

Server xxx;

 

}

 

 

 

Fair:按后端服务器响应时间来分配请求、响应时间断的优先分配

 

Upstream myserverr{

 

   Server xxxx;

 

   Server xxxx;

 

    Fair;

 

}

 

动静分离:

Nginx处理静态页面、tomcat处理动态页面:

一:把静态文件独立成单独的域名放在独立的服务器上

另一种就是动态和静态文件混合一起发布,通过nginx来分开,通过location指定不同的后缀名实现不同的转发请求、通过expires 参数设置可以使浏览器缓存过期时间,减少与服务器之间的请求和流量;设定一个过期时间,也就是无需去后端服务验证,直接通过浏览器确认是否过期即可,不会残生额外的流量

 

/data/image/01.jpg

/data/www/a.html

nginx 配置详解

 

 

Autoinde on; // 列出返回目录

 

最终测试:

http://192.168.17.129/image/01.jpg

http://192.168.17.129/www/a.html

 

高可用集群

nginx 配置详解

 

 

需要两台服务器 192.168.17.129 192.168.17.131 (nginx)

  这两台都要安装nignx、keepalived

Yum -y install keepalived

 

安装好之后 修改/etc/keepalived/keepalived.conf 文件

分别启动nignx和keepalived

./nginx   systemctl start keepalived.service

nginx 配置详解

 

 

补充:

关闭nginx服务

1  kill  `cat /usr/local/nginx/logs/nginx.pid`   //文件中有个pid号

2 nginx -s reload  //重载

 

 

Session共享:

无论登录那一台ip,session是一致的

1 内存数据库(memcache)

1 修改服务器和数据库的关联关系

 

 

 

 

 

 

 

 

上一篇:BZOJ3531 SDOI2014旅行 【离线+树链剖分】


下一篇:8天入门wpf—— 第四天 模板