day44 Nginx介绍、安装及实践

Nginx介绍

1.Nginx是一款开源的,支持高性能,高并发的www.服务和代理服务软件
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 亿美元的资金,投资者中包括高盛、澳洲电信风投、以及新企业协会。

2.Nginx3大主要功能

1)网页服务:自身是静态 web服务apache,lighttpd, IIs
还支持动态web服务
PHP(fastcgi _pass)JAVA(proxy_pass) Python(uwsgi_pass)
2)负载均衡\反向代理haproxy,lvs, F5,netscaler.
只支持http,现在tcp/udp。
3)缓存服务器 squid, varnish
3.特点:
2008年才开始使用,当时Apache是老大
使用量 Apache43% Nginx 42%
静态小文件高并发,占用资源少,软件本身小。
特点:静态小文件高并发,占用资源少。软件本身小。

3、企业面试时需要解答如下Nginx HTTP服务器的特色及优点:

1)支持高并发:能支持几万并发连接(特别是静态小文件业务环境)
2)资源消耗少:在3万并发连接下,开启10个Nginx线程消耗不到200MB内存。
3)可以做HTTP反向代理及加速缓存,即负载均衡功能,内置对Rs节点服务器健康检查功能,这相当于专业的haproxy软件或1vs的功能具备squid等专业缓存软件等的缓存功能。

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)反向代理/负载均衡
4)做web缓存服务器(把文件放入内存里)。
京东之前就是用Nginx做web缓存

5.反向代理与负载均衡

代理:海外代购,微商:代理:代替别人做事。
正向代理:由内向外。代替效率低代替局域网内PC,请求外部应用服务。
反向代理:由外向内代替效率低代替外部的用户请求内部的应用服务器。
负载均衡:转发。甩手掌柜。效率高

6·为什么Nginx总体性能比Apache高?

Nginx使用最新的epoll (Linux2.6内核)和kqueue (freebsd)异步网络1/0模型,而Apache则使用的是传统的select模型。目前1inux下能够承受高并发访问的Squid. Memcached软件都采用的是epol1模型.
Apache则使用的是传统的select模型,Nginx使用最新的epol1模型1
select模型:伙伴去宿舍找你,一个一个找。。效率低
epoll模型:伙伴去宿舍找你,先问宿管大妈,看一下你在哪间宿舍,然后直接去你宿舍找你。。效率高。

7.软件安装

Linux系统如何安装软件?

1、rpm安装简单快。依赖多,解决依赖困难繁琐。
2、yum安装*****简单快, 自动解决依赖。不能选择软件版本或软件存放路径。
3、编安装(源码编译) *****.慢复杂需要GCC编译器,可以自定义安装(版本、软件路径)
4、将源码制作成rpm,然后放到yum仓库,实现yum自动安装。一次性慢复杂,安装快,可以自定义安装(版本、软件路径)
5、二进制安装

8.Nginx安装两种方法:

yum安装:
epel源:版本低
nginx官方源:版本高

8.1编译安装:

1,安装Nginx所需的pcre库Pcre全称(Perl Compatible Regular Expressions) ,中文"perl兼容正则表达式",官方站点为http://www.pcre.org/,安装pcre库是为了使Nginx支持具备URI重写功能的 Rewrite模块,如果不安装pcre库,则Nginx无法使用Rewrite模块功能, Nginx的Rewrite模块功能几乎是企业应用必须。安装pcre库的过程如下

8.2 编译安装(和8.1二选一)

pcre:URL重写软件,即实现伪静态需要这个软件

下载:

mkdir -p /server/tools
cd /server/tools
wget http://nginx.org/download/nginx-1.16.0.tar.gz

安装依赖。

yum install pcre pcre-devel -y
yum install openssl openssl-devel -y #https加密用他。

编译安装步骤

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
/application/nginx/sbin/nginx
netstat -lntup|grep nginx

注意:

1)每一步结尾直接echo $?验证是否正确。返回0代表步骤正确
2)验证最终的安装是否正确。
wget 10.0.0.8
curl 10.0.0.8

configure参数的作用

参数 意思
--prefix=PATH 路径
--user=USER 用户
--group=GROUP
--with-pcre 伪静态
--with-http_stub_status_module 状态
--with-http_ssl_module 加密 443

编译安装配置:

[root@web02 /application/nginx]# tree
.
├── conf
│   ├── fastcgi.conf         #和动态服务的接口配置参数,配合php
│   ├── fastcgi.conf.default
│   ├── fastcgi_params 
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types            #媒体类型
│   ├── mime.types.default
│   ├── nginx.conf            #主配置文件
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default   #和动态服务的接口配置参数
│   ├── uwsgi_params
│   ├── uwsgi_params.default  #和动态服务的接口配置参数,配合Python
│   └── win-utf
├── fastcgi_temp
├── html            #默认站点目录。  
│   ├── 50x.html
│   └── index.html  #默认的首页,10.0.0.8不指定文件,默认加载index.html首页。
├── logs
│   ├── access.log  #访问日志
│   ├── error.log   #Nginx错误日志。
│   └── nginx.pid   #进程号对应文件。
├── sbin
│   └── nginx       #启动命令。

yum安装配置路径:

[root@web01 ~]# rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx          
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
/etc/nginx/fastcgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/modules
/etc/nginx/nginx.conf
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
/etc/nginx/win-utf
/usr/sbin/nginx
/usr/sbin/nginx-debug
/usr/share/nginx/html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/var/cache/nginx
/var/log/nginx

实验一下

编译为主:编译后需要平滑重启一下

[root@web01 /application/nginx/html]# vim index.html



HTML5 Canvas 花边图案 | 齿形花边








在浏览器上输入自己的本机ip

如图:

image.png

你可能感兴趣的:(day44 Nginx介绍、安装及实践)