资讯专栏INFORMATION COLUMN

Nginx入门到实战(4)常见问题

Rocture / 2964人阅读

摘要:一相同多个虚拟主机优先级当出现虚拟主机域名相同的情况,重启时,会出现警告处理,但是并不不会阻止继续使用优先选择最新读取到的配置文件,当多个文件是通过时,文件排序越靠前,越早被读取二匹配优先级进行普通字符精确匹配,完全匹配进行普通字符匹配,当

一、相同 server_name 多个虚拟主机优先级

</>复制代码

  1. #当出现虚拟主机域名相同的情况,重启nginx时,会出现警告⚠️处理,但是并不不会阻止nginx继续使用
  2. server {
  3. listen 80;
  4. server_name www.baidu.com
  5. ...
  6. }
  7. server {
  8. listen 80;
  9. server_name www.baidu.com
  10. ...
  11. }
  12. ...
  13. 优先选择最新读取到的配置文件,当多个文件是通过include时,文件排序越靠前,越早被读取
二、location 匹配优先级

</>复制代码

  1. = #进行普通字符精确匹配,完全匹配
  2. ^~ #进行普通字符匹配,当前表示前缀匹配
  3. ~~* #表示执行一个正则匹配()
  4. #当程序使用精确匹配时,一但匹配成功,将停止其他匹配
  5. #当正则匹配成功时,会继续接下来的匹配,寻找是否还有更精准的匹配
三、try_files的使用

按顺序检查文件是否存在

</>复制代码

  1. location / {
  2. try_files $uri $uri/ /index.php;
  3. }
  4. #先查找$uri下是否有文件存在,若存在直接返回给用户
  5. #$url下没有文件存在,再次访问$uri/的路径是否有文件存在
  6. #还是没有文件存在,交给index.php处理
  7. 例:
  8. location / {
  9. root /test/index.html
  10. try_files $uri @test
  11. }
  12. location @test {
  13. proxy_pass http://127.0.0.1:9090;
  14. }
  15. #访问 / 时,查看 /test/index.html 文件是否存在
  16. #若不存在,让9090端口的程序去处理这个请求
四、alias和root的区别

</>复制代码

  1. location /request_path/image/ {
  2. root /local_path/image/;
  3. }
  4. #当我们访问 http://xxx.com/request_path/image/cat.png时
  5. #将访问 http://xxx.com/request_path/image/local_path/image/cat.png 下的文件
  6. location /request_path/image/ {
  7. alias /local_path/image/;
  8. }
  9. #当我们访问 http://xxx.com/request_path/image/cat.png时
  10. #将访问 http://xxx.com/local_path/image/cat.png 下的文件
四、如果用户真实IP

当一个请求通过多个代理服务器时,用户的IP将会被代理服务器IP覆盖

</>复制代码

  1. #在第一个代理服务器中设置
  2. set x_real_ip=$remote_addr
  3. #最后一个代理服务器中获取
  4. $x_real_ip=IP1
五、Nginx 常见错误码

</>复制代码

  1. 413 Request Entity Too Large #上传文件过大,设置 client_max_body_size
  2. 503 bad gateway #后端服务无响应
  3. 504 Gateway Time-out #后端服务执行超时

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28697.html

相关文章

  • Nginx入门实战4常见问题

    摘要:一相同多个虚拟主机优先级当出现虚拟主机域名相同的情况,重启时,会出现警告处理,但是并不不会阻止继续使用优先选择最新读取到的配置文件,当多个文件是通过时,文件排序越靠前,越早被读取二匹配优先级进行普通字符精确匹配,完全匹配进行普通字符匹配,当 一、相同 server_name 多个虚拟主机优先级 #当出现虚拟主机域名相同的情况,重启nginx时,会出现警告⚠️处理,但是并不不会阻止ngi...

    genefy 评论0 收藏0
  • Nginx入门实战(1)基础篇

    摘要:老师比较精明,他告诉学生,谁完成了作业举手,有举手的同学他才去指导问题,他让学生主动发声,分开了并发。 一、环境 服务器版本:CentOS 7.2 为了保证学习阶段不遇到奇怪的事情,请保证以下四点(大神选择性无视) 确认系统网络 确认yum可用 确认关闭iptables 确认停用selinux #查看iptables状态 systemctl status firewalld.ser...

    DevTTL 评论0 收藏0
  • Nginx入门实战(1)基础篇

    摘要:老师比较精明,他告诉学生,谁完成了作业举手,有举手的同学他才去指导问题,他让学生主动发声,分开了并发。 一、环境 服务器版本:CentOS 7.2 为了保证学习阶段不遇到奇怪的事情,请保证以下四点(大神选择性无视) 确认系统网络 确认yum可用 确认关闭iptables 确认停用selinux #查看iptables状态 systemctl status firewalld.ser...

    focusj 评论0 收藏0

发表评论

0条评论

Rocture

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<