服务器技术 Linux/CentOS7 Swap扩容的方法

最近上了Redis后非常的吃Swap,内存是128的,Swap在装系统的时候只分了4G,以前没有使用Redis的时候swap完全够用,但现在已不能满足需要,查询资料发现官方推荐的Swap分配:CentOS建议:如果RAM小于2GB,就分配和RAM同等大小的Swap交换空间。如果RAM大于2GB,就分配2GB交换空间Ubuntu考虑到系统需要休眠:如果RAM小于1GB,Swap空间至少要和RAM一样大,甚至是要为RAM的两倍大小如果RAM大于1GB,Swap交换空间应该至少等于RAM大小的平方根,并且最多为RAM大小的两倍如果要休眠,Swap交换大小应该等于RAM的大小加上RAM大小的平方根在RedHatEnterpriseLinux中,以下是设置合适的...

PHP技术 Mysql 5.7以上版本怎么样使用JSON存储数据与查询

由于某些需求,需要在MYSQL里存储json格式的数据。这里建立一个测试表:CREATETABLE`meishi`.`recipes_major`(`id`INT(10)NOTNULLAUTO_INCREMENT,`json`JSONNOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDB;然后插入测试数据:INSERTINTO`recipes_major`(`id`,`json`)VALUES(NULL,[{\name\:\牛肉\,\value\:\250g\},{\name\:\土豆\,\value\:\300g\},{\name\:\咖喱\,\value\:\80g\}]);我们就得到了一个使用json存储的表。我们使用命令:SELECT`json`FROM`recipes_major`WHERE`id`=1可以得到以下数据:[{name:牛肉,value:250g},{name:土豆,value:300g},{name:...

服务器技术 解决Redis由于连接过多导致的Uncaught RedisException: Cannot assign requ...

生产服务器在高峰的时候经常报错,查看日志记录为:Redis->connect(127.0.0.1,6379,1)#1{main}thrownin/home/wwwroot/neter8.com/test.phponline9[13-Jun-201911:07:47PRC]PHPFatalerror:UncaughtRedisException:Cannotassignrequestedaddressin/home/wwwroot/neter8.com/test.php:9从网上找了解决办法:执行命令修改如下2个内核参数sysctl-wnet.ipv4.tcp_timestamps=1开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用sysctl-wnet.ipv4.tcp_tw_recycle=1表示开启TCP连接中TIME-WAITsockets的快速回收Redis错误:Cannotassignreque...

服务器技术 使用rsync删除海量文件

先建一个空白的目录:mkdir/tmp/empty然后使用下面的命令:rsync--delete-before-d/tmp/empty//要删除的目录地址/不要忘记后面要/结尾。参数说明:–delete-before接收者在传输之前进行删除操作–progress在传输时显示传输过程-a归档模式,表示以递归方式传输文件,并保持所有文件属性-H保持硬连接的文件-v详细输出模式–stats给出某些文件的传输状态为什么rsync能够快速删除大文件?1)rm命令大量调用了lstat64和unlink,可以推测删除每个文件前都从文件系统中做过一次lstat操作。过程:正式删除工作的第一阶段,需要通过getdirentries64调用,...

服务器技术 解决浏览器跨域出现403 Access to Font at https错误

当出现403跨域错误的时候NoAccess-Control-Allow-Originheaderispresentontherequestedresource,需要给Nginx服务器配置响应的header参数:在需要夸域的配置文件上加入以下代码: location/{ add_headerAccess-Control-Allow-Origin*; }服务器默认是不被允许跨域的。给Nginx服务器配置Access-Control-Allow-Origin*后,表示服务器可以接受所有的请求源(Origin),即接受所有跨域的请求。也可以把*号替换成为域名如:http://www.neter8.com/这样就只允许http://www.neter8.com/调用这个域名的数据。跨域成功!Nginx允许多个域名跨域访问:*号如果不是我们...

生活琐事 重庆周边可露营的地方

车友不比驴友,可以背起装备走嘿远,出行前90%的人都会问:车能不能开拢?为方便车友,所以我以下推荐的基本是可以开拢或停车后背起装备路程在5分钟以内的景点;重庆可搭帐篷的地方还是比较多,但像梦幻谷那样有山有水有林,可以直接饮用的水,几乎是没有;所以梦幻谷绝对是重庆第一的——露营天堂!(无门票)路书:重庆—南环-—南川—武隆(下道)—仙女山镇—天生三桥—黑桃乡—左到梦幻谷;右到仙女湖;单程200公里左右;适合季节:春、夏、秋;众所周知的原因,也许永远不会再去的:风吹岭草原、马嘴水库,绝对是可以排在...

PHP技术 近期对程序的升级操作,程序升级到了2.1

除了对最新版本的PHP和MYSQL兼容升级以外,程序版本已达到了2.1,从开始写死了模块,现在变成可以对模块的手动增加与删除,对扩展模块的支持意味着程序可以进行各种的扩展操作,比如增加电子商务、美食、音乐、电影等,只需要安装增加的模块就可以了。1、系统核心进行升级,增加了自定义缓存、优化了程序结构、修复了各种BUG。2、系统后台支持了手机版本的兼容,可以通过手机管理网站操作。3、数据库编码由原来的utf-8改成了utf8mb4_unicode_ci,支持手机上的表情发布。4、数据库引擎由原来的MyISAM改为InnoDB,PHP对数据库连接删除了mysql,改为了最新的MySQLi...

服务器技术 github使用详解

安全git命令后,通过cd命令进入要同步的目录。一、进行要git的目录然后对目录进行配置。1、设置用户名:gitconfig--globaluser.nameh***a2、设置邮箱:gitconfig--globaluser.nameh***a@gmail.com3、目录初始化:gitinit4、绑定远程仓库地址:gitremoteaddoriginhttps://github.com/h***a/*s.git这个origin是个别名,用于区别不同的仓库,使用gitremote-v参数查看5、查看状态(本地与远程对比):gitstatus6、增加所有文件进行推送:gitadd*7、可以开始推荐并使用-m给文件写一个推送说明:gitcommit-m提交的注释//-m或者后面的注释,可以忽略。8、开始推送文件到ma...

服务器技术 InnoDB数据备份恢复的正确方式!

备份:mysqldump-uroot-p数据库名>文件名.dump导入:mysql-uroot-p数据库名<文件名.dump以前是myisam直接复制数据库里的文件到新的位置就可以使用了,但是现在使用了InnoDB复制却不行了。使用上面的命令可以热备份。

生活琐事 人体减肥原理分析

做为一个当了10年的深度肥宅,终于在本月觉醒,突发奇想,准备减肥。以前也试过一些方法,比如吃左璇肉碱(对我来说完全没有效果),吃一个月的黄瓜(效果很好,一个月瘦了20斤,但是2周完全反弹回来了)。还有去健身房运动,都以失败告终。我深知我可能用的方法有问题。于是本月开始去了解一些减肥的方法。并从根本分析减肥的原理。大家的共同认识减肥原理是:总摄入热量不能超过身体所代谢的热量,要不然就会产生脂肪。经过一些深入的了解和在自身的试验来看,可能这样的计算方式也是不科学的。而且这样会消磨意志力最终也有可能导致减肥失败。我其实是想寻找一种科学...

PHP技术 PHP引用变量详解

<?php$a=1;$b=&$a;//引用变量$aecho$a;//1echo$b;//1$a=2;//这里只改了$a的值echo$a;//2echo$b;//2可以看到$b也同时改变了值。其实这里很好理解引用变量,就是给变量多加一个名字,它们指向了同一个内存存储位置。当变量a的内容变化,b也会一起变,就像土豆和马铃薯一样(还有西红柿炒番茄)。<?php$a=1;$b=&$a;unset($a);这里并不会删除变量$b,只是对变量$a进行了删除操作。下面是一个函数的传址调用例子:functiontest(&$a){$a=$a+100;}$b=1;echo$b;//输出1test($b);//这里$b传递给函数的其实是$b的变量内容所处的内存地址,通过在函数...

PHP技术 PHP中的可变变量详解

<?php$one=one;$$one=two;$$$one=three;$$$$one=four;$$$$one=five;//这样写真的不是语法错误,按php命名原则,$后面就是一个新的变量。echo$one.<br/>;//oneecho$$one.<br/>;//twoecho$$$one.<br/>;//threeecho$$$$one.<br/>;//fourecho$$$$$one.<br/>;//five//下面的变量我们并没有去声明,但依然会输入值echo$one.<br/>;//oneecho$two.<br/>;//twoecho$three.<br/>;//threeecho$four.<br/>;//fourecho$five.<br/>;//five上面就是可变变量的例子,请注意,可变变量名不能用于PHP...

服务器技术 使用tar命令对文件压缩打包处理

#压缩tar-czvf打包.tar.gz目录tar-cjvf打包.tar.bz2目录#解压缩tar-xzvf解压.tar.gztar-xjvf解压.tar.bz2-x从档案文件中释放文件。-c创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。-r把要存档的文件追加到档案文件的末尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。-t列出档案文件的内容,查看已经备份了哪些文件。-u更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。...

服务器技术 linux 一键安装最新内核并开启 BBR 脚本

使用root用户登录,运行以下命令:wget--no-check-certificatehttps://github.com/teddysun/across/raw/master/bbr.sh&&chmod+xbbr.sh&&./bbr.sh安装完成后,脚本会提示需要重启,输入y并回车后重启。重启完成后,进入VPS,验证一下是否成功安装最新内核并开启TCPBBR,输入以下命令:lsmod|grepbbr正常情况下安装成功了后显示:tcp_bbr2048032本脚本适用环境系统支持:CentOS6+,Debian7+,Ubuntu12+虚拟技术:OpenVZ以外的,比如KVM、Xen、VMware等内存要求:≥128MBBR与锐速不同之处:BBR适合小文件,锐速适合至少需要传10来秒以上的大文件;BBR适合线路延...

服务器技术 理解Linux系统平均负载load average

登陆LINUX后输入命令:uptime12:47:43up1day,2:17,1user,loadaverage:3.31,2.89,2.85命令:w12:48:44up1day,2:18,1user,loadaverage:3.23,2.95,2.87USERTTYFROMLOGIN@IDLEJCPUPCPUWHATrootpts/014.129-89-23.rdn12:471.00s0.02s0.00sw或者命令:top都可以看到系统负载情况。后面的数字3.312.892.85分别对应的是1分钟、5分钟、15分钟内运行进程队列中的平均进程数量。最能直接显示的命令是:cat/proc/loadavg2.983.012.914/55917926后面多出来一个4/559,代表系统总运行了559个进程,其中有4个正在运行。后面的17926代表的是最新运行的进程ID。了解了数...

使用PHP每2行数据进行一次格式化的高效可读代码

PHP技术 使用PHP每2行数据进行一次格式化的高效可读代码

<?php$i=0;foreach($childrenas$child){++$i;if($i==1){echo<row>;echo<item>$child</item>;}if($i==2){echo<item>$child</item>;echo</row>$i=0;}}通过编辑代码可以实现以下数据格式:<s>s1s2</s><d>3d4d</d><s>s5s6</s><d>7d8d</d><s>s9s10</s><d>11d12d</d>........在前端会很经常用到这样的数据,而且可以让显示更丰富。以下是应用案例:

通过Kcptun给Shadowsocks加速,能跑满你的带宽

服务器技术 通过Kcptun给Shadowsocks加速,能跑满你的带宽

如果要想了解KCP是什么的同学请自行百度,这里直接讲怎么一步一步安装Kcptun给SS进行加速。kcptun安装那是相当麻烦,不过有人写了一个自动安装脚本,让明明很复杂的事,变得很简单。登陆SSH后输入:wgethttps://raw.githubusercontent.com/kuoruan/kcptun_installer/master/kcptun.sh下载kcptun.sh自动脚本文件。然后给权限。chmod+x./kcptun.sh运行脚本:./kcptun.sh会出现以下界面:1.设置Kcptun的服务端端口:请输入一个未被占用的端口,Kcptun运行时将使用此端口。这个端口用于在客户端连接的时候填写的。2.设置加速的IP:如果你想加速本机的Shadowsocks直...

javascript技术 好用的jQuery2.X文件上传插件,使用HTML5+JS

;(function($){varmethods={init:function(options){returnthis.each(function(){var$this=$(this);$this.data(Kwok,{inputs:{},//所有文件的输入对像inputCount:0,//用于input上的name加循环数(input的创建个数)fileID:0,queue:{//单个队列count:0,//队列里的计数器selected:0,//上次操作的选择数replaced:0,//上次选择中被替换的文件数queued:0,//上次选择操作中添加到队列中的文件数cancelled:0//已从队列中取消或删除的文件总数},uploads:{//上传current:0,//当前上载的文件数attempts:0,//在上一次上传操作中尝试上传的文件数successfu...

javascript技术 使用js实现键盘翻页,利用json减少代码。

使用键盘左、右、回车键翻页常常用于文章、新闻、小说、漫画等网,在网上找到一堆代码,用的最多的是下面代码:varpreview_page=上一页地址;varnext_page=下一页地址;varindex_page=分类、目录地址;functionjumpPage(){ varevent=document.all?window.event:arguments[0]; if(event.keyCode==37)document.location=preview_page; if(event.keyCode==39)document.location=next_page; if(event.keyCode==13)document.location=index_page;}document.onkeydown=jumpPage;先对代码进行优化得到下面的代码:varp=上一页地址;varn=下一页地址;vari=分类...