Nginx高级配置-官网logo之favicon.ico

           Nginx高级配置-官网logo之favicon.ico

                                          作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.浏览器会默认帮咱们访问官网的图标

1>.浏览器访问网站"http://node101.yinzhengjie.org.cn/"

2>.使用curl命令访问

[root@node108.yinzhengjie.org.cn ~]# curl http://node101.yinzhengjie.org.cn/
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>字体的样式</title>
        <style>
            .hello{
                color: red;
                font-size: 30px;
                font-family: "curlz mt","华文彩云","arial", "微软雅黑";
            }
        </style>
    </head>
    <body>
        <p class="hello">2019尹正杰到此一游,在这里提前祝大家2020年新年快乐~</p>
    </body>
</html>

[root@node108.yinzhengjie.org.cn ~]# 

3>.可以看到后台是有日志输出的

[root@node101.yinzhengjie.org.cn ~]# > /yinzhengjie/softwares/nginx/logs/access_json.log             #在访问之前,建议大家把日志清空,看的比较明显哈~当然,我说的是测试环境。
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# tail  -10f /yinzhengjie/softwares/nginx/logs/access_json.log        #可以看到浏览器的访问记录被记录了404错误信息,而使用命令行curl访问的确是200正常访问。
{"@timestamp":"2019-12-22T11:10:40+08:00","host":"172.30.1.101","clientip":"172.30.1.254","size":571,"responsetime":0.000,"upstreamtime":"-","upstreamhost":"-","http_host":
"node101.yinzhengjie.org.cn","uri":"/favicon.ico","domain":"node101.yinzhengjie.org.cn","xff":"-","referer":"http://node101.yinzhengjie.org.cn/","tcp_xff":"",
"http_user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","status":"404"}
{"@timestamp":"2019-12-22T11:47:35+08:00","host":"172.30.1.101","clientip":"172.30.1.101","size":362,"responsetime":0.000,"upstreamtime":"-","upstreamhost":"-","http_host": "node101.yinzhengjie.org.cn","uri":"/index.html","domain":"node101.yinzhengjie.org.cn","xff":"-","referer":"-","tcp_xff":"","http_user_agent":"curl/7.29.0","status":"200"}

3>.访问虚拟主机"http://www.yinzhengjie.org.cn/",发现也出现类似的问题

4>.访问虚拟主机"http://mobile.yinzhengjie.org.cn/",发现也出现类似的问题

5>.访问"favicon.ico"依旧会出现问题

  favicon.ico文件是浏览器收藏网址时显示的图标,当客户端使用浏览器问页面时,浏览器会自己主动发起请求获取页面的favicon.ico文件,但是当浏览器请求的favicon.ico文件不存在时,服务器会记录404日志,而且浏览器也会显示404报错。

二.关于favicon.ico的解决办法

  既然知道favicon.ico是啥了,那就好办了,找一个公司logo放上去就ok啦。

1>.从互联网上下载一个logo咱们自己来用于模拟试验

[root@node101.yinzhengjie.org.cn ~]# ll
total 0
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# wget https://www.jd.com/favicon.ico
--2019-12-22 12:05:35--  https://www.jd.com/favicon.ico
Resolving www.jd.com (www.jd.com)... 220.194.105.131, 2408:8710:20:1140:8000::3
Connecting to www.jd.com (www.jd.com)|220.194.105.131|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 25214 (25K) [image/x-icon]
Saving to: ‘favicon.ico’

100%[==================================================================================================================================>] 25,214      --.-K/s   in 0.002s  

2019-12-22 12:05:35 (10.0 MB/s) - ‘favicon.ico’ saved [25214/25214]

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ll
total 28
-rw-r--r-- 1 root root 25214 Mar 25  2016 favicon.ico
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# wget https://www.jd.com/favicon.ico                          #下载京东的logo
[root@node101.yinzhengjie.org.cn ~]# ll
total 28
-rw-r--r-- 1 root root 25214 Mar 25  2016 favicon.ico
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# wget https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa.JOZB-114-114.png
--2019-12-22 12:07:01--  https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa.JOZB-114-114.png
Resolving img.alicdn.com (img.alicdn.com)... 111.206.4.120, 111.206.4.115
Connecting to img.alicdn.com (img.alicdn.com)|111.206.4.120|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4540 (4.4K) [image/png]
Saving to: ‘T1OjaVFl4dXXa.JOZB-114-114.png’

100%[==================================================================================================================================>] 4,540       --.-K/s   in 0s      

2019-12-22 12:07:01 (1.07 GB/s) - ‘T1OjaVFl4dXXa.JOZB-114-114.png’ saved [4540/4540]

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ll
total 36
-rw-r--r-- 1 root root 25214 Mar 25  2016 favicon.ico
-rw-r--r-- 1 root root  4540 May 29  2017 T1OjaVFl4dXXa.JOZB-114-114.png
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# wget https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa.JOZB-114-114.png        #下载淘宝的logo

