一.Nginx 简介
维基百科:https://zh.wikipedia.org/wiki/Nginx
介绍
- Nginx (读作“engine x”), 是一个高性能的 HTTP 和反向代理服务器 , 特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx 和 Tomcat 的关系
- 除了 tomcat 以外, apache,nginx,jboss,jetty 等都是 http 服务器。
- nginx 和 apache 只支持静态页面和 CGI 协议的动态语言,比如 perl 、 php 等, 但是nginx不支持 java 。
- Java 程序只能通过与 tomcat 配合完成。 nginx 与 tomcat 配合,为 tomcat 集群提供反向代理服务、负载均衡等服务
Nginx 三大功能
- 反向代理
- 负载均衡 常见均衡算法:
• 轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某台服务器宕机,则自动剔除故障机器,使用户访问不受影响
• weight 指定轮询权重,weight值越大,分配到的几率就越高,主要用于后端每台服务器性能不均衡的情况。
• 备机模式 平时不工作, 只有其他down 机的时候才会开始工作
• 公平模式(第三方) 更智能的一个负载均衡算法,此算法可以根据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。如果想要使用此调度算法,需要Nginx的upstream_fair模块。 - 动静分离
二.Nginx 安装
步骤 1: 使用 yum 安装依赖包
yum -y install openssl openssl-devel pcre pcre-devel zlib zlib-devel gcc gcc-c++
步骤 2: 下载 Nginx
wget http://nginx.org/download/nginx-1.12.2.tar.gz
步骤 3: 解压
tar -zxvf nginx-1.12.2.tar.gz -C /export/servers
步骤 4: 编译和安装
进入解压缩的目录
为了防止出现权限问题, 建议切换到 root 用户
./configure --prefix=/usr/local/webserver/nginx
make && make install
配置负载均衡
步骤 1: 修改/usr/local/webserver/nginx/conf/nginx.conf
增加如下配置:
http {
.....
# 配置上游服务器: 其实就被代理的服务器, springboot
upstream logserver{
server hadoop12:8080 weight=1;
server hadoop13:8080 weight=1;
server hadoop14:8080 weight=1;
}
server {
listen 80;
server_name logserver;
location / {
root html;
index index.html index.htm;
# 配置代理
proxy_pass http://logserver;
proxy_connect_timeout 10;
}
...
}
}
步骤 2: 启动 Nginx
进入目录: /usr/local/webserver/nginx
• 启动 nginx: sbin/nginx
• 关闭 nginx: sbin/nginx -s stop
• 重新加载: sbin/nginx -s reload
注意:
• Nginx 默认使用的是 80 端口, 由于非root用户不能使用 1024 以内的端口, 所以建议使用 root 用户启动 Nginx
• 如果使用普通用户启动 Nginx, 需要先执行下面的命令来突破上面的限制:sudo setcap cap_net_bind_service=+eip /usr/local/webserver/nginx
步骤 3: 查看是否启动成功
通过网页访问: http://hadoop12