nginx的简单介绍
nginx简单介绍
Nginx的负载均衡策略可以分两大类:内置策略和扩展侧略:
内置策略包括:轮询,加权轮询,IP hash
扩展策略是:url hash ,fair
nginx.conf文件结构
1)全局块:
通常配置一运行nginx的组,用户,允许生成的work process数,PID的存放路径
2)events块
支持使用的网络事件模型,每个workprocess可以同时支持的最大连接数
3)http块
包含server块,每个server块又包含location块。
可以在http块中配置包括文件的引入,MIME-Type定义,是否使用sendfile传输文件
4)server块
和虚拟主机相连接,每个server块相当与一台虚拟主机
5)location块
基于nginx服务器收到的请求字符串(例如server_name/uri_string),对除虚拟主机名称(也可以是IP别名)之外的字符串(例如uri_string部分进行)匹配,对特定段请求进行处理,地址定向,数据缓存和应答控制等功能都是在这一部分实现的。
如果有多个匹配就记录匹配最高的那个,然后,服务器再用localtion块的中的正则uri和请求的字符串匹配,当第一个正则匹配成功以后就结束搜索,并使用这个location块处理请求,如果正则失败就使用记录的匹配度最高的localtion块处理这个请求;
location定义的三种方式;
1)location url{} 对当前路径及路径下的所有对象都有效
2)Location =url{} 只对当前路径有效
=要求请求的字符串与uri严格匹配,如果匹配成功,就停止继续搜索;
3)Location ~url{} ~做模式匹配,区分字符大小写
4)Location ~{} 不区分字符大小写
如果uri包含正则表达式 ,就必须使用~或 ~
具体指令
1)设置网络连接的序列话化
Accpet_mutex on
设置为开启的时候,将会对nginx进程连接进行序列化,防止多个进程对连接的争抢,解决惊群现象
2)
location / {
root html; ##收到网络请求后就在指定目录下寻找请求的资源;
index index.html index.htm;#设置网站的默认首页
}
3)Nginx.conf配置内容
**********************全局模块*******************
user nginx nginx; #配置用户和组
#user nobody;
worker_processes 1; #配置运行nginx生成的worker process数
#error_log logs/error.log; #配置nginx进程生成的对错误日志的解析
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid; #进程pid的文件的存放路径
**********事件模块********************************
events {
use epoll; #配置事件驱动模型
worker_connections 1024; #配置最大的连接数
}
****************http,server,location模块*********
http {
include mime.types; #定义MIME-Type
default_type application/octet-stream;
sendfile on; #允许使用sendfile方式传输
keepalive_timeout 65; ###配置连接超时间件
server {
listen 80;
server_name localhost;
#access_log logs/host.access.log main;#配置请求日志的存放路径
location / {
root html; #配置请求服务资源的根目录
index index.html index.htm;##设置网站的默认首页
}
nginx的简单介绍的更多相关文章
- WebSocket简单介绍
Java后端WebSocket的Tomcat实现 一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随着HTML5的诞生,WebSoc ...
- Nginx负载均衡介绍
Nginx真心牛逼 nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态.静态页面的分离,可以按照轮询.ip哈希.URL哈希.权重等多种方式 ...
- nginx知识点简单回顾
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- Linux安装Nginx以及简单理解
1.Nginx简单介绍 ①.Nginx:一个高性能的HTTP和反向代理服务器,高并发处理很不错. ②.反向代理:在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂 ...
- 3.Nginx常用功能介绍
Nginx常用功能介绍 Nginx反向代理应用实例 反向代理(Reverse Proxy)方式是指通过代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并且从内部网络服 ...
- Docker的简单介绍及使用
Docker介绍 Docker是Docker.Inc公司开源的一个基于LXC技术之上构建的Container容器引擎,源代码托管在GitHub上,基于Go语言并遵从Apache2.0协议开源. Doc ...
- nginx搭建简单的图片服务器
传统项目一般实现图片上传的话,都会在tomcat下面建立一个图片文件夹,上传成功后,用户可以直接访问, http://ip:port/project/images/xxx.jpg; 这样在用户量少的时 ...
- web服务的简单介绍及apache服务的安装
一,web服务的作用: 是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档.可以放置网站文件,让全世界浏览: 可以放置数据让全世界下载.目前最主流的三个Web服务器是Ap ...
- 转:Linux下使用Nginx搭建简单图片服务器
最近经常有人问图片上传怎么做,有哪些方案做比较好,也看到过有关于上传图片的做法,但是都不是最好的,今天再这里简单讲一下Nginx实现上传图片以及图片服务器的大致理念. 如果是个人项目或者企业小项目,仅 ...
随机推荐
- 12个Sublime Text应用技巧[转载]
本文为您提供Sublime Text编辑器的12个技巧和诀窍,深入挖掘这个看似简洁的代码编辑器,背后所隐藏的实现各种高级功能的无限可能. 1) 选择 以下是一些Sublime Text选择文本的快捷键 ...
- Git-Runoob:Git Github
ylbtech-Git-Runoob:Git Github 1.返回顶部 1. Git 远程仓库(Github) Git 并不像 SVN 那样有个中心服务器. 目前我们使用到的 Git 命令都是在本地 ...
- Jmeter测试工具的下载使用
Jmeter是一个非常好用的压力测试工具. Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好.
- Thymeleaf 页面表达式基础
转自:http://www.cnblogs.com/vinphy/p/4674247.html#undefined (一)Thymeleaf 是个什么? 简单说, Thymeleaf 是一个 ...
- apache配置静态缓存
配置静态缓存:节省带宽,加快访问速度,提高用户体验.<IfModule mod_expires.c> ExpiresActive on ExpiresByType image/gif &q ...
- mysql主从复制架构配置
第一个mysql1.下载mysql,解压,移动解压后的目录到指定目录下. 如:mv /usr/local/src/mysql-5.1.. /usr/local/mysql 创建mysql用户, use ...
- 阶段3 2.Spring_10.Spring中事务控制_10spring编程式事务控制2-了解
在业务层声明 transactionTemplate 并且声称一个set方法等着spring来注入 在需要事物控制的地方执行 execute.但是这个execute需要一个参数 需要的参数是Trans ...
- Activity启动场景Task分析(二)
场景分析 下面通过启动Activity的代码来分析一下: 1.桌面 首先,我们看下处于桌面时的状态,运行命令: adb shell dumpsys activity 结果如下 ACTIVITY MAN ...
- Redis 入门 3.3 散列类型
3.3.1 介绍 散列类型(hash)的键值也是一种字典结构,其储存了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他数据类型,换句话说,散列类型不能嵌套其他的数据类型.一个散列 ...
- 【神经网络与深度学习】【CUDA开发】caffe-windows win32下的编译尝试
[神经网络与深度学习][CUDA开发]caffe-windows win32下的编译尝试 标签:[神经网络与深度学习] [CUDA开发] 主要是在开发Qt的应用程序时,需要的是有一个使用的库文件也只是 ...