nginx中配置文件的讲解
一:
1.配置文件的结构
nginx由配置文件中指定的指令控制的模块组成。 指令分为简单指令和块指令。
一个简单的指令由空格分隔的名称和参数组成,并以分号(;)结尾。
块指令具有与简单指令相同的结构,但不是以分号结尾,而是以大括号({和})包围的一组附加指令结束
events,http,server和location。
events 和http指令驻留在主上下文中,server在http中的,而location在http块中
二:静态网站服务
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中配置文件的讲解的更多相关文章
- strutx.xml中配置文件的讲解
Struts2框架的核心就是struts.xml文件了,该文件主要负责管理Struts的2的业务控制组件的核心内容.为了避免struts.xml的文件国 语庞大和臃肿,我们可以通过把一个struts. ...
- Nginx入门讲解——初步认识了解nginx.conf配置文件以及配置多个虚拟主机
本文引自网络进攻学习之用https://blog.csdn.net/weixin_38111957/article/details/81080539 一. 引言上节文章讲述了如何用信号控制Nginx服 ...
- 在nginx中配置如何防止直接用ip访问服务器web server及server_name特性讲解
看了很多nginx的配置,好像都忽略了ip直接访问web的问题,不利于SEO优化,所以我们希望可以避免直接用IP访问网站,而是域名访问,具体怎么做呢,看下面. 官方文档中提供的方法: If you d ...
- Nginx的配置文件简介及在Nginx中配置基于不同ip的虚拟主机
Nginx的配置文件简介及在Nginx中配置基于不同ip的虚拟主机: #user nobody; worker_processes 1; #error_log logs/error.log; #err ...
- nginx中有关命令和日志切割,配置文件加载的详细阐述
一.Nginx简介 Nginx (“engine x”) 是俄罗斯人Igor Sysoev(塞索耶夫)编写的一款高性能的 HTTP 和反向代理服务器.Nginx 已经在俄罗斯最大的门户网站── Ram ...
- Nginx的配置文件位置以及组成部分结构讲解
场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...
- NGINX conf 配置文件中的变量大全 可用变量列表及说明
$args #这个变量等于请求行中的参数.$content_length #请求头中的Content-length字段.$content_type #请求头中的Content-Type字段.$docu ...
- [转帖]Nginx 的配置文件详解.
nginx配置文件nginx.conf超详细讲解 https://www.cnblogs.com/liang-wei/p/5849771.html #nginx进程,一般设置为和cpu核数一样w ...
- 探究 Nginx 中 reload 流程的真相
今天这篇文章主要来介绍下 Nginx 的 reload 流程.实际上在之前文章中,在更改了 nginx 配置文件时,我们都会执行 nginx -s reload 命令,我们执行这条命令的原因是希望 n ...
随机推荐
- 贪心问题:区间覆盖 POJ 1328 Rader Installation
题目:http://poj.org/problem?id=1328 题意:给定海岛个数,雷达半径,输入各个海岛坐标,求能覆盖所有海岛的最少雷达数 题解: 1. 贪心的区间覆盖问题,尽量让每个雷达覆盖更 ...
- 【Swift】UIAlertController使用
func clickButton1(){ 创建uialertcontroller var alertCtl : UIAlertController = UIAlertController(title: ...
- mac nginx 安装及PHP配置
安装nginx 1.安装brew命令 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mas ...
- 训练赛第二场G题 ZOJ 2343
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2343 解题报告:首先我假设最后的正确的结果是a[1] , a[2 ...
- 【leetcode 简单】 第六十九题 删除链表中的节点
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 - ...
- 面试:----Nginx的一理解
1.静态HTTP服务器 首先,Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML.图片)通过HTTP协议展现给客户端. 配置: 2.反向代理服务器 什么是反向代理? 客户端本来可以直 ...
- [转]CNN 中千奇百怪的卷积方式大汇总
https://www.leiphone.com/news/201709/AzBc9Sg44fs57hyY.html 推荐另一篇很好的总结:变形卷积核.可分离卷积?卷积神经网络中十大拍案叫绝的操作. ...
- Hibernate5笔记2--单表的增删改查操作
单表的增删改查操作: (1)定义获取Session和SessionFactory的工具类: package com.tongji.utils; import org.hibernate.Session ...
- 【FCS NOI2018】福建省冬摸鱼笔记 day1
省冬的第一天. 带了本子,笔,一本<算法导论>就去了.惊讶于为什么同学不带本子记笔记. 他们说:“都学过了.”,果然这才是巨神吧. 第一天:数论,讲师:zzx 前几页的课件挺水,瞎记了点笔 ...
- Oracle Certified Java Programmer 经典题目分析(一)
Given: 1. public class returnIt { 2. returnType methodA(byte x, double y){ 3. return (short) x/y * 2 ...