nginx常见问题

nginx常见问题
1.相同server_name多个虚拟主机优先级访问

 优先访问最先读取的server_name
 server {
     listen       80; #监听的端口
     server_name  testserver3 jeson.t.imoocc.io; #域名


     #charset koi8-r; #字符集
     #access_log  /var/log/nginx/log/host.access.log  main; #访问日志
 
     location / {
         root   /opt/app/code3;#项目文件路径
         index  index.html index.htm; #默认定位
     }
     #error_page  404              /404.html;
     # redirect server error pages to the static page /50x.html
     #
     error_page   500 502 503 504 404  /50x.html; #异常处理
     location = /50x.html {
         root   /usr/share/nginx/html; //异常处理页面
     }
 }


2.location匹配优先级

 以下是按优先级排列说明:
 1.等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他匹配项。
 2.^~类型表达式。一旦匹配成功,则不再查找其他匹配项。
 3.正则表达式类型(~ ~*)的优先级次之。
 4.常规字符串匹配类型。按前缀匹配。
 实例:
 location / {
     # 匹配所有以 / 开头的请求。
     # 但是如果有更长的同类型的表达式,则选择更长的表达式。
     # 如果有正则表达式可以匹配,则优先匹配正则表达式。
     [ configuration B ]
 }
 location /documents/ {
     # 匹配所有以 /documents/ 开头的请求。
     # 但是如果有更长的同类型的表达式,则选择更长的表达式。
     # 如果有正则表达式可以匹配,则优先匹配正则表达式。
     [ configuration C ]
 }
 location ^~ /images/ {
     # 匹配所有以 /images/ 开头的表达式,如果匹配成功,则停止匹配查找。
     # 所以,即便有符合的正则表达式location,也不会被使用
     [ configuration D ]
 }
 location ~* \.(gif|jpg|jpeg)$ {
     # 匹配所有以 gif jpg jpeg结尾的请求。
     # 但是 以 /images/开头的请求,将使用 Configuration D
     [ configuration E ]
 }


3.try_files使用

 找指定路径下文件,如果不存在,则转给哪个文件执行。(缓存,动静分离)
 实例: 
     location / {
         root /opt/app/code;
         try_files /cache $uri @java_page;
     }


     location @java_page{
         proxy_pass http://127.0.0.1:9090;
     } 


4.nginx的alias和root的区别


 location /img/ { #匹配url的路径 http://www.yuyu.com/img/request_path/1.png
     root /var/www/image; #定位访问路径
 }
 #若按照这种配置的话,nginx会去/var/www/image/img/request_path/1.png

 location /img/ { #匹配url的路径 http://www.yuyu.com/img/request_path/1.png
     alias /var/www/image; #定位访问路径
 }
 #若按照这种配置的话,nginx会去/var/www/image/1.png


5.用什么方法传递用户的真实ip
 代理:set x_real_ip=$remote_addr
 后端服务:$x_real_ip=IP1


6.其他错误处理
 问题:nginx:413 Request Entity Too Large
 解决
 1.用户上传文件限制 client_max_body_size


 问题:nginx:502 bad gateway (后端服务无响应)
 问题:504 gateway time-out(后端服务执行超时)
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值