Nginx使用及配置整理

nginx操作命令

  • 进入到Nginx的安装目录: cd /xx/nginx/sbin/
./nginx
  • 停止命令:
./nginx -s stop
./nginx -s quit
  • 重新加载配置信息
./nginx -s reload
  • 查看nginx版本
./nginx -version
  • 测试nginx状态
./nginx -t

Nginx语法详解

语法规则: location [=|~|~*|^~|!~|!~*] /uri/ { … }

= 开头表示精确匹配

^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。以xx开头

~ 开头表示区分大小写的正则匹配 以xx结尾

~* 开头表示不区分大小写的正则匹配 以xx结尾

!~!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则

/ 通用匹配,任何请求都会匹配到。

Nginx命令介绍

  • root命令
    • 指定静态资源目录位置,它可以写在 httpserverlocation 等配置中。
root path

例如:

location /image {
 root /opt/nginx/static;
}

当用户访问 www.test.com/image/1.png 时,实际在服务器找的路径是 /opt/nginx/static/image/1.png
[注意] root 会将定义路径与 URI 叠加, alias 则只取定义路径。

  • alias命令
    • 它也是指定静态资源目录位置,它只能写在 location 中。
location /image {
 alias /opt/nginx/static/image/;
}

当用户访问 www.test.com/image/1.png 时,实际在服务器找的路径是 /opt/nginx/static/image/1.png
[注意] 使用 alias 末尾一定要添加 / ,并且它只能位于 location 中。

Nginx配置动静分离

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

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

  • 分两类:

    • 1)只包含IP和端口号,端口号之后无/,成为不带URI的方式;
    • 2)端口号之后有其它路径,分两类:只有单个/,其他路径;
  • Nginx反向代理

    • 反向代理就是后端服务不直接对外暴露,请求首先发送到nginx,然后nginx将请求转发到后端服务器,比如tomcat php等.如果后端服务只有一台服务器,nginx在这里只有一个作用就是起到了代理后端服务接收请求的作用.称之为反向代理.

Nginx中映射前端访问URL的规则

1)例如:/export/test/platform/目录下存在abc文件夹,Nginx中的配置信息为:

location ^~/ {
            root /export/test/platform/;
            index  index.html index.htm;
}

前端访问路径为:http://<服务器IP地址或域名>/abc时,会访问/export/test/platform/目录下的abc

Nginx配置示例

server {
  listen 80;
  server_name www.test.com;
  
  # 只有当访问 www.test.com/match_all/ 时才会匹配到/usr/share/nginx/html/match_all/index.html
  location = /match_all/ {
      root /usr/share/nginx/html
      index index.html
  }
  
  # 当访问 www.test.com/1.jpg 等路径时会去 /usr/share/nginx/images/1.jpg 找对应的资源
  location ~ \.(jpeg|jpg|png|svg)$ {
   root /usr/share/nginx/images;
  }
  
  # 当访问 www.test.com/bbs/ 时会匹配上 /usr/share/nginx/html/bbs/index.html
  location ^~ /bbs/ {
   root /usr/share/nginx/html;
    index index.html index.htm;
  }
}

欢迎关注我的微信公众号ItBeeCoder

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值