1.主要内容:  

 Nginx的基础
           特性
           配置部署
           优化(了解)

2.Nginx 是什么? 

   Nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件---web服务软件。
    它是由俄罗斯人Igor Sysoev 开发的,
    优点:

        性能:占用的系统资源更少,3万并发开启10个线程小号内存200MB
            支持更多的并发连接,几万并发小事情
            达到更高的访问效率
            支持异步网络I/O事件模型epoll(linux 2.6+)
        功能:优秀的web服务软件,支持反向代理负载均衡及缓存服务
                                 代理软件有:lvs, Haproxy等软件,为什么选择呢?
                                             nginx部署更简单,方便啊
                                 缓存:他又类似缓存服务软件(很少用)
                                         利用自身的proxy_cache 模块实现类Squid等专业缓存功能
        安装配置:更方便,简单,灵活
                支持的操作系统:
                    UNIX,BSD,Mac OS X,  Solaris,linux,   Microsoft等操作系统
                常用的组合环境:LNMP 或LEMP(E 取自nginx的engine x)

     2015年web服务软件排名:
    1.apache  32.40%
    2.Nginx   14.29%
    3.microsoft  [laɪt] [spiːd] 31.65% iis
    4.google servers 2.07%
    5.tomcat 0.4%

3.Nginx的基本特性  

    a)可针对静态资源高速高并发访问及缓存
    b)可使用反向代理加速,并且可进行数据缓存。
    c)据有简单负载均衡、节点监控检测和容错功能
    d)支持FastCGI服务的缓存加速
        CGI全称是“公共网关接口”(Common Gateway Interface),
        HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,
        其程序一般运行在网络服务器上。
        CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。
        如php,perl,tcl等。
        相对于CGI来说FastCGI有两点是和其不同的。
        第一点是FastCGI的进程是永久性的,也就是说用于处理请求的进程随着请求的结束并不会退出,而是继续运行等待有新的请求来处理。
        这样就解决了CGI由于频繁的创建和关闭进程所带来的性能问题;
        第二点是FastCGI和web服务器之间的通信方式是和CGI不同的。
        并且通信时全双工的模式
    f)支持FastCGI, Uwsgi, SCGI, Memcached servers的加速和缓存
    g)具有模块化的架构

4.nginx所具有其他的www服务特性:

    a)支持基于名字,端口及ip的多虚拟主机站点:基于端口, ip, 域名

    c)可进行简单,方便,灵活的配置和管理
    d)支持修改nginx配置,并且在代码上线时,可平滑重启
        平滑重启:    
            nginx 运行新的工作进程并从容关闭旧的工作进程,通知工作进程关闭监听套接字,
            但是继续为当前连接的客户提供服务
            所有的客户端的服务完成后,旧的工作进程被关闭
    e)可自定义访问日志格式,临时缓冲写日志操作,快速日志轮询及通过rsyslog处理日志
    f)可利用信号控制Nginx进程 kill -l
    g)支持rewrite模块,支持URI重写及正则表达式匹配
    h)支持FLV流和MP4流技术产品应用
    I)支持HTTP响应速率限制
    J)支持同一ip地址的并发连接或请求数限制
    K)支持邮件服务代理

编译安装Nginx环境:

1.准备工作:

    1.查看当前系统版本:cat /etc/redhat-release  --centos6.7
    yum -y install lrzsz
    yum -y install open gcc
    uname -a

    2.安装Nginx所需的pcre库及一些包    --用途(为了使Nginx具有URI重写功能rewrite)   

        通常采用yum的方式:
        配置yum源(采用网络源)

        yum -y install openssl openssl-devel gcc gcc-c++
        yum -y install pcre pcre-devel  


        查看版本:rpm -qa pcre

    3.选择版本:

        稳定版,开发版,历史稳定版
        首先稳定版(最新版晚6-10个月为佳)

    4.为神马安装openssl-devel,因为HTTPS服务需要这个模块
       什么是HTTPS呢?

               a)http叫超文本传输协议,使用TCP端口80,默认情况下数据是明文传送的,
               数据可以通过抓包工具捕获到,因此在internet上,
               有些比较重要的站点的http服务器需要使用PKI(公钥基础结构)技术来对数据加密!
               这也就是https了;

            b)https叫安全的超文本传输协议,使用TCP端口443,
            他的数据会用PKI中的公钥进行加密,
            这样抓包工具捕获到的数据包也没有办法看包中的内容,安全性大大提高,
            要解密数据的话就要用到PKI中的私钥。
            所以一些安全性比较高的网站如:网上银行,电子商务网站都需要用https访问! 
View Code

相关文章: