详解Nginx服务器配置

网友投稿 746 2022-05-30

nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。

一、Nginx配置文件的整体结构

1.1 全局块

该部分配置主要影响Nginx全局,通常包括下面几个部分:(1)配置运行Nginx服务器用户(组)(2)worker process数(3)Nginx进程PID存放路径(4)错误日志的存放路径(5)配置文件的引入

1.2 events块

该部分配置主要影响Nginx服务器与用户的网络连接,主要包括:(1)设置网络连接的序列化(2)是否允许同时接收多个网络连接(3)事件驱动模型的选择(4)最大连接数的配置

1.3 http块

(1)定义MIMI-Type(2)自定义服务日志(3)允许sendfile方式传输文件(4)连接超时时间(5)单连接请求数上限

1.4 server块

(1)配置网络监听(2)基于名称的虚拟主机配置(3)基于IP的虚拟主机配置

1.5 location块

(1)location配置(2)请求根目录配置(3)更改location的URI(4)网站默认首页配置

二、Nginx常用功能

2.1 Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。

2.2 负载均衡

Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。 2.3 web缓存

Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。

三、Docker容器中安装vim

由于容器中不能打开文本类型文件,这是需下载安装编辑器。

3.1 首先进入容器

docker exec -ti 容器名称 /bin/bash

例如:

docker exec -ti nginx /bin/bash

3.2 接下来更新下apt-get的源。把下面的命令全部复制粘到容器的控制台执行:

mv /etc/apt/sources.list /etc/apt/sources.list.bak && \    echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list && \    echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list && \    echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list && \    echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list

3.3 更新安装源

apt-get update

3.4 执行命令:

apt-get install vim -y

四、本篇未完待续

详解Nginx服务器配置

明天更新《Nginx代理服务器的配置》。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:电网
下一篇:微服务开发攻略之浅析微服务架构
相关文章