day44课堂笔记

1.nginx介绍

Nginx (“engine x”) 是一个开源的、支持高性能、高并发的WWW服务和代理服务软件。

它是由俄罗斯人IgorSysoev开发的,最初被应用在俄罗斯的大型网站www.rambler.ru上。

后来作者将源代码以类BSD许可证的形式开源出来供全球使用。


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老大,Nginx如何超越对手。

Apache 43%    Nginx 42%

最大特点:静态小文件高并发,占用资源少。软件本身小。

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

    1)支持高并发:能支持几万并发连接(特别是静态小文件业务环境)。

    2)资源消耗少:在3万并发连接下,开启10个Nginx线程消耗不到200MB内存。

    3)可以做HTTP反向代理及加速缓存,即负载均衡功能,内置对RS节点服务

    器健康检查功能,这相当于专业的haproxy软件或lvs的功能。

    具备squid等专业缓存软件等的缓存功能。


4.Nginx主要应用场景:

        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缓存服务器(把文件放入内存里)。


5.反向代理与负载均衡

代理:海外代购,微商:代理:代替别人做事。

正向代理:由内向外。 代替 效率低

代替局域网内PC,请求外部应用服务。

反向代理:由外向内 代替 效率低

代替外部的用户请求内部的应用服务器。

负载均衡:转发、效率高

甩手掌柜。


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

Nginx使用最新的epoll(Linux2.6内核)和kqueue(freebsd)异步网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Memcached软件都采用的是epoll模型。

Apache则使用的是传统的select模型,Nginx使用高并发的epoll模型

select模型:伙伴去宿舍找你,一个一个找。。效率低。

epoll模型: 伙伴去宿舍找你,先问宿管大妈,看看在哪间宿舍,然后直奔具体宿舍。效率高


    7.软件安装

    Linux系统如何安装软件?

    1、rpm安装

    简单 快。依赖多,解决依赖困难繁琐。

    2、yum安装 *****

    简单快,自动解决依赖。不能选择软件版本或软件存放路径。

    3、编译安装(源码编译)*****

    慢 复杂 需要GCC编译器,可以自定义安装(版本、软件路径)

    4、将源码制作成rpm,然后放到yum仓库,实现yum自动安装。

    一次性慢 复杂,安装快,可以自定义安装(版本、软件路径)

    5、二进制安装、


8。安装过程

#创建安放软件目录

mkdir -p /server/tools

#切换此目录下

cd /server/tools

#下载nginx软件包

wget http://nginx.org/download/nginx-1.16.0.tar.gz

#下载依赖包

yum install pcre pcre-devel -y

yum install openssl openssl-devel -y

#解压nginx包

tar xf nginx-1.16.0.tar.gz

#创建用户

useradd -s /sbin/nologin -M www

#进入解压软件包目录内

cd nginx-1.16.0

#

./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

你可能感兴趣的:(day44课堂笔记)