Nginx基础

Nginx(适合linux系统下)

1.基本结构

worker_process 4; events{ worker_connections 1024; }; http{ server{ } server{ } }

2.相关命令

查看nginx进程
tasklist /fi "imagename eq nginx.exe" 显示如下图:


nginx常用命令(一定要进入nginx的安装目录才能执行)

nginx -s stop 强制关闭
nginx -s quit 安全关闭
nginx -s reload 改变配置文件的时候,重启nginx工作进程,来时配置文件生效
nginx -s reopen 打开日志文件

3.配置详解

**设置 用户和用户组 **
user www www;//nobody低权限用户 安全

**nginx进程数,建议设置为等于CPU总核心数或者两倍 **
worker_process 4

**设置错误日志的存放文件,全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] **
error_log /usr/local/nginx/logs/error.log info;

**进程pid文件的存放路径(pid是控制系统的重要文件) **
pid /usr/local/nginx/logs/nginx.pid;

指定进程可以打开的最大描述符:数目
工作模式与连接数上限
这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。
现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。
这是因为nginx调度时分配请求到进程并不是那么的均衡,所以假如填写10240,总并发量达到3-4万时就有进程可能超过10240了,这时会返回502错误。

worker_rlimit_nofile 65535;

**设置最大连接数 **
events{ worker_connections 1024; };

http指令处理http请求
# http {
# mime type映射
include mime.types;
default_type application/octet-stream;

sendfile        on;
#tcp_nopush     on;

#keepalive_timeout  0;
keepalive_timeout  65;

#gzip  on;

# server 表示一个虚拟主机,一台服务器可配置多个虚拟主机
server {
    # 监听端口
    listen       80;
    # 识别的域名
    server_name  localhost;

    # 一个关键设置,与url参数乱码问题有关
    charset utf-8;

    #access_log  logs/host.access.log  main;

    #location表达式:
    #syntax: location [=|~|~*|^~|@] /uri/ { … }
    #分为两种匹配模式,普通字符串匹配,正则匹配
    #无开头引导字符或以=开头表示普通字符串匹配
    #以~或~* 开头表示正则匹配,~*表示不区分大小写
    #多个location时匹配规则
    #总体是先普通后正则原则,只识别URI部分,例如请求为/test/1/abc.do?arg=xxx
    #1. 先查找是否有=开头的精确匹配,即location = /test/1/abc.do {...}
    #2. 再查找普通匹配,以 最大前缀 为规则,如有以下两个location
    #   location /test/ {...}
    #   location /test/1/ {...}
    #   则匹配后一项
    #3. 匹配到一个普通格式后,搜索并未结束,而是暂存当前结果,并继续再搜索正则模式
    #4. 在所有正则模式location中找到第一个匹配项后,以此匹配项为最终结果
    #   所以正则匹配项匹配规则受定义前后顺序影响,但普通匹配不会
    #5. 如果未找到正则匹配项,则以3中缓存的结果为最终结果
    #6. 如果一个匹配都没有,返回404
    
    #location =/ {...} 与 location / {...} 的差别
    #前一个是精确匹配,只响应/请求,所有/xxx类请求不会以前缀匹配形式匹配到它
    #而后一个正相反,所有请求必然都是以/开头,所以没有其它匹配结果时一定会执行到它
    
    #location ^~ / {...} ^~意思是非正则,表示匹配到此模式后不再继续正则搜索
    #所有如果这样配置,相当于关闭了正则匹配功能
    #因为一个请求在普通匹配规则下没得到其它普通匹配结果时,最终匹配到这里
    #而这个^~指令又相当于不允许正则,相当于匹配到此为止
    location / {
        root   html;
        index  index.html index.htm;
        # deny all; 拒绝请求,返回403
        # allow all; 允许请求
    }
    
    location /test/ {
        deny all;
    }
    
    location ~ /test/.+\.jsp$ {
       proxy_pass  http://192.168.1.62:8080;
    }

    location ~ \.jsp$ {
       proxy_pass  http://192.168.1.61:8080;
    }

    # 定义各类错误页
    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;
    }
    
    # @类似于变量定义
    # error_page 403 http://www.jikexueyuan.com这种定义不允许,所以利用@实现
    error_page 403 @page403;
    location @page403 {
        proxy_pass http://http://www.jikexueyuan.com;
    }
}

