服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - Nginx速查手册及常见问题

Nginx速查手册及常见问题

2022-08-04 09:20Roc-xb Nginx

Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡,这篇文章主要介绍了Nginx速查手册及常见问题,,需要的朋友可以参考下

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

Nginx速查手册及常见问题

常用命令

使用自定义配置文件启动

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

柔和重启

?
1
nginx -s reload

优雅停止服务

?
1
nginx -s quit

强制停止服务

?
1
nginx -s stop

配置文件检查

?
1
nginx -t

常用配置

反向代理

?
1
2
3
4
5
6
7
8
9
10
server { 
  listen 80;                                                        
  server_name localhost;                                              
  client_max_body_size 1024M;
 
  location / {
    proxy_pass http://localhost:8080;
    proxy_set_header Host $host:$server_port;
  }
}

负载均衡

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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服务器

?
1
2
3
4
5
6
7
8
9
10
server {
  listen 80;                                                        
  server_name localhost;                                              
  client_max_body_size 1024M;
 
  location / {
    root e:\wwwroot;
    index index.html;
  }
}

动静分离

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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; 
  
}

正向代理

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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;
}

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
location ~.*\.css$ {
    expires 1d;
    break;
}
location ~.*\.js$ {
    expires 1d;
    break;
}
 
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
    access_log off;
    expires 15d; #保存15天
    break;
}

匹配规则

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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 ]

常见问题

?
1
2
3
4
5
6
7
8
9
10
11
12
# root 和 alias的区别?
**root**
location /i/ {
  root /data/wwwroot;
}
真实的路径是root指定的值加上location指定的值,即/data/wwwroot/i/...
 
**alias**
location /i/ {
  alias /data/wwwroot/;
}
在服务器查找的资源路径是: /data/wwwroot/...

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

原文链接:https://blog.csdn.net/qq_19309473/article/details/123931929

延伸 · 阅读

精彩推荐
  • Nginx如何利用nginx做代理缓存浅析

    如何利用nginx做代理缓存浅析

    Nginx缓存主要是用于减轻后端服务器的负载,提高网站并发量,提升用户体验度,下面这篇文章主要给大家介绍了关于如何利用nginx做代理缓存的相关资料,需要...

    不如喫茶去5892022-01-12
  • Nginx如何在centos7中安装nginx

    如何在centos7中安装nginx

    近期做项目用到了nginx,所以自己动手来在Centos7上安装nginx,以下是安装步骤。 ...

    Discoboy2482019-12-27
  • NginxNginx+SSL实现双向认证的示例代码

    Nginx+SSL实现双向认证的示例代码

    这篇文章主要介绍了Nginx+SSL实现双向认证的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    别玩游戏知道吗3652020-01-03
  • Nginxwelcome to nginx是什么意思

    welcome to nginx是什么意思

    welcome to nginx ,欢迎来到 nginx 的世界,如果你是一个专业网站建设人员你可能接触最多的就是阿帕奇apache,现在更多的网站建设人员都开始使用 LINUX 服务器...

    php中文网10012019-09-20
  • Nginx详解Linux环境下使Nginx服务器支持中文url的配置流程

    详解Linux环境下使Nginx服务器支持中文url的配置流程

    这篇文章主要介绍了Linux环境下使Nginx服务器支持中文url的配置流程,文中还介绍了一个在Linux下将非UTF-8的文件名转换为UTF-8编码,的方法,需要的朋友可以参考...

    goldensun6042019-11-11
  • Nginxnginx日志分割 for linux

    nginx日志分割 for linux

    默认情况下,nginx是不分割访问日志的,久而久之,网站的日志文件将会越来越大,占用空间不说,如果有问题要查看网站的日志的话,庞大的文件也将很...

    nginx教程网2562019-10-15
  • Nginxnginx负载均衡配置,宕机自动切换方式

    nginx负载均衡配置,宕机自动切换方式

    这篇文章主要介绍了nginx负载均衡配置,宕机自动切换方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    阿肯那顿14402020-06-30
  • Nginxnginx提示502 页面的解决方法

    nginx提示502 页面的解决方法

    如果部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间 ...

    nginx教程网5292019-10-13