nginx学习(一)--nginx 简介、选择理由、安装和使用

211 阅读3分钟

nginx 简介、选择理由、安装和使用

一、nginx简介

nginx(2002年开发,200410月才出现第一版本)web服务器,市场份额排在第二位,Apache(1995)排在第一位
不仅仅是Web服务器 还有反向代理、负载均衡、邮件代理等功能;运行时需要的系统资源比较少,所以经常被称呼为轻量级服务器。
俄罗斯(Igor Sysoev)用c语言开发的,并且开源了;
nginx号称并发处理百万级的TCP连接,非常稳定,热部署(运行时能升级),高度模块化设计,自由许可证。
很多人开发自己的模块来增强nginx,第三方业务模块可以其他技术(c++)开发
linux 大并发 epoll技术
Windows ICOP技术

二、为什么选中nginx

1.单机10万并发,而且同时能够保持高效的服务,epoll这种高并发技术好处:高并发只是占用更多内存就能做到。内存池、进程池、线程池、事件驱动等等编程技术
2.学习研究大师级的人写的代码,是一个程序开发人员能够急速进度的绝佳途径。

三、安装nginx,搭建web服务器

1.安装前提
    1.1 epoll,linux内核版本为2.6或者以上,查看命令为:
    uname -a
    1.2 gcc编译器 g++编译器
    1.3 pcre库:函数库;支持解析正则表达式;
        sudo apt-get install libpcre3-dev
    1.4 zlib库:压缩解压缩功能;
        sudo apt-get install libz-dev
    1.5 openssl库:ssl功能相关库,用于网站加密通讯
2.nginx源码下载及目录结构简单认识
    nginx官网 http://www.nginx.org
    2.1 mainline版本:版本号中间数字一般为奇数,更新快,一个月内会发布一个新版本,最新功能,bug修复,稳定性差点。
    2.2 stable版本:版本号中间数字一般为偶数。经过长时间的测试,比较稳定,商业化环境中用这种版本
    2.3 Legacy版本:遗留版本,以往的老版本
    现在有二进制版本:通过命令行直接安装;
    灵活:要通过编译nginx源码手段把第三方模块弄进来
3.nginx源码目录简单介绍
    3.1 nginx官网复制需要安装的版本链接,如:http://nginx.org/download/nginx-1.20.1.tar.gz
    3.2 创建源码目录:mkdir nginxsourcecode
        下载源码 wget http://nginx.org/download/nginx-1.20.1.tar.gz
    3.3 解压源码 tar -xzvf nginx-1.20.1.tar.gz
        |--atuo/: 编译相关的脚本,可执行文件configure 
            |--cc/: 检查编译器的脚本
            |--lib/: 检查依赖库的脚本
            |--os/: 检查操作系统类型的脚本
            |--types/: 检查平台类型的脚本
        |--CHANGES 新增的功能说明,修复的bug
        |--CHANGES.ru 俄语版 新增的功能说明,修复的bug
        |--conf/: 默认的配置文件
        |--configure 编译nginx之前必须先执行本脚本以生成一些必要的中间文件
        |--contrib/:脚本和工具,典型的是vim高亮工具
            |--vim/:vim高亮工具
        |--html/:欢迎界面和错误界面相关的html文件
        |--man/:nginx帮助文件
        |--src/:nginx源码
            |--core/:核心代码
            |--event/: event(事件)模块相关代码
            |--http/:http(web服务)模块相关代码
            |--mail/:邮件模块相关代码
            |--misc/:
            |--os/:操作系统相关代码
            |--stream/:流处理相关代码
4.nginx的编译和安装
      4.1 编译第一步:用configure来进行编译之前的配置工种
          ./configure  --prefix: 指定安装目录;默认值: /usr/local/nginx
                       --sbin-path:指定可执行文件目录;默认值:/sbin/nginx
                       --conf-path:指定配置文件目录;默认值:conf/nginx/conf
          编译完成后nginx 多了objs中间文件目录
              objs文件夹下 ngx_modules.c nginx有哪些模块会被编译到nginx中来
          还多了Makefile文件
      4.2 make  执行Makefile文件中的命令 生成可执行文件nginx
      4.3 make 命令开始安装 
          sudo make install
          完成后安装到目录 /usr/local/nginx 中
5.nginx启动和使用
      5.1 查看nginx进程
          ps -ef | grep nginx 查找nginx进程
      5.2 启动nginx
          sudo ./nginx 再次查看 会发现多了两个进程
          nginx:master process
          nginx:worker process
      5.3 验证nginx服务器启动情况 
          在Windows浏览器中输入 http://192.168.1.126(服务器配置的地址)