4.Nginx虚拟主机的配置

为了使一个服务器可以供更多的用户使用,可以将服务器氛围多个虚拟的自服务器,每个子服务器都是独立的,这些服务器是根据虚拟化技术分出来的,这样一台服务器就可以虚拟成很多台子服务器,我们把子服务器叫做虚拟主机


第一种:基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站
1.需要建立/data/www /data/bbs目录,windows本地hosts添加虚拟机ip地址对应的域名解析;对应域名网站目录下新增index.html文件; 127.0.0.1 www.mingyipc.com 127.0.0.1 www.mingyiwap.com 2.nginx.conf配置文件新增 server{ listen:80;//监听端口号 server_name: www.mingyiipc.com;//虚拟主机名称 accsess_log logs/mingyipc.log combined;//日志文件,默认格式 必须 location / 虚拟主机本机根目录 { index index.html index.htm;//默认首页 root html/mingyipc.html;//绑定的目录(安装nginx的目录) } } server{ listen:80;//监听端口号 server_name: www.mingyiwap.com;//虚拟主机名称 accsess_log logs/mingyipc.log combined;//日志文件,默认格式 必须 location / 虚拟主机本机根目录 { index index.html index.htm;//默认首页 root html/mingyiwap.html;//绑定的目录(安装nginx的目录) } } 访问: www.mingyiipc.com www.mingyiwap.com

第二种:基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台
nginx.conf配置文件新增 server{ listen:8000;//监听端口号 server_name: www.mingyi.com;//虚拟主机名称 accsess_log logs/mingyi.log combined;//日志文件,默认格式 必须 location / 虚拟主机本机根目录 { index index.html index.htm;//默认首页 root html/mingyipc.html;//绑定的目录(安装nginx的目录) } } server{ listen:8001;//监听端口号 server_name: www.mingyi.com;//虚拟主机名称 accsess_log logs/mingyi.log combined;//日志文件,默认格式 必须 location / 虚拟主机本机根目录 { index index.html index.htm;//默认首页 root html/mingyi.html;//绑定的目录(安装nginx的目录) } } 访问: www.mingyi.com:8000 www.mingyi.com:8001

第三种:基于ip的虚拟主机,几乎不用
1.配置多个ip ifconfig eth0 192.168.1.0 netmask 255.255.255.0 ifconfig eth0:1 192.168.1.7 broadcast 19.168.1.255 netmask 255.255.255.0 2.配置nginx server{ listen:192.168.1.7:80;//监听IP地址 server_name:192.168.1.7;//虚拟主机名称 accsess_log logs/mingyipc.log combined;//日志文件,默认格式 必须 location / 虚拟主机本机根目录 { index index.html index.htm;//默认首页 root html/mingyipc.html;//绑定的目录(安装nginx的目录) } }

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

推荐阅读更多精彩内容

  • 1.ngnix介绍 ngnix www服务软件 俄罗斯人开发 开源 性能很高 本身是一款静态WWW软件 静态小文件...
    逗比punk阅读 2,088评论 1 6
  • Page 1:nginx 服务器安装及配置文件详解 CentOS 6.2 x86_64 安装 nginx 1.1 ...
    xiaojianxu阅读 8,531评论 1 41
  • 更新日志:20170818 更新yum安装 和 多前端部署80端口 截图目录: [toc] nginx(基础) 准...
    inke阅读 1,097评论 1 8
  • 什么是nginx? Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服...
    FTOLsXD阅读 454评论 0 1
  • 距离品创者品牌发布会还有3天!点击下方阅读原文进行报名,这是互联网白酒行业首例新品发布会,届时我们将在发布会现场送...
    品创者阅读 86评论 0 0