zoukankan      html  css  js  c++  java
  • Nginx简介与安装

    1.Nginx是什么

    web服务器:以统一资源描述符(URI)或统一资源定位符(URL)作为沟通依据,通过HTTP为浏览器等客户端程序提供各种网络服务;
    常见的web服务器:
    Apache:发展时间最长,重量级,大并发环境下会消耗大量cpu和内存,导致HTTP平均响应速度降低
    Tomcat和Jetty:面向java语言,重量级
    IIS:只能在Windows系统运行
    Nginx:性能为王,轻量级,基于事件驱动,高度模块化设计,使用操作系统特有api提高性能:支持linux的epoll(大并发处理利器),linux的sendfile(直接把硬盘数据发送到网络)

    2.Nginx的优点:
    更快
    高扩展性:由多个不同层次,不同功能,不同类型的耦合度极低的模块组成
    高可靠性
    低内存消耗:1W个非活跃的HTTP Keep-alive在Nginx中消耗2.5M内存
    单机支持10万以上的并发连接:理论上, Nginx支持的并发连接上限取决于内存, 10万远未封顶。当然, 能够及时地处理更多的并发请求, 是与业务特点紧密相关的
    热部署:可以在7×24小时不间断服务的前提下, 升级Nginx的可执行文件。 当然, 它也支持不停止服务就
    更新配置项、 更换日志文件等功能
    最自由的BSD许可协议:不只是允许用户免费使用Nginx, 它还允许用户在自己的项目中直接使用或修改Nginx源码, 然后发布。 这吸引了无数开发者继续为Nginx贡献自己的智慧

    当然, 选择Nginx的核心理由还是它能在支持高并发请求的同时保持高效的服务。
    也就是说, 在低并发压力下, 用户可以获得高速体验, 而在高并发压力下, 更多的用户都能接入, 可能访问速度会下降, 但这只应受制于带宽和处理器的速度, 而不应该是服务器设计导致的软件瓶颈。

    3.安装
    检查内核2.6以上支持epoll:uname -a
    安装GCC编译器:yum install -y gcc yum install -y gcc-c++
    PCRE( Perl Compatible Regular Expressions, Perl兼容正则表达式):yum install -y pcre pcre-devel
    zlib:yum install -y zlib zlib-devel
    OpenSSL开发库:yum install -y openssl openssl-devel
    用links获取源码:http://nginx.org/en/download.html下载稳定版本
    解压:tar -zxvf nginx-1.0.14.tar.gz
    编译安装:
    ./configure
    make
    make install

    4.使用
    Nginx被安装在目录usr/local/nginx/中, 其二进制文件路径为usr/local/nginx/sbin/nginx, 配置文件路径为usrlocal/nginx/conf/nginx.conf
    默认配置文件启动:usr/local/nginx/sbin/nginx
    指定配置文件启动:usr/local/nginx/sbin/nginx -c tmpnginx.conf
    快速停止服务:usr/local/nginx/sbin/nginx -s stop
    “优雅”地停止服务:usrlocal/nginx/sbin/nginx -s quit
    (该命令与快速停止Nginx服务是有区别的。 当快速停止服务时, worker进程与master进程在收到信号后会立刻跳出循环, 退出进程。 而“优雅”地停止服务时, 首先会关闭监听端口,
    停止接收新的连接, 然后把当前正在处理的连接全部处理完, 最后再退出进程。)
    使运行中的Nginx重读配置项并生效:usr/local/nginx/sbin/nginx -s reload
    平滑升级Nginx:
    1) 通知正在运行的旧版本Nginx准备升级。 通过向master进程发送USR2信号可达到目的 kill -s SIGUSR2 <nginx master pid>
    2) 启动新版本的Nginx, 可以使用以上介绍过的任意一种启动方法。 这时通过ps命令可
    以发现新旧版本的Nginx在同时运行。
    3) 通过kill命令向旧版本的master进程发送SIGQUIT信号, 以“优雅”的方式关闭旧版本的
    Nginx。 随后将只有新版本的Nginx服务运行, 此时平滑升级完毕。



  • 相关阅读:
    传参问题-HttpMessageNotReableException
    排序03-简单排序法
    排序02-直接插入排序法
    排序01-冒泡排序法
    书摘
    CS229
    SLAM学习笔记
    形态学图像处理
    SLAM学习笔记
    SLAM学习笔记
  • 原文地址:https://www.cnblogs.com/qilong853/p/6477992.html
Copyright © 2011-2022 走看看