分类目录归档:linux

解决百度蜘蛛爬行造成服务器负载过高问题

给客户一直在运营一个网站,刚开始的时候网站访问速度还不错、接近秒开。但随着时间长了以后发现网站速度越来越来、服务器的负载也越来越高。

打开服务器发现Mysql的CPU资源占用过高,分析原因是网站的并发太多,查看网站的访问日志,发现大多数百度蜘蛛在访问。网站一天的PV在15万次,百度蜘蛛的访问在一天200万次左右。这个数字真让我害怕,相当同时一秒访问人数20多人,我单台服务器,而且运算比较复杂,Mysql压力比较大,访问高了就会负载大。

继续阅读

本文已经被查看711次

.gitignore修改不生效解决办法

如果我们新建一个git仓库,如果文件并没有被track,那么我们修改.gitnore文件一般会生效,但是如果文件已经被提交到版本库,需要我们删除掉版本库中的提交文件,如果只是修改.gitnore一般是不生效的,我们需要删除本地缓存,把所有的文件都变成未track,然后在提交即可。(PS.以下操作请先备份!)


git rm -r --cached . # 如果删除可能报错,需要使用-f命令。 git add . git commit -m 'update ignore files'
本文已经被查看619次

用vagrant搭建统一开发环境

程序员们经常遇到一个现象,程序在A电脑上可以正常使用,在B却出现问题,最后排查原因是开发环境设置不一致的问题。有的时候我们线上程序跟本地开发程序也会遇到这样的想象,要解决这个问题需要大家开发运行环境都一致。
继续阅读

本文已经被查看409次

远程访问到本地开发机

在调试一些接口的时候,你的网站应用要跟其它的一些外部服务进行交流,你发给它一点数据,它也会返回给你一点数据。

但是如果是在本地开发环境上调试,你只能发送给外部服务数据,而外部服务返回来的数据你的本地环境是收不到的。因为你的本地环境并没有一个固定的公网 IP 地址。

我不想直接在服务器上去调试,因为复杂而且不方便,忽然想到了之前用过的 BrowserSync 工具,有一个 Tunnel 选项,可以把在本地创建的服务器公布到互联网上。我又想到了 SSH 有个 Tunnel 功能,原来用它作为本地电脑的代理用,我想大概可以用它,让我的在公网上的一台服务器接待请求,再把请求转到我的本地开发环境上,然后就去搜索关键词 NGINX,SSH,Tunnel ,找到了答案。
继续阅读

本文已经被查看539次