nginx的二三事

公司项目上有利用nginx来做url的转发,关于nginx有一些常用的知识:

nginx有免费开源版和商用版两种,一般我们所使用的是免费开源版的。

从安装方法来说,主要有通过yum源来进行安装,第二种是通过源码编译安装,相比较,第二种可以指定各种编译选项,第一种使用的是默认的编译选项,同时制定了一些小工具,比如日志分割工具等,默认生成的配置文件的存放位置以配置文件的内容也有一些不同。

nginx是一种静态web服务器,它的配置文件是一种模块化的方式:

模块可以进行嵌套, 不同模块有一些通用的配置选项也有一些专用的配置选项;

在理解nginx如何进行转发时,以下面的例子为例:

当访问"http://10.1.1.72/"这个网址时,默认会访问到nginx服务器上的/srv/nginx/html/index.html文件,之所以会访问到这个文件,是由上面这段配置决定的,location可以理解成url的一部分,那么当我们访问"http://10.1.1.72/"这个url时,这个url的最后一个"/"其实就是上图中的"location,",这个location块中有两条配置指令,它们分别是root和index,root配置项是什么意思呢?root配置指令的意思是:当前location所对应的文档根目录是哪里,"root html;"表示当前location的文档根目录是html目录,那么"文档根目录"又是什么意思呢?说白了,文档根目录的意思就是当有人访问"/"这个路径时,去服务器的哪个目录中找对应的资源,举个例子,如果我在html目录中放了一张图片,图片名为a.jpg,那么我就能通过"http://10.1.1.72"访问到这张图片,url中的"/"对应了"location /"配置段,而"location /"又对应到了服务器的html目录,所以,url中的"/"就与服务器的html目录建立了对应关系,当我们访问"http://10.1.1.72。

nginx有一些常用的命令,如nginx -t,-v,-V,-h(前缀都是nginx)等,他们的作用如下:
不加选项:启动nginx服务

-h或-?:查看nginx帮助

-v:查看nginx的版本信息

-V:查看nginx的编译信息

-c:启动nginx是指定主配置文件

-t或-T:测试配置文件是否存在语法错误

-s:向nginx主进程发送信号  这些信号有stop,reopen,quit,reload,每种信号都有其不同的作用,比如我们修改配置文件但是又不想重启nginx,此时可以向正在运行的nginx发送信号来读取最新的配置信息。

启动nginx时,nginx是有一个master进程和多个worker进程,通常来讲,worker进行的个数是和cpu的核心数一致的。

关于模块内的配置选项,可以参考nginx官方文档的介绍,通过前文我们已经知道,在nginx中,我们可以通过location块与root指令结合的方式,将"url"与"服务器路径"建立起对应关系,location块负责匹配url,root指令负责将匹配到的url与服务器中某个具体目录对应起来。其实,location块匹配到对应的url以后,还能干很多别的事情,当location块匹配到url以后具体执行什么操作,取决于你在location块中配置了哪些指令,关于location的话题可能还需要单独写一篇文章来描述,此处我们先行略过,本文关注的重点是怎样将url与服务器路径建立起对应关系,既然要聊的话题是要将url和路径建立起关联关系,不如就从root指令开始聊起,在前文中我们已经初步接触过root指令,但是并没有详细的描述过怎样使用root指令,那么此处我们就来通过一些示例来演示怎样使用root指令,其实,除了root指令,还有另一个指令也能实现类似的功能,它就是alias指令,root指令和alias指令都能将url和服务器路径进行对应,但是,它们之间又存在一些区别,这篇文章就来详细的聊聊它们。

 

alias与root的区别在于,是否将/demo代入到实际的url中。

 访问日志随时间会慢慢变大,这是就需要进行日志切割,一般是按天进行切割,我们可以利用nginx自带logratate来进行切割,当然我们可以利用awk,sed等命令来写脚本进行切割,关于linux中三剑客grep,awk,sed,后面会单独进行讲解他们强大的文档处理能力。

除此之外,我们还可以利用nginx进行一定的负载均衡,nginx属于比较轻量级的中间件,关于nginx反向代理和负载均衡可以参照考以下几篇文章:

https://www.cnblogs.com/wang-meng/p/5861174.html

http://baijiahao.baidu.com/s?id=1602357706924342625&wfr=spider&for=pc

https://www.cnblogs.com/microtiger/p/7623858.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值