第一章、Nginx
1.1、nginx介绍
Nginx (“engine x”) 是一个开源的、支持高性能、高并发的WWW服务和代理服务软件。
它是由俄罗斯人IgorSysoev开发的,最初被应用在俄罗斯的大型网站www.rambler.ru上。后来作者将源代码以类BSD许可证的形式开源出来供全球使用。
3 月 11 日,F5 与 NGINX 宣布了一项最终协议,根据该协议,F5 将收购 NGINX 的所有已发行股票,总价值约为 6.7 亿美元。
F5 是应用交付网络(ADN)领域的全球领先厂商,其解决方案有助于整合不同的技术,以便更好地控制基础架构,提高应用交付和数据管理能力,并使用户能够通过企业桌面系统和智能设备无缝、安全并更快速地接入应用。
而 NGINX 最知名产品 Nginx 是互联网上最受欢迎的 Web 服务器之一,NGINX 提供一整套用于开发和交付现代应用的技术,同时它也是应用交付领域的开源领导者。
收购声明指出,此次战略收购和有机投资,将确保长期收入和每股盈利增长;F5 和 NGINX 将在所有环境中实现多云应用服务,提供开发人员所需的易用性和灵活性,同时还提供网络运营团队所需的规模、安全性和可靠性等能力。
收购完成后,Nginx 管理层将加入 F5,现有的办事处也将继续保持开放。为了收购 Nginx,F5 Networks 筹集了 1.03 亿美元的资金,投资者中包括高盛、澳洲电信风投、以及新企业协会。
1.2、Nginx三大功能
1)web服务:自身是静态web服务。
还支持动态web服务((PHP<fascti_pass> JAVA(proxy_pass) Python(uwsgi) memache(memcache_pass) tomcat ***前面是动态服务<里面是支持该动态服务的模块>))
2)负载均衡,反向代理。
haproxy(软件),lvs(软件)F5(硬件),netscaler(硬件)
以前nginx只支持http。现在支持TCP/UDP
3)缓存服务器。
squid,varnish
Nginx 2008年冒头,当时Apache老大,
现在Apache占 43% Nginx42%
1.3、Nginx的特点
最大特点:静态小文件并发,占用资源少,软件本身小
1.4、Nginx作为web服务器的主要应用场景
1)静态web服务器:
使用Nginx运行HTML、JS、CSS、小图片等动态数据(此功能类似lighttpd软件)
2)配合运行动态web服务器:
Nginx结合FastCGI运行PHP等动态程序(例如使用fastcgi_pass方式)
Nginx结合proxy_pass支持JAVA动态程序(tomcat/resin服务)
Nginx结合uwsgi_pass支持Python
3)反向代理负载均衡:
http负载均衡
4)做web缓存服务器(把文件放入内存里)
1.5、企业面试时需要解答如下Nginx HTTP服务器的的特色及优点
1)支持高并发,能支持几万并发连接(特别是静态小文件业务)
2)资源消耗少,在3万并发连接下,开启10个Nginx线程消耗补刀00MB内存
3)可以做HTTP反向代理及加速缓存,即负载均衡功能,内置对RS节点服务器健康检查功能,这相当于专业的haproxy软件或lvs的功能。
具备squid等专业缓存软件等的缓存功能
1.6、反向代理与负载均衡的差别
代理:代替别人做事,效率低
正向代理:由内向外。局域网电脑上网,由代理服务器代替你的电脑访问你要的东西
反向代理:由外向内。代替外部用户请求内部的应用服务器
负载均衡:转发、效率高
把用户的请求转发给不同服务器
1.7、为什么Nginx总体性能比Apache高?
Nginx使用最新的epoll(linux2.6内核)和kqueue(freebsd)异步网络I/O 模型,
而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Memcached软件都采用的是epoll模型。
Apache则使用的是传统的select模型,Nginx使用高并发的epoll模型
select模型和epoll模型
select模型:伙伴去宿舍找你,一个一个找。。效率低。
epoll模型: 伙伴去宿舍找你,先问宿管大妈,看看在哪间宿舍,然后直奔具体宿舍。效率高。
1.8、软件安装,Linux系统如何安装软件?
1)rpm安装:简单快。依赖多,解决依赖困难繁琐。
2)yum安装*****:简单快,自动解决依赖。不能选择软件版本或软件存放路径。
3)编译安装(源码编译)*****:慢、复杂、需要GCC编译器,可以自定义安装(版本,软件路径)
4)将源码制作成rpm,然后放到yum仓库,实现yum自动安装:一次性慢、复杂,安装块,可以自定义安装(版本、软件路径)
5)二进制安装
1.9、Nginx安装
第一种:yum安装
epel源:版本低。
nginx官方源:版本高。
第二种 :编译安装
第一步、下载
mkdir -p /server/tools
cd /server/tools
wget http://nginx.org/download/nginx-1.16.0.tar.gz
![](https://img.haomeiwen.com/i16837788/386c78bfc1178706.png)
第二步、安装Nginx需要的pcre库
pcre:URL重写软件,即实现伪静态需要这个软件
安装依赖
yum install pcre pcre-devel -y
yum install openssl openssl-devel -y #https加密用他。
![](https://img.haomeiwen.com/i16837788/e9cefba77b99f4a9.png)
第三步、编译安装步骤
tar xf nginx-1.16.0.tar.gz
cd nginx-1.16.0/
useradd -s /sbin/nologin www -M
id www
./configure --user=www --group=www --prefix=/application/nginx-1.16.0/ --with-http_stub_status_module --with-http_ssl_module --with-pcre 配置
make 编译
make install 把软件中拷贝到指定的位置
ln -s /application/nginx-1.16.0/ /application/nginx
ls -l /application/nginx/
![](https://img.haomeiwen.com/i16837788/3a12ee0519fcf18d.png)
![](https://img.haomeiwen.com/i16837788/2fbd57a20075943d.png)
![](https://img.haomeiwen.com/i16837788/416b0c364c56471c.png)
第四步、启动Nginx服务
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx
![](https://img.haomeiwen.com/i16837788/a7448f9be79ffe96.png)
第五步、检测Nginx的安装及浏览是否正常
![](https://img.haomeiwen.com/i16837788/c09e2e44f810dbb5.png)
![](https://img.haomeiwen.com/i16837788/1a7ee36f3a1fcebf.png)
![](https://img.haomeiwen.com/i16837788/5ddb778f62b7a7a5.png)
第六步、编译Nginx软件时,使用./configure --help查看相关参数帮助
![](https://img.haomeiwen.com/i16837788/58235d6c7a0bb7e2.png)
第七步、查看编译安装配置
![](https://img.haomeiwen.com/i16837788/e7cf0f46264dbb0d.png)
第八步、测试,部署一个Web站点
![](https://img.haomeiwen.com/i16837788/9ec1ad0216da6911.png)
![](https://img.haomeiwen.com/i16837788/10ced4d145507873.png)
网友评论