zoukankan      html  css  js  c++  java
  • Nginx之web服务器

    Nginx的介绍

    Nginx是由俄罗斯的Igor Sysoev使用C语言开发的轻量级、高性能、开源、跨平台的Web服务器。

    Nginx使用基于事件驱动的架构能够并发处理百万级的TCP连接,高模块化的设计和自由的许可证使得扩展Nginx功能的第三方模块层出不穷,而且优秀的设计带来了极佳的稳定性,因此其作为Web服务器被广泛应用到大流量的网站上,包括腾讯、新浪、网易、淘宝等访问量巨大的网站。

    Nginx是Web服务器,或叫做WWW(World Wide Web)服务器,相应具备Web服务器的基本功能:基于REST架构风格,已统一资源描述符(URI)或统一资源定位符(URL)作为沟通依据,通过HTTP为浏览器等客户端程序提供各种网络服务。

    Nginx的优点

    1、更快(请求更快响应)

    2、高扩展性(设计极具扩展性,完全由多个不同功能、不同层次、不同类型且耦合度极低的模块组成)

    3、高可靠性(高可用性来自于其核心框架代码的优秀设计、模块设计的简单性;官方提供的常用模块都非常稳定,每个worker进程相对独立)

    4、低内存消耗(一万个非常活跃的HTTP Keep-Alive连接在Nginx中仅消耗2.5MB的内存,这是支持高并发连接的基础)

    5、单机支持10万以上的并发连接

    6、热部署(master管理进程与workr工作进程的分离设计,是的Nginx能够提供热部署的功能,即可以在7*24h不间断服务的前提下,升级Nginx的可执行文件)

    7、最自由的BSD许可协议(这是Nginx可以快速发展的的强大动力)

    使用Nginx的必备

    1、GCC编译器,用来编译C语言程序

    #yum install -y gcc

    2、PCRE库,Perl兼容正则表达式,在配置文件nginx.conf里使用正则表达式用到

    #yum install -y pcre pcre-devel

    3、zlib库,用于对HTTP包的内容做gzip格式压缩

    #yum install -y zlib zlib-devel
    #zlib是直接使用的库,zlib-devel是二次开发使用的库
    

    4、Openssl开发库,服务器需要在更安全的SSL协议上传输HTTP

    #yum install -y openssl openssl-devel

    磁盘目录

    1、Nginx源代码存放路径:自定义

    2、Nginx编译阶段产生的中间文件存放路径:与源代码存放路径相同

    3、部署目录:存放实际Nginx服务器运行期间所需要的二进制文件、配置文件等。默认情况下:/usr/local/nginx

    4、日志文件存放目录:日志文件通常会比较大,需预先安排一个拥有更大的磁盘空间目录。

    Linux内核参数的优化

    修改/etc/sysctl.conf来更改内核参数

    fs.file-max=999999
    net.ipv4.tcp_tw_reuse=1
    net.ipv4.tcp_keepalive_time=600
    net.ipv4.tcp_fin_timeout=30
    net.ipv4.tcp_max_tw_buckets=5000
    net.ipv4.ip_local_port_rangr=1024 61000
    net.ipv4.tcp_reme=4096 32768 261246
    net.ipv4.tcp_wmem=4096 32768 261246
    net.core.netdev_max_backlog=8096
    net.core.reme_default=262144
    net.core.wmem_default=262144
    net.core.reme_max=2697152
    net.core.weme_max=2697152
    net.ipv4.tcp_syncookies=1
    net.ipv4.tcp_max_syn.backlog=1024
    #执行sysctl-p命令,使其生效

    获取Nginx源码

    官网:http://nginx.org/en/download.html获取源码包
    将下载的nginx-1.0.14.tar.gz的源码压缩包放置到准备好的Nginx源代码目录中,然后解压
    tar -zxvf nginx-1.0-14.tar.gz

    编译安装Nginx

    #./configure
    #make
    #make install
  • 相关阅读:
    hdu 5444 Elven Postman 二叉树
    tensorflow2.x模型保存问题
    【NVIDIA】Win10 + CUDA10 + cuDNN 安装教程(转载)和遇到的坑
    windows下 为不同虚拟环境配置不同的cuda
    多线程
    socket编程
    引用类型和值类型
    记录报错
    github下载慢问题
    LabelImg的安装出现No module named 'libs.resources'错误
  • 原文地址:https://www.cnblogs.com/yaun1498078591/p/9900759.html
Copyright © 2011-2022 走看看