Google网站迁移
Google网站迁移背景
解决问题
网站域名到期以后,打算启用新的域名,同时又不希望以前的老域名收录情况影响当下的域名收录,所以考虑通过Google Search Console中提供的网站迁移的方式,将老域名转到新的域名下
使用工具
Google Search Console
准备
新域名:aaabbcc.cn
老域名:kk.cn
服务器:nginx
使用
登陆自己的网站所在服务器,添加新域名的解析,同时修改老域名的301跳转到新域名下,修改完毕后检查一下301的跳转是否正常
12345678910111213141516# 此处列出301重定向的nginx配置server { listen 443 ssl; .... server_name www.kk.xyz kk.xyz; rewrite ^(.*)$ https://aabbcc.cn$1? permanent; } server { listen 80; server_n ...
Hexo配置生成百度Sitemap
Hexo配置生成百度Sitemap背景当我们生成网站信息的时候,有时需要提交搜索引擎进行收录对应的域名地址,一般这样的xml文件我们放置在网站的根目录下,提交给搜索引擎去爬取内容,对应的也可以设置robots.txt文件用于禁止搜索引擎爬取我们的内容页。
搜索引擎爬取网站内容后带来的好处就是可以直接通过它的搜索引擎搜索到我们网站的内容,但是排名啥的可能就不尽如人意,这个就需要做SEO了。
但是网站中有些链接,我们并不希望百度对它收录,所以这个时候可以借助网站robots.txt文件禁止搜索引擎收录
搭建自动生成sitemap
安装插件
1234# 在项目的根目录下执行# hexo-generator-sitemap是生成google的,hexo-generator-baidu-sitemap是生成baidu的,根据需要安装npm install hexo-generator-sitemap --savenpm install hexo-generator-baidu-sitemap --save
修改配置文件
123456# 打开项目的根目录下的_config.yml文件进行配置# ...
FastDFS存储系统
FastDFS存储系统背景FastDFS 是一个分布式文件存储系统,利用文件服务器集群提供文件上传下载等服务。其分成两部分:Tracker Server和Storage Server
Tracker Server:负责负载和调度,文件上传/下载的时候,需要先将上传的请求发送给Tracker Server,Tracker与Storage Server联系沟通,确定好文件对应的ID(文件存储的网络地址信息),然后将该文件ID返回给客户端,该文件ID用于日后访问该文件的索引信息。当文件下载的时候,则需要由客户端(程序端)将文件的ID上传到Track Server,Track Server根据文件ID获取文件所在的Storage Server的IP和端口,然后将其返回给客户端。
Storage Server:负责文件存储,服务端上传的文件都存放在Storage Server中,它是利用操作系统的文件管理来实现
Track Server和Storage Server都可以实现集群,且在各自的集群中每个节点的地位都是相等的,类似于redis中的集群。
文件上传的时候,会返回对应的文件索引信息( ...
Hexo匹配文章加密
Hexo匹配文章加密背景Hexo的部分文章纯属个人记录,有些文章只是转载,尚未总结,而有些则是限于原因未编辑完成而不得不同步,这些不便展示于前台,因此想着先屏蔽这些文章。
利用插件:hexo-blog-encrypt
搭建
安装插件
12# 进入hexo的根目录执行脚本npm install hexo-blog-encrypt --save
在要发布的文章上添加标签
12345---title: An encrypted passagedate:2020-08-09 10:26:16password: 密码内容---
【补充】上述的方式手动添加标签不便,可以在post的模板内容中添加一个默认的【pwssword】标签,这样每次初始化一篇文章的时候就自动携带password标签了
123456789101112---title: {{ title }}date: {{ date }}tags:categories: keywords: description: top_img: comments: hid ...
Nginx取消显示nginx版本信息
Nginx取消显示nginx版本信息背景
Nginx默认会在响应头中返回Server信息,将Nginx的版本和服务器的信息展示出来,这玩意儿还是有风险的,所以希望能够修改掉这个Server的字段信息,亦或是直接不显示这个字段的信息,因此遇到了headers-more-nginx-module
提供两种修改方式:
去除响应头的Server显示
通过headers-more-nginx-module修改响应头
配置方式去除server显示打开nginx.conf配置文件,在http模块(或者对应的server模块)中添加如下内容
12# off表示关闭响应头部的server版本显示,on则相反server_tokens off;
headers-more-nginx-module修改响应头
下载headers-more-nginx-module版本的包:https://github.com/openresty/headers-more-nginx-module/releases
1234567# 根据自己的需要下载对应的版本包wget https://github.com/open ...
Nginx笔记
Nginx笔记背景
前段时间配置Nginx内容,对配置内容的了解仅限于字面上的了解,并不利于全面理解nginx内容。故找了一些教程看看,现下作一些笔记
Nginx下载来源:http://nginx.org/en/download.html
知识点基础
真实环境中nginx、数据库版本的选择
选择距离目前3~6个月的稳定版本,数据库选择距离目前6到8个月稳定版本
零碎知识
123456789101112131415161718# 查看官方库中是否有nginxapt list | grep nginx# 查看历史命令history# 查看最后执行的命令是否成功,输出为0表示没有错误# $?是ubuntu的特殊变量,表示最后命令的退出状态。echo $?# 查看端口占用lsof -i :80# 查看谁在使用某个文件lsof /path_to_the_file# 查看谁在使用网络# l:列表,n:数字,t:tcp链接,u:udp链接,p:程序,a:显示所有sudo netstat -lntup | grep nginx
nginx编译安装
123456789101112131415161 ...
CDN下配置nginx获取用户真实IP
CDN下配置nginx获取用户真实IP背景
由于网站使用了CDN,CDN的使用有助于提高网站的访问速度,其实现方式是CDN服务器根据用户的请求,自己请求Web服务器内容,然后根据返回的内容通过CDN服务器返回给用户,这样造成的结果就是会使得nginx记录的全是CDN服务器的IP,而不是真实的客户端IP,其结果并不利于访问日志的分析。
此外我想屏蔽国外IP对本网站的访问请求,将其重定向到国外的另一个网站,纯粹为了试验。
配置
在nginx配置文件/etc/nginx.conf中添加map配置,配置项位于http项中
123456789101112131415# 以下内容全部配置在http项中# 获取用户真实IP,并赋值给变量$clientRealIP。map $http_x_forwarded_for $clientRealIp { "" $remote_addr; ~^(?P<firstAddr>[0-9\.]+),?.*$ $firstAddr;}# 添加日志记录的配置格式,将其命名为:my ...
Nginx配置GeoIP2
Nginx配置GeoIP2背景
GeoIP2数据库是免费的IP地理位置数据库,可以通过GeoIP2对不同地域的访问IP自定义不同的响应。GeoIP2分为收费版、免费版,其中免费版准确性要差一些,它的数据库更新频率为每两周一次。对于我这种小网站来讲已经很够用了。
GeoIP2的前身是GeoIP,但是GeoIP已经过时了,被GeoIP2所替代。目前官网:https://www.maxmind.com/
搭建步骤简略:
安装libmaxminddb模块
编译安装ngx_http_geoip2_module模块
配置Nginx的ngx_http_geoip2_module模块
配置IP相关请求的处理方式
配置自动更新GeoIP2数据库
搭建安装libmaxminddb模块
准备编译环境
12sudo apt updatesudo apt install build-essential -y
通过apt安装libmaxminddb
12345678910# 添加更新源sudo add-apt-repository ppa:maxmind/ppa# 删除更新源# sudo add-apt- ...