1. nginx基础

1. nginx进程模型:

master进程:主进程,管理worker,接收来自外界的信号分发给worker
worker进程:工作进程,处理客户端的请求,每个worker进程默认连接数为1024;默认只起一个工作进程;可在配置文件中修改

2. nginx.conf配置结构:
{
  main: 全局配置
  event: 配置工作模式及连接数
  http : http模块相关配置{
    server: 虚拟主机配置 {
      location: 路由配置
      upstream: 集群配置
    }
  }
}
2.1 全局配置:
#user  nobody;

表示以操作系统哪一个用户去启动worker进程;如图可以看到nginx启动了一个master,一个worker进程,worker进程是nobody用户启动
image.png
worker_processes  1;

用于配置worker进程个数

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

配置错误日志的位置和日志级别

nginx日志级别:debug info notice warn error crit
image.png
2.2 event块
events {
    worker_connections  1024;
}

配置了一个worker的最大连接数

2.3 http块
include mime.types;

用于引入文件
image.png
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

记录请求的日志,指定日志的格式

    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;

sendfile: nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统uptime。
tcp_nopush: 设置tcp的psh标志位?
keepalive: 长连接超时时间,单位是秒

2.4 server块:

server块用于配置虚拟主机,从用户角度来看,一台虚拟主机和一台独立的硬件主机是完全一样的。虚拟主机技术使得Nginx服务器可以在同一台服务器上只运行一组Nginx进程,对多个网站提供服务。

        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            index  index.html index.htm;
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

listen用于监听指定ip:port的连接
listen 127.0.0.1:8000; #只监听来自127.0.0.1这个IP,请求8000端口的请求
listen 127.0.0.1; #只监听来自127.0.0.1这个IP,请求80端口的请求(不指定端口,默认80)
listen 8000; #监听来自所有IP,请求8000端口的请求
server_name用于指定虚拟主机名称,可以配多个 空格区分

2.5 location块:

语法结构:

location [ = | ~ | ~* | ^~ ] uri { ... }

uri用于与请求url(除开虚拟主机名)进行匹配的字符串

  1. 在不添加此选项时,Nginx服务器首先在server块的多个location块中搜索是否有标准uri和请求字符串匹配,如果有多个可以匹配,就记录匹配度最高的一个。然后,服务器再用location块中的正则uri和请求字符串匹配,当第一个正则uri匹配成功,结束搜索,并使用这个location块处理此请求;如果正则匹配全部失败,就使用刚才记录的匹配度最高的location块处理此请求。
  2. “=”,用于标准uri前,要求请求字符串与uri严格匹配。如果已经匹配成功,就停止继续向下搜索并立即处理此请求。
  3. “^~”,用于标准uri前,要求Nginx服务器找到标识uri和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则uri和请求字符串做匹配。
  4. “~”,用于表示uri包含正则表达式,并且区分大小写。
  5. “~* ”,用于表示uri包含正则表达式,并且不区分大小写。注意如果uri包含正则表达式,就必须要使用“~”或者“~*”标识。

root:用于设置请求寻找资源的跟目录

3. nginx常用命令:

nginx -s stop: 直接暴力关闭nginx
nginx -s quit: 不在接收新的连接,正在使用中的连接断开后,关闭nginx,仅针对http
nginx -t: 检查配置文件语法
nginx -V: 查看版本和其他信息
nginx -s reload: 重新加载配置文件

参考:
https://www.cnblogs.com/54chensongxia/p/12938929.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • 1、nginx.conf文件的结构 nginx.conf一共由三部分组成,分别为全局块、events块和http块...
    代码的搬运工阅读 270评论 0 0
  • 一.I/O介绍 httpdMPM perfork:一个master进程开启多个子进程,master只负责读取配置文...
    分享一些文档阅读 307评论 0 0
  • Nginx概述 Nginx (engine x) 是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器软件...
    geekdeedy阅读 1,010评论 0 1
  • Nginx是俄罗斯人编写的一款高性能的HTTP和反向代理服务器,在高连接并发的情况下,它能够支持高达50000个并...
    xiaolyuh阅读 731评论 0 8
  • Nginx 配置文件 文件结构 Nginx 配置文件由三部分组成: 全局块,主要设置一些影响 Nginx 服务器整...
    逗比的一生阅读 55评论 0 1