2>.编辑子配置文件

[root@node101.yinzhengjie.org.cn ~]# cat /yinzhengjie/softwares/nginx/conf.d/https.conf               #我们把京东的logo放在虚拟主机为"www.yinzhengjie.org.cn"中
server {
    listen 80;
    listen 443 ssl;
    server_name www.yinzhengjie.org.cn;
   
    location / {
       root /yinzhengjie/data/web/nginx/static;
       index index.html;
    }

    location = /favicon.ico {
       root /yinzhengjie/data/web/nginx/images/jd;
    }
}
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# nginx -t
nginx: the configuration file /yinzhengjie/softwares/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /yinzhengjie/softwares/nginx/conf/nginx.conf test is successful
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# cat /yinzhengjie/softwares/nginx/conf.d/mobile.conf               #我们将淘宝下载的logo放在虚拟主机为"mobile.yinzhengjie.org.cn"中
server {
    listen 80;
    listen 443 ssl;
    server_name mobile.yinzhengjie.org.cn;

    ssl_certificate /yinzhengjie/softwares/nginx/certs/mobile.yinzhengjie.org.cn.crt;
    ssl_certificate_key /yinzhengjie/softwares/nginx/certs/mobile.yinzhengjie.org.cn.key;
    ssl_session_cache shared:sslcache:20m;
    ssl_session_timeout 10m;   

    location / {
       root /yinzhengjie/data/web/nginx/mobile;
       index index.html;
    }

    location /favicon.ico {
       root /yinzhengjie/data/web/nginx/images/taobao;
    }
}
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# nginx -t
nginx: the configuration file /yinzhengjie/softwares/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /yinzhengjie/softwares/nginx/conf/nginx.conf test is successful
[root@node101.yinzhengjie.org.cn ~]#

3>.将下载的图片放在指定路径中

[root@node101.yinzhengjie.org.cn ~]# mkdir -pv /yinzhengjie/data/web/nginx/images/{jd,taobao{
mkdir: created directory ‘/yinzhengjie/data/web/nginx/images’
mkdir: created directory ‘/yinzhengjie/data/web/nginx/images/jd’
mkdir: created directory ‘/yinzhengjie/data/web/nginx/images/taobao’
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ll
total 36
-rw-r--r-- 1 root root 25214 Mar 25  2016 favicon.ico
-rw-r--r-- 1 root root  4540 May 29  2017 T1OjaVFl4dXXa.JOZB-114-114.png
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# mv favicon.ico /yinzhengjie/data/web/nginx/images/jd/
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# mv T1OjaVFl4dXXa.JOZB-114-114.png /yinzhengjie/data/web/nginx/images/taobao/favicon.ico
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ll
total 0
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll /yinzhengjie/data/web/nginx/images/ -R
/yinzhengjie/data/web/nginx/images/:
total 0
drwxr-xr-x 2 root root 25 Dec 22 12:46 jd
drwxr-xr-x 2 root root 25 Dec 22 12:47 taobao

/yinzhengjie/data/web/nginx/images/jd:
total 28
-rw-r--r-- 1 root root 25214 Mar 25  2016 favicon.ico

/yinzhengjie/data/web/nginx/images/taobao:
total 8
-rw-r--r-- 1 root root 4540 May 29  2017 favicon.ico
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 

4>.重新加载nginx的配置文件

[root@node101.yinzhengjie.org.cn ~]# netstat -untalp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      12283/nginx: master 
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      12283/nginx: master 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ps -ef | grep nginx | grep -v grep
root     12283     1  0 12:30 ?        00:00:00 nginx: master process nginx
nginx    12284 12283  0 12:30 ?        00:00:00 nginx: worker process
nginx    12285 12283  0 12:30 ?        00:00:00 nginx: worker process
nginx    12286 12283  0 12:30 ?        00:00:00 nginx: worker process
nginx    12287 12283  0 12:30 ?        00:00:00 nginx: worker process
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# nginx -s reload
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# ps -ef | grep nginx | grep -v grep
root     12283     1  0 12:30 ?        00:00:00 nginx: master process nginx
nginx    12406 12283  6 12:52 ?        00:00:00 nginx: worker process
nginx    12407 12283  5 12:52 ?        00:00:00 nginx: worker process
nginx    12408 12283  5 12:52 ?        00:00:00 nginx: worker process
nginx    12409 12283  5 12:52 ?        00:00:00 nginx: worker process
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# netstat -untalp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      12283/nginx: master 
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      12283/nginx: master 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 

5>.访问虚拟主机"http://www.yinzhengjie.org.cn/",发现logo可以正常显示啦

6>.访问虚拟主机"http://mobile.yinzhengjie.org.cn/",发现logo是可以正常显示啦

原文地址:https://www.cnblogs.com/yinzhengjie/p/12057298.html