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;##设置网站的默认首页
        }

原文地址:https://www.cnblogs.com/hanfei-1005/p/5696199.html