Nginx 功能概述与基础应用!


       本篇博客主要有三个部分组成,目的在于让大家了解ningx的主要功用及作为web server的基础配置;通过本篇博客能够让您对nginx理解更加深入,以便于更好的使用它!


                        介绍nginx的主要功能
                      介绍nginx的组成部分
                      安装nginx作为web server 服务的基本配置


 介绍nginx的主要功能
  
            nginx是一个自由软件,开源的,高性能的httpserver,是一个http协议的反代服务器,还是一个邮件检索反代服nginx最初的设计是为了解决c10k问题的,处理并发10000个请求;它不依赖与线程处理请求,使用事件驱动模型event,所以他只需要极小的资源,而且以可预测的少量资源就能够处理大量的请求;国内,淘宝使用的就是基于nginx之上二次研发的Tnginx,如果你能够熟练的掌握nginx,那么在国内的web运维方面,你会游刃有余!可见nginx的重要性;他的强大在于能够处理高并发客户端用户请求,使用的是 kvent epoll select等机制;
 
           nginx具有高度模块化,各功能通过模块来实现,其内部也是通过模块化流水线装配以后来实现;在早期的版本中,不支持DSO动态装卸载机制;所以在安装nginx的时候需要把使用的模块直接编译进去,而现在以支持动态装卸机制,用户只需要根据实时的需求添加即可,可谓更加人性化!

         nginx的主要功能有一些几点;(1)静态的web资源管理器,也是nginx的核心功能,nginx支持高并发,并且性能杠杠滴!无与伦比,对于网站来讲,动态资源是随时有可能改版的,而静态资源一般不会更改,所以咋生产中,一个web服务器都会使用动静态资源分离机制,用nginx来做静态资源的web server,性能是非常好的;(2) 结合FastCGI/uwSGI/SCGI等协议反代动态资源请求;(3)http/https协议的反向代理;(4)imap4/pop3协议的反向代理;(5)tcp/udp协议的请求转发;
         
        nginx的特性: 异步,事件驱动和非阻塞


 nginx的组成部分:

             nginx具有高度模块化,其主要分类主要有一下几类:
                           核心模块: core module
                           标准模块: http module,mail module,stream module
                                            http module :
                                                              http web server module:http web服务器模块
                                                              http 反代模块
                                            mail modules: 邮件模块
                                            stream modules: 流模块,提高伪四层负载均衡转发功能
             nginx的主要架构为:
                                            master:  主控进程
                                            worker:  处理用户的请求
                                            cache loader/manager:  缓存管理进程

             我们接下来主要对nginx作为web server 来进行介绍


⊙ 安装nginx作为web server 服务的基本配置:

             我们可以直接到nginx的官方站点 nginx.org 去看一下目前ningx正在维护中的版本,它的次版本号为偶数的是在生产环境中可使用的,一般情况下,对于我们运维人员来讲,只要能够满足我们在特性方面的需求,并且没有什么漏洞,老版本的反而更加稳定,可以说我们是求稳不求新!只有在个人实验中才使用最新的版本;
 
          在这里我是在教室的服务器上直接mget的nginx-1.10.2版本的,并下了一个模块,如图0514-01所示:

            Nginx 功能概述与基础应用!                                                                               示图:0514-01.jpg


           下载到本地目录下,可以直接使用 yum -y install ./nginx-1.10.2-1.el7.ngx.x86_64.rpm进行安装,安装完成后
                 我们可以使用 rpm -ql nginx 来查看一下他生产的文件目录,如0514-02所示:

                Nginx 功能概述与基础应用!                                                    示图:0514-02.jpg

             屏幕原因下面还有几个目录没有截出来,其实对于一个服务进程来说他生成的文件并不算多,主要还是因为他高度模块化的功用;我们可以根据实时需要安装即可;配置文件在/etc/nginx目录下,进程则在/usr/lib64目录下的ningx,还有就是日志文件在/var/log/nginx目录下,对于一个 web server 来说 日志文件的重要性也是毋庸置疑的;那么我们接下来,对于/etc/nginx下的配置文件进行具体分析:

        他的主配置文件是 nginx.conf,同时 我们也可以在/etc/nginx/conf.d/目录下自定义以 .conf结尾的配置文件;我们来看一下主配置文件 ningx.conf; 如图0514-03所示

         Nginx 功能概述与基础应用!                                                          示图:0514-03.jpg

    主要内容可以分为三段:
                                   main block: 主配置段,即为全局配置段;
                                   event {
                                          ….
                                    } :  时间驱动相关的配置;
                                  http {
                                          ….
                                   }: http/https 协议相关的配置段;
      对于mail及stream配置段来说,我们大多数情况下用不到,并且默认配置文件中就没有给出,所在在这里我们不做说明;
                  
                             http协议相关的配置结构
