博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx中配置文件的讲解
阅读量:5759 次
发布时间:2019-06-18

本文共 2605 字,大约阅读时间需要 8 分钟。

一:

1.配置文件的结构

  nginx由配置文件中指定的指令控制的模块组成。 指令分为简单指令和块指令。

  一个简单的指令由空格分隔的名称和参数组成,并以分号(;)结尾。

  块指令具有与简单指令相同的结构,但不是以分号结尾,而是以大括号({

})包围的一组附加指令结束

  eventshttpserverlocation。

  events 和http指令驻留在主上下文中,serverhttp中的,而locationhttp块中

 

二:静态网站服务 

1.目录

[root@localhost ~]# mkdir -p /data/www[root@localhost ~]# mkdir -p /data/images 并在上面的两个目中分别添加一个静态网页和.png格式的图片。

 

2.配置nginx.conf

server {    location / {        root /data/www;    }    location /images/ {        root /data;    }}

3.解释

  响应以/images/开头的URI的请求,服务器将从/data/images目录发送文件。例如,响应http://localhost/images/logo.png请求,nginx将发送服务上的/data/images/logo.png文件。 

  不以/images/开头的URI的请求将映射到/data/www目录。 例如,响应http://localhost/about/example.html请求时,nginx将发送/data/www/about/example.html文件。

 

三:代理服务器

1.目录

  将是一个监听端口8080的简单服务器,并将所有请求映射到本地文件系统上的/data/up1目录。

  创建此目录并将index.html文件放入其中。

  

2.conf(这是一个简单代理)

server {    listen 8080;    root /data/up1;    location / {    }}

3.解释

  root指令位于server块上下文中。 当选择用于服务请求的location块不包含自己的root指令时,将使用此root指令。

  这个比较重要。

  说明了/data/up1这个目录下面的文件是会被访问到的。

  指令指定将用于搜索文件的根目录。

  为虚拟服务器定义了root指令。 它适用于不包括root指令的所有location以显式重新定义根

 

4.conf(代理配置,数据转发

server {    location / {        proxy_pass http://localhost:8080/;    }    location ~ \.(gif|jpg|png)$ {        root /data/images;    }}

 

5.解释

  

6.整个conf

#user  nobody;worker_processes  1;#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    #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;    #gzip  on;    ## 新服务(服务处理)    server {        listen 8080;        root /data/up1;        location / {        }    }    ## 代理配置,数据转发    server {        location / {            proxy_pass http://localhost:8080/;        }        location ~ \.(gif|jpg|png)$ {            root /data/images;        }    }}
 

四:几个顶级指令

  几个顶级指令(称为上下文)将适用于不同流量类型的指令组合在一起:

    •  – 一般连接处理
    •  – HTTP协议流量
    •  – Mail协议流量
    •  – TCP协议流量

  指定在这些上下文之外的指令是在主上下文中。

 

 五:指令

1.

server {      root /www/data;      location /images/ {          try_files $uri /images/default.gif;      }  }

 在这种情况下,如果与原始URI相对应的文件不存在,则NGINX将内部重定向到最后一个参数中指定的URI,也就是返回/www/data/images/default.gif

 

2.

 location / {      try_files $uri $uri/ $uri.html =404;  }

  如果try_files指令的任何参数都不会解析为现有文件或目录,则会返回404错误

  

 
 

转载地址:http://rglkx.baihongyu.com/

你可能感兴趣的文章
多重影分身:一套代码如何生成多个小程序?
查看>>
Oracle将NetBeans交给了Apache基金会
查看>>
填坑记:Uncaught RangeError: Maximum call stack size exceeded
查看>>
SpringCloud之消息总线(Spring Cloud Bus)(八)
查看>>
DLA实现跨地域、跨实例的多AnalyticDB读写访问
查看>>
实时编辑
查看>>
北漂之毕业裁员后的又一波奇遇
查看>>
Python数据分析:pandas常用函数
查看>>
KVO原理分析及使用进阶
查看>>
Vue系列(四):模块化开发、Elment UI、自定义全局组件(插件)、Vuex
查看>>
【348天】每日项目总结系列086(2018.01.19)
查看>>
extjs-mvc结构实践(五):实现用户管理的增删改查
查看>>
【JS基础】初谈JS现有的数据类型
查看>>
【294天】我爱刷题系列053(2017.11.26)
查看>>
Microsoft发布了Azure Bot Service和LUIS的GA版
查看>>
Google发布Puppeteer 1.0
查看>>
窗口进度条及其高级使用
查看>>
实录分享&视频 | 微软Visual Studio Code是这样支持Docker的
查看>>
放弃OpenStack?恐怕还不到时候
查看>>
苏宁精准营销之生成人群包的演进
查看>>