WEB服务与NGINX(16)-网站logo之favicon.ico文件
1. 网站logo之favicon.ico文件
1.1 favicon.ico文件的作用
favicon.ico文件是浏览器记录的网站的图标,当客户端使用浏览器访问页面时,浏览器会自己主动发起请求获取页面的favicon.ico文件(浏览器缓存过此页面的不会再次请求),例如百度的favicon.ico文件图标如下:

下面我们来制作一个自己的网站图标,借用一下百度的图标。
#1.下载baidu的网站图标
[root@nginx01 ~]# wget https://www.baidu.com/favicon.ico
#2.修改nginx的配置文件
[root@nginx01 ~]# vim /etc/nginx/conf.d/virtualhost.conf
server {
listen 80;
server_name www.nginx01.com;
charset utf-8,gbk;
access_log /var/log/nginx/access_nginx01.log access_json;
location / {
root /data/nginx/html/web1;
index index.html;
}
location = /favicon.ico {
root /data/nginx/html/web1/image;
}
}
#3.将favicon.ico文件
[root@nginx01 ~]# ll /data/nginx/html/web1/image/favicon.ico
-rw-r--r-- 1 root root 16958 Mar 10 10:33 /data/nginx/html/web1/image/favicon.ico
浏览器测试访问,发现已经存在图标了。

1.2 favicon.ico文件带来的问题
当服务器上对用的站点不存在favicon.ico文件时,当客户端进行访问时会在服务器上生成一条favicon.ico 404的报错日志,而且在浏览器上也会有响应的报错。
客户端的报错如下:

服务器上产生的错误日志如下:
[root@nginx01 ~]# tail /var/log/nginx/access_nginx02.log
{ "@timestamp": "2021-06-19T23:00:23+08:00", "remote_addr": "192.168.20.1", "referer": "-", "request": "GET / HTTP/1.1", "status": 200, "bytes":16, "agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0", "x_forwarded": "-", "upstr_addr": "-","upstr_host": "-","upstreamtime": "-" }
{ "@timestamp": "2021-06-19T23:00:24+08:00", "remote_addr": "192.168.20.1", "referer": "http://www.nginx02.com/", "request": "GET /favicon.ico HTTP/1.1", "status": 404, "bytes":146, "agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0", "x_forwarded": "-", "upstr_addr": "-","upstr_host": "-","upstreamtime": "-" }
为了避免上述404报错的产生,解决方法有两种:
#方法一:服务器不记录相关的访问日志
location = /favicon.ico {
access_log off;
}
#方法二:制作图标,并将图标放置在响应的位置,如上例。
location = /favicon.ico {
root /data/nginx/html/web1/image;
}
WEB服务与NGINX(16)-网站logo之favicon.ico文件的更多相关文章
- PHP获取网站图标(favicon.ico)文件
有的网站源码中加入了这几行代码: <link rel="shortcut icon" href="/favicon.ico" type="ima ...
- nginx作为web服务以及nginx.conf详解
Nginx系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.nginx简介 nginx是一个优秀的web服务程序.反向代理程序.它采用非 ...
- Web服务器之Nginx详解(操作部分)
大纲 一.前言 二.Nginx 安装与配置 三.Nginx 配置文件详解 四.Nginx 命令参数 五.配置Nginx提供Web服务 六.配置Nginx的虚拟主机 七.配置Nginx的用户认证 八.配 ...
- Web服务器之Nginx详解(理论部分)
大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...
- 【转】Web服务器之Nginx详解(理论部分)
大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...
- Linux系统WEB服务之Nginx基础入门
一.Nginxi简介 Nginx是什么?它是一个开源.高性能的WEB服务器软件和代理服务器软件,由俄罗斯人Igor Sysoev 开发实现.它的功能主要分三类,第一是它作为一个WEB服务软件使用:第二 ...
- web服务器之nginx与apache
最近准备架设php的web服务器,以下内容可供参考. 1.nginx相对于apache的优点: 轻量级,同样起web 服务,比apache占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞 ...
- web服务器之nginx和apache的区别
① apache属于重量级的服务器,nginx属于轻量级的服务器; 区别在于对一些功能的支持,比如: pathinfo,php模块方面 ② nginx抗高并发能力强. 由于nginx采用的是异步非阻 ...
- web服务之nginx部署
本期内容概要 了解web服务 Nginx和Apache的对比 部署Nginx 内容详细 1.什么是web服务 Web服务是一种服务导向架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用 ...
- WEB 服务应用 Nginx之安装篇
一.Nginx 源码包安装与配置 1.环境准备 操作系统.内核版本: CentOS 6.8 2.6.32-642.el6.x86_64 Nginx 软件版本: nginx-1.10.2 2.创建Ng ...
随机推荐
- 北京思特奇2023年校招笔试(Java)
北京思特奇2023年校招笔试(Java) 1.表达式 (short)10/10.2*2 运算后结果是什么类型? 答案:double,浮点数默认是double,自动类型向上转换为浮点数类型 2. ser ...
- 【已解决】git reset命令误删本地文件怎么恢复
执行 git reflog 命令可以看到曾经执行过的操作,还有版本序号. 执行 git reset --hard HEAD@{[填那个序号]} 就可以恢复本地删除的文件了!
- Android开发 活动activity
一.关于Activity 关于Activity必须要了解的内容有:Activity的生命周期.android任务栈.Activity启动模式.scheme跳转协议. 1.1 什么是Activity ...
- Bochs调试指令
Bochs Bochs就像一台真机一样,处理器在加电之后,要开始取指令并执行指令. jmpf f000:e05b ;转移目标位置ROM-BIOS 如图在左侧显示了该指令所在的物理内存地址 0x ...
- OpenHarmony社区运营报告(2023年3月)
本月快讯 • <OpenHarmony 2022年度运营报告>于3月正式发布,2022年OpenAtom OpenHarmony(以下简称"OpenHarmony" ...
- 算法小白刷了一周 LeetCode 后的思考
Hi,我是 itchao 我自己工作有 2 两年多的前端开发经验,但是数据结构与算法一直不好,基本就是一个算法小白的水平. 听说大公司面试都要手写算法题,最近为了以后能去更好的公司,然后其实心里比较着 ...
- sql 语句系列(更新系列)[八百章之第六章]
使用另一个表更新记录 有时候我们的数据不会立即去更新,而是存在另外一张表中等待更新,这是在日常开发中常见的操作. update e set e.SAL=ns.SAL+e.SAL, e.COMM=ns. ...
- singalr 可以连接但是无法发送消息
前言 在一次测试singalr的过程中,发现一个问题,那就是连接成功了,但是发送消息没有响应. 原因及解决 如何可以连接但是发不了消息,net的锅,需要4.0以上,所以我们发布iis的时候也应该选择4 ...
- c# 前台和后台线程
前台和后台线程 Net的公用语言运行时(Common Language Runtime,CLR)能区分两种不同类型的线程:前台线程和后台线程.这两者的区别就是:应用程序必须运行完所有的前台线程才可以退 ...
- Effective Python:第2条 遵循PEP 8风格指南
PEP8文档:https://peps.python.org/pep-0008/ 与空白有关的建议: 用空格(space)表示缩进,而不要用制表符(tab). 和语法相关的每一层缩进都用4个空格表示. ...