一:

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指令。 它适用于不包括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;
}
}
}

四:几个顶级指令

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

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

五:try_files指令

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错误

  




nginx中配置文件的讲解的更多相关文章

  1. strutx.xml中配置文件的讲解

    Struts2框架的核心就是struts.xml文件了,该文件主要负责管理Struts的2的业务控制组件的核心内容.为了避免struts.xml的文件国 语庞大和臃肿,我们可以通过把一个struts. ...

  2. Nginx入门讲解——初步认识了解nginx.conf配置文件以及配置多个虚拟主机

    本文引自网络进攻学习之用https://blog.csdn.net/weixin_38111957/article/details/81080539 一. 引言上节文章讲述了如何用信号控制Nginx服 ...

  3. 在nginx中配置如何防止直接用ip访问服务器web server及server_name特性讲解

    看了很多nginx的配置,好像都忽略了ip直接访问web的问题,不利于SEO优化,所以我们希望可以避免直接用IP访问网站,而是域名访问,具体怎么做呢,看下面. 官方文档中提供的方法: If you d ...

  4. Nginx的配置文件简介及在Nginx中配置基于不同ip的虚拟主机

    Nginx的配置文件简介及在Nginx中配置基于不同ip的虚拟主机: #user nobody; worker_processes 1; #error_log logs/error.log; #err ...

  5. nginx中有关命令和日志切割,配置文件加载的详细阐述

    一.Nginx简介 Nginx (“engine x”) 是俄罗斯人Igor Sysoev(塞索耶夫)编写的一款高性能的 HTTP 和反向代理服务器.Nginx 已经在俄罗斯最大的门户网站── Ram ...

  6. Nginx的配置文件位置以及组成部分结构讲解

    场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...

  7. NGINX conf 配置文件中的变量大全 可用变量列表及说明

    $args #这个变量等于请求行中的参数.$content_length #请求头中的Content-length字段.$content_type #请求头中的Content-Type字段.$docu ...

  8. [转帖]Nginx 的配置文件详解.

    nginx配置文件nginx.conf超详细讲解  https://www.cnblogs.com/liang-wei/p/5849771.html   #nginx进程,一般设置为和cpu核数一样w ...

  9. 探究 Nginx 中 reload 流程的真相

    今天这篇文章主要来介绍下 Nginx 的 reload 流程.实际上在之前文章中,在更改了 nginx 配置文件时,我们都会执行 nginx -s reload 命令,我们执行这条命令的原因是希望 n ...

随机推荐

  1. webapi框架搭建-安全机制(三)-简单的基于角色的权限控制

    webapi框架搭建系列博客 上一篇已经完成了“身份验证”,如果只是想简单的实现基于角色的权限管理,我们基本上不用写代码,微软已经提供了authorize特性,直接用就行. Authorize特性的使 ...

  2. gson转换对象为json字符串时对特殊字符编码的问题

    使用google的gson进行object和json的转换,如下: public static String object2json(Object obj) { Gson gson = new Gso ...

  3. NOI2006 最大获利(最大权闭合子图)

    codevs 1789 最大获利 2006年NOI全国竞赛  时间限制: 2 s  空间限制: 128000 KB   题目描述 Description 新的技术正冲击着手机通讯市场,对于各大运营商来 ...

  4. python学习笔记4-内置函数、匿名函数、json处理

    print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真 print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真 print(bin(10))#十 ...

  5. Redis学习三:Redis数据类型

    一.Redis的五大数据类型 1.String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安 ...

  6. 经典幻灯片插件Swiper

    照着写的demo,搞清楚什么叫分页器Pagination,什么叫nav,搞清楚DOM结构,container,wrapper之类的,就能写了.效果掉渣天! <!DOCTYPE html> ...

  7. Sparse Filtering简介

    当前很多的特征学习(feature learning)算法需要很多的超参数(hyper-parameter)调节, Sparse Filtering则只需要一个超参数--需要学习的特征的个数, 所以非 ...

  8. MVVM设计模式的事件绑定

    为什么要事件绑定 这个问题其实是很好理解的,因为事件是丰富多样的,单纯的命令绑定远不能覆盖所有的事件.例如Button的命令绑定能够解决Click事件的需求,但Button的MouseEnter.窗体 ...

  9. HDU 6214 Smallest Minimum Cut 最小割,权值编码

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6214 题意:求边数最小的割. 解法: 建边的时候每条边权 w = w * (E + 1) + 1; 这 ...

  10. mysql高可用架构 -> MHA简介-01

    作者简介 松信嘉範:MySQL/Linux专家2001年索尼公司入职2001年开始使用oracle2004年开始使用MySQL2006年9月-2010年8月MySQL从事顾问2010年-2012年 D ...