Java高级技术:Nginx
什么是Nginx?
Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务。
Nginx 是由伊戈尔·赛索耶夫 为俄罗斯访问量第二的 Rambler.ru 站点(俄文:Рамблер)开发的,
第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。 Nginx 是一个很强大的高性能 Web 和反向代理服务,
它具有很多非常优越的特性:在 连接高并发的情况下,Nginx 是 Apache 服务不错的替代品:Nginx 在美国是做虚拟主机生意的老板们经常选择的软件平台之一。
Nginx的作用是什么?
1.http 协议代理
2.搭建虚拟主机
3.服务的反向代理
4.在反向代理中配置集群的负载均衡
正向代理与反向代理区别:
什么是正向代理?
为客户端做代理,正向代理,
意思是一个位于客户端和原始服务器(origin server)之间的服务器,
为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),
然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
什么是反向代理?
反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,
然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,
此时代理服务器对外就表现为一个反向代理服务器。
二者之间的区别是什么?
位置不同
正向代理,架设在客户机和目标主机之间;
反向代理,架设在服务器端;
代理对象不同
正向代理,代理客户端,服务端不知道实际发起请求的客户端;
反向代理,代理服务端,客户端不知道实际提供服务的服务端;
安装Nginx:
如何在Linux系统中安装Nginx?
1.将 Nginx 安装包上传到 Linux 中
使用的 Nginx 版本为 nginx-1.8.0.tar.gz
2.nginx 安装环境
先执行yum install gcc-c++ 命令。
在执行,yum install -y pcre pcre-devel
在执行yum install -y zlib zlib-devel
执行yum install -y openssl openssl-devel
3 编译安装
解压:tar -zxvf nginx-1.8.0.tar.gz
进入到 nginx 的根目录
会出现cd nginx-1.8.0
配置安装参数
执行:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
在执行编译:make
在执行编译安装 make install
操作Nginx:
(1) 如何启动Nginx?
./nginx
(2) 如何停止Nginx?
./nginx -s quit
(3) 如何重启Nginx?
./nginx -s
quit ./nginx
虚拟主机介绍:
什么是虚拟主机?
虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供 www 服务,这样就可以实现一台主机对外提供多个web 服务,
每个虚拟主机之间是独立的,互不影响的。
虚拟主机技术是互联网服务器采用的节省服务器硬件成本的技术,虚拟主机技术主要应用于 HTTP(Hypertext Transfer Protocol,超文本传输协议)服务,
将一台服务器的某项或者全部服务内容逻辑划分为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬件资源。
Nginx支持哪三种虚拟主机配置?
Nginx 支持三种类型的虚拟主机配置
1. 基于 IP 的虚拟主机
2. 基于端口的虚拟主机
3. 基于域名的虚拟主机
Nginx反向代理-配置负载均衡:
什么是负载均衡?
负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为 Load Balance,其意思就是分摊到多个操作单元上,进行执行,例如 Web 服务器、FTP 服务器、企业关键应用服务器和其它关键任务
服务器等,从而共同完成工作任务。
Nginx中所支持的负载均衡策略有哪些?
轮询
每个请求按时间顺序逐一分配到不同的后端服务器,如果后
端服务器 down 掉,能自动剔除。
指定权重
指定轮询几率,weight 和访问比率成正比,用于后端服务器
性能不均的情况。
IP 绑定 ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访
问一个后端服务器,可以解决 session 的问题。
小编是一个有着5年工作经验的java'开发工程师,关于java'编程,自己有做材料的整合,一个完整的java编程学习路线,学习材料和工具,能够进我的群收取,免费送给**830783865**大家,希望你也能凭着自己的努力,成为下一个优秀的程序员。