Nginx教程

nginx常见问题

本文主要是介绍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(后端服务执行超时)
 

这篇关于nginx常见问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!