• nginx安装及使用(详细版)


    一、负载均衡介绍

            负载均衡分为硬件负载均衡和软件负载均衡。

            硬件负载均衡解决方案是最直接服务器和外部网络间安装负载均衡设备,这种设备我们通常称之为负载均衡器产品有F5、NetScaler等。

            软件负载均衡解决方案是指一台或多台服务器响应的操作系统上安装一个或多个附加软件来实现负载均衡,他的优点是基于特定环境,配置简单,使用灵活,成本低廉,可有满足一般的负载均衡需求。目前比较流行的就三类负载均衡,LVS、Nginx和HAproxy。用的最多的是LVS和Nginx两种。

    二、nginx是什么?

            来源于俄罗斯

            nginx (engine x )是 一个高性能的HTTP 和反向代理web服务器,同时也提供IMAP/POP3/SMTP服务。

            nginx不仅仅是一个web服务器,还有拥有反向代理,负载均衡,邮件代理,运行时需要的系统资源比较少,所以经常称呼为轻量级服务器

    1、主要功能:反向代理

    2、通过配置文件可能实现集群和负载均衡

    3、静态资源虚拟化

    三、nginx优势和为什么选择nginx

            nginx号称并发处理百万级别的TCP连接,非常稳定,热部署,(运行时能升级),高度模块化设计,自由许可证。

            nginx很多人开发自己的模块,然后第三方业务模块也可以用c++开发。linux环境中采用epoll技术。

            为什么选择nginx

            1、单机服务器可以满足10w+并发,而且同时保持高效的服务,epoll这种高并发技术好处就是:高并发只是占用更多的内存就可以做到。

            2、内存池、进程池、线程池、事件驱动等等。

    四、安装nginx

            前提介绍

            1、epoll技术,linux内核版本有要求为2.6以上,可以通过命令行uname -a 查看内核版本。

            2、gcc编译器和g++编译器

            3、pcre库:函数库,支持解析正则表达式!  apt-get install  libpcre3-dev

            4、zlib库:压缩解压缩功能!        apt-get install libz-dev

            5、openssl库:ssl功能相关库,用于网站加密通讯! apt-get install libssl-dev
            

            nginx源码下载和目录结构认识

            http://nginx.org/ nginx官网

            nginx有几种版本:

            1、mainline版本:主线版本,版本好中间数字一般为奇数。更新快,一个月内就会发布一个新版本,最新功能,bug修复库等,稳定性差。

            2、stable版本:稳定版,版本号中间数字一般为偶数。经过长时间的测试,一般是较为稳定性的。商业化一般用稳定版本。

            3、Legacy 版本:遗留版本,以往发布的稳定版和主线版本

            安装方式

            1、可以直接命令行安装,但是只能安装二进制版本

            2、灵活,通过nginx源码进行安装,才能把第三方库给安装进来

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

            源码目录介绍

            1、auto: 编译相关的脚本和可执行文件configure

                   cc :检擦编译器的版本

                    lib:检查依赖库的脚本

                    os:检查os操作系统类型的脚本

                    type:检查平台类型的脚本 

           2、CHANGES:修复的bug,新增功能说明

           3、CHANGES.ru 俄语版的CHANGES

           4、conf: 默认的配置文件

           5、configure:编译nginx之前必须先执行脚本,用来生成一些必要的中间文件

           6、contrib: 脚本和工具,典型的是vim高亮工具

           7、html: 欢迎界面和错误相关的界面

           8、man : nginx帮助文件

           9、src:nginx源码目录

                    core:核心代码

                    event: 事件模块相关的代码

                    http: web服务相关代码

                    mail: 邮件相关代码

                    os :操作系统相关相关代码

                    stream:流处理相关代码

            源码编译

            1、 ./configure     编译之前的配置工作

         未完待续!!!

  • 相关阅读:
    软考高项第四版教材整合管理(第8章)重点内容
    C++:模板(非类型模板参数、类模板的特化、模板的分离编译)
    Docker部署服务(实战)
    开发了一个深度神经网络
    git的实际操作
    【Python_PySide2学习笔记(十八)】勾选按钮QCheckBox类的基本用法
    Java高级---Spring Boot---1引言
    为关键信息基础设施安全助力!持安科技加入关保联盟
    我们又组织了一次欧洲最大开源社区活动,Hugging Face 博客欢迎社区成员发帖、Hugging Chat 功能更新!
    深入理解通知服务NotificationListenerService原理
  • 原文地址:https://blog.csdn.net/Xiao_qsn/article/details/128061572