1. 修改root密码 passwd root2.新建用户 useradd vinentguo3.配置免密码登陆 。使用新建用户登陆vps。mkdir ~/.ssh/chmod -R ~/.ssh/touch ~/.ssh/authorized_keys && chmod 644 ~/.ssh/authorized_keys将公钥 放入 新建的 authorized_keys 文件中4.禁止root登陆sudo vim /etc/ssh/sshd_config
将 PermitRootLogin 改成no5. 挂载磁盘(切换到root账号)哥的数据已经没有了,注意注意fdisk /dev/sdb
输入n 新建分区
输入p
输
关于Discuz的加密解密函数,相信大家都有所了解,该authcode函数可以说是对PHP界作出了重大的贡献,真的发觉discuz这个函数写的太精彩啦。研究了一下这个算法,总的来说可以归纳为以下三点:1,动态性,同一字符串使用相同的key,每次加密的密文都不一样,而解密方法只有一个,其实就是把解密的信息放到了密文上面。2,时效性,可以自己加一个限期参数,以秒为单位,这个其实就是在密文里加入了有效时间。3,统一性,加密和解密都用同一个函数,而且用了比较简单的异或算法。由于该函数具有以上功能,所以适用的环境也很多,一般用于用户登陆和开发API时防刷接口等。 代码如下<?php
/**
* $string: 明文 或 密文
* $operation:DECODE表示解密,其它表示加密
* $key: 密匙
* $expiry:密文有效期
*
查看软件xxx安装内容:dpkg -L xxx
查找软件库中的软件:apt-cache search 正则表达式
查找软件库中的软件:aptitude search 软件包
查找文件属于哪个包:dpkg -S filename
查找文件属于哪个包:apt-file search filename
查询软件xxx依赖哪些包:apt-cache depends xxx
查询软件xxx被哪些包依赖:apt-cache rdepends xxx
增加一个光盘源:sudo apt-cdrom add
系统升级:sudo apt-get update;sudo apt-get dist-upgrade
清除已删除包的残馀配置文件:dpkg -l |grep&
最近公司网站被竞争对手用爬虫频繁访问,所以我们这边要禁止这些爬虫访问,我们通过nginx 指令就可以实现了方法一:直接在LB机器上封IP1.在 blocksip.conf 文件中加入要屏蔽的ip或者ip端$ sudo vim /etc/nginx/blocksip.conf
deny 180.168.74.26;
deny 91.212.45.0/24;2. 在nginx.conf中包含这个文件$ sudo vim /etc/nginx/nginx.conf
http {
.......
.......
include /etc/nginx/blocksip.conf;
}3.重启服务$ sudo /etc/init.d/nginx reload方法二:直接在APP业务机器上操作(有时候LB并不能直接操作)这个时候我们不能通过$remote_addr获取ip
在技术开发中,捕获程序框架错误,是非常必要的一件事情,我们公司使用Yii2框架,简单说下Yii2的错误捕获处理Yii2 web应用1 配置如下 其中errorHandler就是错误处理配置,执行ErrorController的actionError'components' => [
"urlManager" => require (__DIR__ . '/router.php'),
'errorHandler' => [
'errorAction' => 'erro
我们都知道 浮点型 不是很精确的,所以在进行类型转化的时候就会出现很多意向不到的问题我使用php给大家用代码说说这事$a = 2.01;
var_dump(sprintf('%.20F', $a * 100));//string(24) "200.99999999999997157829"
var_dump( intval( $a * 100) );//int(200)上面的结果很出人意料吧,2.01 * 100 应该是201吧,居然是200.99999999.... 这样就可以解释 为什么 后面的转化成整形变成200了如何解决这种问题了? float => int 之前先使用round$a = 2.01;
var_dump(sprintf('%.20F'
Vagrant 默认的 VirtualBox 共享目录方式读写性能表现并不好,好在 Vagrant 支持 NFS 文件系统方式的共享,我们可以启用 NFS 提升性能开启方法首先要把虚拟机的网络设置成 :private_network 模式。然后确认宿主机系统是否安装了 nfsd,Mac OS X 默认是集成了的,部分 Linux 需要安装对应 package 才能支持(以 Ubuntu 为例):$ sudo apt-get install nfs-kernel-server nfs-common同时,虚拟机里的系统也要安装对应的 package:$ sudo apt-get install nfs-common接下来编辑配置文件 Vagrantfile,将共享的目录 nfs 设置为 true,如下:Vagrant.configure(&qu
公司说年假不用要过期的,所以今天我继续休息一天,总要在这天留点什么作为回忆,所以今天做年度总结吧2013年和我告别了,同时迎来了新的一年2014。2013年的离去给我生命上画下了岁月的痕迹,但是同时给我工作和生活上的添加了不少色彩,所以我想分四部分来总结我的2013—感恩篇,生活篇,工作篇,2014年计划感恩篇首先我要感谢的是我在家乡的父母,这几年父母为了我非常劳累,每年过年回家看到父母头上的白头发我内心其实都是很伤感的,老爸老妈我想对你们说:爸爸妈妈辛苦了,感谢你们这么多年的无私付出。其次我要感谢的是我的女朋友,感谢你这一年的陪伴,感谢你这一年的包容和体谅,你为我俩背后付出的我都知道,感谢有你,不能后面遇到什么困难,我都会站在你的身旁,一切有我。我想对你说:老婆,I love you forever再者我要感谢我工作上的导师,这三个人我一定要提出来—吴志山,卢现升,杨勇。你们三位是我人生和工作中的三位启蒙导师,你们的每一句话对我来说都是我2013年的收获。你们对我的帮助只有我自己知道,
好像明白为什么元旦要放3天假了第一天是聚会的第二天是静下来思考的第三天是总结并预备再次启程2015年是我印象很深刻的一年,这一年过的真快,快到还没有反应过来就结束了。今年的总结是:一半欢乐一半忧。主要有下面几件事情:咻的一下单身了换了一份工作业余时间跟着大姐头做了点小慈善看书计划没有完成NO.1:咻的一下单身了 这个应该是今年最意想不到却咻的一下就发生了,一句话:缘分未到!!NO.2 :换了一份工作 15年4月份离开了老东家安居客,来到了一家创业公司。安居客3年遇到的上级都是我的贵人,在初期为我指明方向,在后期教会我去寻找方向。在这三年里打好了技术基础,我遇到的同事都是包容的,乐于帮助他人的,用行动做事的人。在这三年里,培养了我的自信心,我不知道自信心别人怎么看待,我觉得对我很重要。“天下无不散之筵席” 我离开了安居客,开始了新的工作,感谢3年里一起合作,撕逼过得朋友们。在新公司主要经历了两个阶段
不知道什么时候开始喜欢刘德华的,一路听他的歌,特别是听了“17岁” 的演唱会之后发现真的被感动了,这里记录下华仔的演唱会《96红磡演唱会》《刘德华99红磡演唱会》《刘德华2001夏日Fiesta演唱会》《刘德华2002你是我的骄傲 香港演唱会》《刘德华2004Vision Tour 香港演唱会》《刘德华2004-2005幻影中国巡回演唱会》《刘德华2007Wonderful World 香港演唱会》《刘德华2008上海演唱会》刘德华充分诠释了知乎金句——以大多数人的努力程度之低,根本轮不到拼天赋。梁朝伟充分诠释了——只有真正努力过,才明白天赋的重要。参考链接:刘德华演唱会列表
1.查看文件的二进制xxd -b test.wav2.所有占用的端口sudo lsof -i -P | grep -i "listen"
Jquery在处理事件的时候有时候会遇到预想不到的结果如下<a id="link_foo">Foo</a>
<script type="text/javascript">
function bindFooClick(){
$("#link_foo").click(function(){
console.log("www.54php.cn");
});
}
bindFo
ubuntu使用ntpdate更新时间的时候提示错误如下root@lnmp:/etc/squid3# sudo ntpdate cn.pool.ntp.org
5 Jan 07:22:59 ntpdate[4129]: the NTP socket is in use, exiting解决方法$ ps aux | grep ntpd #将进程号记录下来
$ sudo kill 2378 # 杀死刚才记录的进程号
$ sudo ntpdate cn.pool.ntp.org # 再次更新
AppArmor 是一款与SeLinux类似的安全框架/工具,其主要作用是控制应用程序的各种权限,例如对某个目录/文件的读/写,对网络端口的打开/读/写等等。 来之Novell网站的引用:AppArmor is designed to provide easy-to-use application security for both servers and workstations. Novell AppArmor is an access control system that lets you specify per program which files the program may read, write, and execute. AppArmor secures applications by enforcing good application behavior without relying on attack signatures, so it can pr
今天手贱,看到mysql 的日志在/var/log/mysql下面。总是觉得别扭,于是就想改变日志的位置,本人开发环境 vagrant + ubuntu12.04 ,在/etc/mysql/mysql中修改了general_log的位置,放在/data/logs/mysql下面然后重启服务,service mysql restart查看错误日志发现说 /usr/sbin/mysqld: File '/data/logs/mysql/mysql.log' not found (Errcode: 13)150830 0:02:44 [ERROR] Could not use /data/logs/mysql/mysql.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on
关于带宽 和 流量 一直分的不是很清楚,最近查看了详细解释,这里按照我自己的理解做些备注脑补基础: 带宽单位是:Kbit/s,Mbit/s,Gbit/s流量单位是:KB,MB,GB1Byte = 8bit (常说的大B 和 小 b就是这个)1Mbit/s = 1024Kbit/s 1MB = 1024KB1GB = 1024MB我们来一个算术题来讲解带宽 与 流量如果我们有台服务器带宽10Mbit/s,每日最多产生多少流量?10Mbit/s 表示 1.25MB/s ( 10/8 MB/s ),也即每秒1.25M的流量,一天也就 = 1.25 * 60 * 60 * 24 = 108000MB ~ 105GB流量,答案就是每日最多产生105G的流量
1)判断进程是否存在,如果不存在再执行启动命令,可以避免一个脚本同时启动多份if [ $(ps -ef |grep bastion_account.sh|grep -v grep|wc -l) -eq 0 ];then
nohup sh bastion_account.sh &
fi2)如何批量kill进程?ps -ef|grep 'python' |grep -v grep| awk '{print $2}’ | xargs kill -93)查看端口netstat -lnpt 查看服务
ss -e
1:修改源(我使用163的源)直接修改/etc/apt/sources.listdeb http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
deb-src http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
deb http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ precise-security