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.0.0:* LISTEN /nginx: master
tcp 0.0.0.0: 0.0.0.0:* LISTEN /nginx: master
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ps -ef | grep nginx | grep -v grep
root : ? :: nginx: master process nginx
nginx : ? :: nginx: worker process
nginx : ? :: nginx: worker process
nginx : ? :: nginx: worker process
nginx : ? :: 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 : ? :: nginx: master process nginx
nginx : ? :: nginx: worker process
nginx : ? :: nginx: worker process
nginx : ? :: nginx: worker process
nginx : ? :: nginx: worker process
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# netstat -untalp | grep nginx
tcp 0.0.0.0: 0.0.0.0:* LISTEN /nginx: master
tcp 0.0.0.0: 0.0.0.0:* LISTEN /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是可以正常显示啦