全局配置段

# 允许运行nginx服务器的用户和用户组
user www-data; # 并发连接数处理(进程数量),跟cpu核数保存一致;
worker_processes auto; # 存放 nginx的进程号
pid /run/nginx.pid; # 定义相关属性
events {
# 一个进程允许处理的最大连接数768
worker_connections 768;
# multi_accept on;
# 定义使用的内核模型,默认开启epoll
# use epoll }

http配置段

http {
# 开启高效文件传输模式
sendfile on; ###### 防止网络阻塞 ######
tcp_nopush on;
tcp_nodelay on; # 长连接超时时间65秒
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off; # server_names_hash_bucket_size 64;
# server_name_in_redirect off; ###### 允许处理文件类型 ######
# 文件扩展名与文件类型映射表
include /etc/nginx/mime.types;
# 默认文件类型
default_type application/octet-stream; ###### 日志配置 ######
# Logging Settings
## # 日志文件存放
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log; # 开启gzip压缩输出
gzip on; # 开启目录列表访问,搭建下载服务时使用,默认关闭
# autoindex on; # 配置文件从上往下读,类似django路由转发
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*; # 如果不导入Nginx.conf配置,可以直接在这里添加server
# server {
# listen 172.17.1.142:80; # location /performance {
# alias /etc/nginx/my_gitbook/_book/;
# index index.html;
# }
# }
}

Server常见配置

server {
# 监听端口号
listen ip:port;
server_name 主机名;
...
}
listen的表示方式
形式 描述
ip:port 精确表示
ip 自动监听80端口
port 自动监听80端口
default_server 自动使用默认地址localhost:80
server_name

作用:对不同的域名的请求分类

格式:

形式 例子
完整样式 www.example.com
前缀正则样式 *.example.com
后缀正则样式 www.example.*

location

location 根据Server匹配到的请求路径和关键字去响应和处理, 支持正则匹配

普通匹配:

相同的路由规则下:

类型 含义 匹配方式 优先级 样式
=/路径 精确匹配 前缀 1 location = /image {}
^~ 优先匹配 前缀 2 location ^~ /page {}
@ 内部重定向 前缀 location @name {}
空 / 通用匹配 前缀 location / {}
# ----------匹配规则优先级---------------
# 同样对于根目录匹配
# 通用匹配 最后匹配
location / {
return 400;
}
精确匹配 优先级最高
location = / {
return 401;
}
优先匹配 优先级第二
location ~ / {
return 402;
}

正则匹配:

location 基础设置

location / {
root /var/www/html; # 指定响应请求的文件所在路径
index index.php index.html index.htm; # 指定响应请求的默认文件名称
expires 7d; # 指定响应请求的文件过期时间,一般用于静态文件
try_files $uri $uri/ =404; # 如果root指定的路径下有查找的文件,就返回,否则报错
}
  • root属性

    作用:定义Server相应请求的html文件所在路径

    表现形式: root /var/www/html;
  • index属性

    作用:定义响应请求后返回的文件名称或格式

    表现形式: index index.html index.htm index.nginx-debian.html;
  • return属性

    作用:定义响应请求后返回的http状态码

    表现形式: return 400;

location 临时跳转

location = /test/ {
return 302 http://sswang.com/; # 访问旧url的时候,临时跳转到新url,两个url均不失效
}

location 访问控制

location /nginx-status {
stub_status on; # 开启nginx的状态页面,返回nginx状态信息,默认关闭
allow 192.168.1.11; # 指定ip客户端允许的访问(ip白名单)
deny all; # 除了允许都拒绝
}

location 目录列表

# 目录下载控制
location /upload {
alias /etc/nginx; # 指定查看文件列表路径(绝对路径)
autoindex on; # 开启目录自动索引
autoindex_exact_size off; # 默认on,显示文件确切大小(bytes)。off表示显示文件的大概大小(kB/MB/...)
autoindex_localtime on; # 默认off,显示的文件时间为GMT时间。on表示显示文件的服务器时间
}
注意:
该alias指定的目录下,不允许出现index属性指定的文件。
root 和 alias 区别

一般情况下,在location /中配置root,在location /other中配置alias

root 	表示 location 匹配内容的相对路径
alias 表示 一个绝对路径,而且必须以"/"结尾
  • root

    访问http://localhost/img/,nginx找/var/www/image/img/目录下的文件
location /img/ {
root /var/www/image/;
}
  • alias

    访问http://localhost/img/,nginx找/var/www/image/目录下的文件
location /img/ {
alias /var/www/image/;
}
try_files 和return的使用和区别

都是结果状态返回,但他们有 不同的使用场景,try_files对根路径 /匹配无效

  • try_files
    location /a {
try_files $uri $uri/ =400;
}
  • try_files和@使用
    # try_files配合@使用
location /a {
try_files $uri $uri/ @test;
}
location @test {
return https://www.baidu.com;
}
try_files配合@使用
  • return
    location / {
return 302 https://www.baidu.com;
}

Nginx(二) 常用配置的更多相关文章

  1. Django笔记&教程 1-2 二 常用配置

    Django 自学笔记兼学习教程第1章第2节--二 常用配置 点击查看教程总目录 新手建议简单浏览本文,不理解的建议跳过,不要强行理解. Django的设置涉及多个模块,需要了解Django的一些相关 ...

  2. Nginx的常用配置

    Nginx配置文件结构 设置worker进程的用户,指的linux中的用户,会涉及到nginx操作目录或文件的一些权限,默认为 nobodyuser root; worker进程工作数设置,一般来说C ...

  3. nginx.conf常用配置解析

    一.全局配置 user username groupname 运行用户及用户组 worker_processes auto 启动进程,通常设置成和cpu数量相等的一个数值,默认为1.可以设置为auto ...

  4. ActiveMQ (二) 常用配置简介

    ActiveMQ的主要配置文件 ActiveMQ的一些常用的属性很多可以在对应的配置文件中进行配置的.比如访问web console的管理端的端口,用户名密码,连接MQ时的用户名和密码,持久化设置,是 ...

  5. Nginx(三) 常用配置整理

    #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processes 8; #全局错误日志定义类型,[ debug | ...

  6. Nginx安装与配置【转】

    原文:linux之nginx 作者;海燕. 一.nginx Ngix是web服务器,跟apache一样,它可以做动态请求转发.web端负载均衡.反向代理等等: tomcat是应用服务器,当然如果非用逼 ...

  7. 安装nginx并安全地配置和启动

    一.安装nginx >>参考文章<< 安装教程,看代码&注释 # .sh # 如果centos服务器是最低安装,则先安装weget yum install -y wge ...

  8. Nginx之常用基本配置(二)

    上一篇我们把nginx的主配置文件结构大概介绍了下,全局配置段比较常用的指令说了一下,http配置段关于http服务器配置指令介绍了下,以及有几个调优的指令,server_name的匹配机制,错误页面 ...

  9. Nginx学习笔记二基本配置

    1.Nginx的配置文件默认在Nginx程序安装目录的conf二级目录下,主配置文件为nginx.conf.假设您的Nginx安装 在/usr/local/webserver/nginx/目录下,那么 ...

随机推荐

  1. Hibernate管理Session

    Hibernate自身提供了三种管理Session对象的方法 Session对象的生命周期与本地线程绑定 Session对象的生命周期与JTA事务绑定 Hibernate委托程序管理Session对象 ...

  2. python生成器yield和send

    创建生成器 #第一种创建生成器的方法 #使用()创建生成器,如果使用[]则创建列表 a = (x**2 for x in range(1, 5)) #可以通过next一直产生新的数据,直到最后一个报异 ...

  3. 第二阶段:4.商业需求文档MRD:5.PRD-原型图

    页面原型图!

  4. ELK学习实验008:Kibana的介绍

    一 简介 Kiana是一款开源的数据分析和可视化平台,它是 Elastic Stack成员之一,设计用于和 Elasticsearch协作.您可以使用 Kiana对 Elasticsearch索引中的 ...

  5. DEVOPS技术实践_09:Jenkins多分支管道

    简介 多分支的管道是在jenkins2.x中新增的功能 . 多分支管道允许你针对分布式的控制器的每个分支创建一个管道. 下图是对它的一个描述.使用jenkinsfile去创建多分支的管道,jenkin ...

  6. javascript DOM 编程艺术 札记2 平稳退化

    定义 指的是即便浏览器不支持javascript,页面的基础展示功能也不会受到影响的做法. 不能平稳退化的实例 javascript:这种伪协议,它可以通过链接调用javascript函数.比如< ...

  7. 【题解】LOJ6060 Set(线性基)

    [题解]LOJ6060 Set(线性基) orz gql 设所有数的异或和为\(S\),答案是在\(\max (x_1+S\and x_1)\)的前提下\(\min x_1\)输出\(x_1\) 转换 ...

  8. 洛谷$P2523\ [HAOI2011]\ Problem\ c$ $dp$

    正解:$dp$ 解题报告: 传送门$QwQ$ 首先港下不合法的情况.设$sum_i$表示$q\geq i$的人数,当且仅当$sum_i>n-i+1$时无解. 欧克然后考虑这题咋做$QwQ$. 一 ...

  9. 20.用PyInstaller打包py程序的步骤及问题解决

    最近写了一个移动和复制文件的代码,代码完成之后,想将其打包成一个可以在任何电脑上使用的软件, 于是在网上查找相关资料,可以用PyInstaller打包成.exe程序,以下是具体步骤: 1.安装PyIn ...

  10. 能快速理解Java_集合类_的文章

    目录 @ 这篇文章是我学习完Java集合类做的笔记和总结,如果你想认真细读这篇文章,请做好受虐的准备(建议电脑看),因为这篇文章有点长,ヽ(ー_ー)ノ. 如果在看我这篇文章过程中,发现了错误,望指点. ...