http {
…:各server的公共配置
server {
}:每个server用于定义一个虚拟主机;
server {
listen 
server_name
root
alias
location [OPERATOR] URL {
if CONDITION {
}
}
}

           那么我们下面就来进行配置一个简单的nginx web server 并且启动起来; 首先进入到/etc/nginx/conf.d目录下 编辑一个以.conf结尾的文件,我们这里取名为test.conf,如图所示:

          Nginx 功能概述与基础应用!                                                                 示图:0514-04.jpg


            只需如上图做出编译及可,我们使用的8080端口,然后定义一个服务器名字,定义根目为/data/www;并且默认页面为index.html;然后保存退出使用nginx -t 命令查看格式没有问题,那么我们就可惜对根目录进行编译了,使用命令 mkdir -pv  /date/www 创建目录,然后在目录中vimindex.html,进行编译,内容只是简单的TEST PAGE吧,测试页面;好了,现在我们可以启动服务了 ,nginx -s reload命令即可!确定你的防火墙规则和selinux不会成为阻碍,并且使用ss -tnl 命令查看端口8080是否已经打开,然后我们就可以在浏览器上放问设定的页面了!


 Nginx 功能概述与基础应用!
                                  示图:0514-05.jpg    


           至此,一个简单的nginx web server主页就设定完成了,当然这只是最简单,最基础的,ningx强大的功能还有许多,等待着大家去学习使用,希望此篇博客能够对您理解ningx起到一定的帮助,哪怕是极其微小的,我也会感到荣幸之至!

          此博客仅供个人参考使用!

原创文章,作者:Marui,如若转载,请注明出处:http://www.178linux.com/75548

(0)
MaruiMarui
上一篇 2017-05-14 16:03
下一篇 2017-05-14 20:10

相关推荐

  • 马哥教育网络班21期+第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@itop ~]# cp -r /etc/skel /home/tuserl [root@itop ~]# chmod -R&nbsp…

    Linux干货 2016-08-01
  • sed命令应用详解

    sed应用详解 sed是文本处理处理工具“三大剑客”之一,它 是一种流编辑器,sed一次只处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。sed不会修改原文件内容,除非你使用重定向存储输出。…

    Linux干货 2016-08-11
  • sed之高级命令的解析

                sed工作机制中另一个逻辑空间用于作为模式空间的好帮手,就是叫保持空间(hold space),在模式空间中处理一行内容会继续处理下一行,那么对于处理过的行可能还有其他处理,因此可以先把处理好的数据存放在hold s…

    Linux干货 2016-08-08
  • Linux 登录趣事

    初入Linux运维,在虚拟机VMware12中装载CentOS6和CentOS7,均带有图形化界面。简单熟悉Linux,发现了一些关于登录的趣事,在此与大家分享。 运行环境:CentOS6和CentOS7 工具:系统里的terminal 登录趣事(以CentOS6为例): (1)自动登录图形化界面 每次启动CentOS6,短暂等待之后便会进入登录界面,然后选…

    2017-07-15
  • test

    欢迎使用马克飞象 作业帮 示例笔记本 马克飞象 帮助 Markdown 马克飞象是一款专为印象笔记(Evernote)打造的Markdown编辑器,通过精心的设计与技术实现,配合印象笔记强大的存储和同步功能,带来前所未有的书写体验。特点概述: 功能丰富 :支持高亮代码块、LaTeX 公式、流程图,本地图片以及…

    Linux干货 2017-03-20
  • 多任务脚本发布

    1、此脚本用于将80和443用iptables mark标记后 添加到 ipcsadm 中,让80端口和443端口当成一类 服务进行调度 —————————————————————————————————————————————— #!/bin/bash 多端口绑定,这里是80和443被iptables绑定为一个标记分发后端 vip=172.16.0.99M…

    Linux干货 2017-06-25

评论列表(2条)

  • idcdeng
    idcdeng 2017-06-05 23:10

    nginx,建议编译使用,性能更高。嘿嘿,有时间互相交流交流,我qq13554667815

    • Marui
      Marui 2017-06-06 11:06

      @idcdeng
      好的