Nginx(二) 常用配置
全局配置段
# 允许运行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(二) 常用配置的更多相关文章
- Django笔记&教程 1-2 二 常用配置
Django 自学笔记兼学习教程第1章第2节--二 常用配置 点击查看教程总目录 新手建议简单浏览本文,不理解的建议跳过,不要强行理解. Django的设置涉及多个模块,需要了解Django的一些相关 ...
- Nginx的常用配置
Nginx配置文件结构 设置worker进程的用户,指的linux中的用户,会涉及到nginx操作目录或文件的一些权限,默认为 nobodyuser root; worker进程工作数设置,一般来说C ...
- nginx.conf常用配置解析
一.全局配置 user username groupname 运行用户及用户组 worker_processes auto 启动进程,通常设置成和cpu数量相等的一个数值,默认为1.可以设置为auto ...
- ActiveMQ (二) 常用配置简介
ActiveMQ的主要配置文件 ActiveMQ的一些常用的属性很多可以在对应的配置文件中进行配置的.比如访问web console的管理端的端口,用户名密码,连接MQ时的用户名和密码,持久化设置,是 ...
- Nginx(三) 常用配置整理
#定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processes 8; #全局错误日志定义类型,[ debug | ...
- Nginx安装与配置【转】
原文:linux之nginx 作者;海燕. 一.nginx Ngix是web服务器,跟apache一样,它可以做动态请求转发.web端负载均衡.反向代理等等: tomcat是应用服务器,当然如果非用逼 ...
- 安装nginx并安全地配置和启动
一.安装nginx >>参考文章<< 安装教程,看代码&注释 # .sh # 如果centos服务器是最低安装,则先安装weget yum install -y wge ...
- Nginx之常用基本配置(二)
上一篇我们把nginx的主配置文件结构大概介绍了下,全局配置段比较常用的指令说了一下,http配置段关于http服务器配置指令介绍了下,以及有几个调优的指令,server_name的匹配机制,错误页面 ...
- Nginx学习笔记二基本配置
1.Nginx的配置文件默认在Nginx程序安装目录的conf二级目录下,主配置文件为nginx.conf.假设您的Nginx安装 在/usr/local/webserver/nginx/目录下,那么 ...
随机推荐
- 利用OGG进行数据库表的初始化
OGG初始化 1.停止目标端re1进程 2.配置ei进程(若目标端有ei进程之前投递的文件则先清空) GGSCI (localhost) 1>add extract ei1, sourceist ...
- java面试-java动态代理和cglib代理
代理模式就是为了提供额外或不同的操作,而插入的用来替代实际对象的对象,这些操作涉及到与实际对象的通信,因此代理通常充当中间人角色 一.java动态代理 java动态代理可以动态地创建代理并动态 ...
- Apache Derby-02通过IJ简单操作DERBY
上回说到了Derby的历史以及需要准备的环境,这章将为大家介绍Apache Derby的简单操作 1.配置Derby环境 1.1去官网下载Derby_BIN并解压在文件夹中 http://mirror ...
- 【题解】有标号的DAG计数2
[HZOI 2015] 有标号的DAG计数 II \(I\)中DP只有一个数组, \[ dp_i=\sum{i\choose j}2^{j(i-j)}dp_{i-j}(-1)^{j+1} \] 不会. ...
- Windows服务器管理--批量管理工具
iis7批量远程控制: 一款电脑远程监控的工具,IIS7远程桌面管理是一款专业的远程桌面连接软件,无需安装.操作简单方便.完美的界面设计.强大的监控功能.稳定的系统平台,满足了用户实现远程桌面连接的需 ...
- Theia——云端和桌面版的IDE
Theia是一个利用最新的web技术开发的支持云端和桌面运行的类似IDE的产品,它是一个可扩展的平台,并且全面支持多语言. 目标 建立一个可搭建类似IDE产品的平台 为终端用户提供完整的多语言IDE( ...
- maven中scope标签各个值的意义
在使用maven配置时,有时候会见到scope这个标签,但是总是记不住他们所对应的含义,现在整理一下,以后忘记了再来查看. 版权声明:本文为CSDN博主「MrZhangBaby」的原创文章,遵循 CC ...
- 开源项目SMSS开发指南(二)——基于libevent的线程池
libevent是一套轻量级的网络库,基于事件驱动开发.能够实现多线程的多路复用和注册事件响应.本文将介绍libevent的基本功能以及如何利用libevent开发一个线程池. 一. 使用指南 监听服 ...
- ATOM插件及快捷键
xml-formatter :https://atom.io/packages/xml-formatter xml格式化工具 SHIFT-CTRL-X:快速格式化 SHIFT-CTRL-M:移除换行符 ...
- Yolo V3整体思路流程详解!
结合开源项目tensorflow-yolov3(https://link.zhihu.com/?target=https%3A//github.com/YunYang1994/tensorflow-y ...