我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Nginx速查手册及常见问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Nginx速查手册及常见问题

Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡。

常用命令

使用自定义配置文件启动

nginx -c /opt/nginx/config/nginx.conf 

柔和重启

nginx -s reload

优雅停止服务

nginx -s quit

强制停止服务

nginx -s stop

配置文件检查

nginx -t

常用配置

反向代理

server {  
  listen 80;                                                         
  server_name localhost;                                               
  client_max_body_size 1024M;

  location / {
    proxy_pass http://localhost:8080;
    proxy_set_header Host $host:$server_port;
  }
}

负载均衡

upstream test {
  server localhost:8080;
  server localhost:8081;
}
server {
  listen 81;                                                         
  server_name localhost;                                               
  client_max_body_size 1024M;

  location / {
    proxy_pass http://test;
    proxy_set_header Host $host:$server_port;
  }
}

http服务器

server {
  listen 80;                                                         
  server_name localhost;                                               
  client_max_body_size 1024M;

  location / {
    root e:\wwwroot;
    index index.html;
  }
}

动静分离

upstream test{  
  server localhost:8080;  
  server localhost:8081;  
}   

server {  
  listen 80;  
  server_name localhost;  

  location / {  
    root d:\wwwroot;  
    index index.html;  
  }  

  --所有静态请求都由nginx处理,存放目录为html  
  location ~ \.(gif|jpg|jpeg|png|bmp|swf|css|js)$ {  
    root d:\wwwroot;  
  }  

  --所有动态请求都转发给tomcat处理  
  location ~ \.(jsp|do)$ {  
    proxy_pass http://test;  
  }  

  error_page 500 502 503 504 /50x.html;  
  location = /50x.html {  
    root d:\wwwroot;  
  }  
}

正向代理

resolver 114.114.114.114 8.8.8.8;
  server {
    resolver_timeout 5s;
    listen 81;
    access_log d:\wwwroot\proxy.access.log;
    error_log d:\wwwroot\proxy.error.log;
    location / {
      proxy_pass http://$host$request_uri;
    }
  }
#防盗链
location ~* \.(gif|jpg|png)$ {
    # 只允许 192.168.0.1 请求资源
    valid_referers none blocked 192.168.0.1;
    if ($invalid_referer) {
       rewrite ^/ http://$host/logo.png;
}

根据文件类型设置过期时间

location ~.*\.css$ {
    expires 1d;
    break;
}
location ~.*\.js$ {
    expires 1d;
    break;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
    access_log off;
    expires 15d; #保存15天
    break;
}

匹配规则

location = / {
  # 精确匹配 / ,主机名后面不能带任何字符串
  [ configuration A ]
}
location / {
  # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求
  # 但是正则和最长字符串会优先匹配
  [ configuration B ]
location /documents/ {
  # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索
  # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条
  [ configuration C ]
location ~ /documents/Abc {
  # 匹配任何以 /documents/Abc 开头的地址,匹配符合以后,还要继续往下搜索
  [ configuration CC ]
location ^~ /images/ {
  # 匹配任何以 /images/ 开头的地址,匹配符合以后,停止往下搜索正则,采用这一条。
  [ configuration D ]
location ~* \.(gif|jpg|jpeg)$ {
  # 匹配所有以 gif,jpg或jpeg 结尾的请求
  # 然而,所有请求 /images/ 下的图片会被 config D 处理,因为 ^~ 到达不了这一条正则
  [ configuration E ]
location /images/ {
  # 字符匹配到 /images/,继续往下,会发现 ^~ 存在
  [ configuration F ]
location /images/abc {
  # 最长字符匹配到 /images/abc,继续往下,会发现 ^~ 存在
  # F与G的放置顺序是没有关系的
  [ configuration G ]
location ~ /images/abc/ {
  # 只有去掉 config D 才有效:先最长匹配 config G 开头的地址,继续往下搜索,匹配到这一条正则,采用
    [ configuration H ]

常见问题

# root 和 alias的区别?
**root**
location /i/ {
  root /data/wwwroot;
}
真实的路径是root指定的值加上location指定的值,即/data/wwwroot/i/...

**alias**
location /i/ {
  alias /data/wwwroot/;
}
在服务器查找的资源路径是: /data/wwwroot/...

到此这篇关于Nginx速查手册的文章就介绍到这了,更多相关Nginx速查手册内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Nginx速查手册及常见问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

ECShop入门指南:快速上手操作及常见问题解答

ECShop是一款基于PHP+MySQL开发的开源电商系统,在搭建电子商务网站时备受推崇。许多新手用户可能在使用ECShop时感到困惑,本篇将为大家提供ECShop入门指南,帮助快速上手操作及解答常见问题。本文将以具体的代码示例为大家讲解,
ECShop入门指南:快速上手操作及常见问题解答
2024-03-14

PyQt5安装步骤及常见问题解答,让你快速上手!

PyQt5是一款用于在Python中开发图形用户界面的工具包。它提供了丰富的GUI组件和功能,可以帮助开发人员快速、轻松地创建交互式和可视化的应用程序。本文将介绍PyQt5的安装步骤,并解答一些常见问题,帮助读者快速上手。一、安装PyQt
PyQt5安装步骤及常见问题解答,让你快速上手!
2024-02-22

ECShop入门指南:快速上手操作及常见问题解答

ECShop是一款基于PHP+MySQL开发的开源电商系统,在搭建电子商务网站时备受推崇。许多新手用户可能在使用ECShop时感到困惑,本篇将为大家提供ECShop入门指南,帮助快速上手操作及解答常见问题。本文将以具体的代码示例为大家讲解,
ECShop入门指南:快速上手操作及常见问题解答
2024-03-14

PHP gPRC 常见问题解答:解决新手入门及进阶使用中的疑惑

PHP gRPC 常见问题解答,为你解决新手入门和进阶使用中的疑问。
PHP gPRC 常见问题解答:解决新手入门及进阶使用中的疑惑
2024-02-19

编程热搜

目录