avatar

未编辑版
------------------

更新操作系统

apt-get update && apt-get dist-upgrade -y

安装Docker

#使用Aliyun的镜像
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh - 
cd /home \
    && mkdir -p conf/nginx \
    conf/php \
    conf/mysql \
    data/htdocs \
    data/mysql \
    data/logs/nginx \
    dockerfiles/nginx \
    dockerfiles/php \
    dockerfiles/php/ext \
    dockerfiles/mysql

添加Docker国内镜像

echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=https://xxxx.mirror.aliyuncs.com\"" | sudo tee -a /etc/default/docker

重启Docker

service docker restart

运行MySQL容器

docker run --name mysql -d \
    -p 3306:3306 \
    -v /home/data/mysql:/var/lib/mysql \
    -v /home/conf/mysql/conf.d:/etc/mysql/conf.d:ro \
    -v /home/conf/mysql/my.cnf:/etc/mysql/my.cnf:ro \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -e MYSQL_USER=chobits \
    -e MYSQL_PASSWORD=123456 \
    mysql:5.7

常用命令

docker exec -it mysql /bin/bash

Continue Reading...

avatar

受够了那些垃圾评论机器人,虽然那些垃圾评论基本上99.99%的都会被Akismet拦截,但是那些机器人完全不管评论是否会被拦截,就是那么耿直的不断工作着。
最可恶的是那些评论机器人发的那些评论都长的一逼,看了下Akismet的历史记录,共拦截了垃圾评论251W次,历史最高记录是一个月50W条,当初一个月就占了我数据库3G的空间,这TMD完全就是攻击行为啊,妈蛋!!

首先我想到的是增加一个特殊标记,后台判断如果不提交那个标记,就返回400错误。不料机器人会爬取整个页面自动拼装数据,该方案直接失败。

接着我又想了个方法是修改form里评论主题的textarea name,修改成其他名字的话机器人就应该无法正确的封装表单数据,尝试了下第一天效果还不错,但到了第二天依旧阵亡,猜测了下可能是我正确的textarea name前缀也使用了comment,机器人通过通配自动匹配了下,然后突破了这个小陷阱。

第三个方案是,增加一个textarea,名叫dummy_madao,然后依旧保留名为comment的textarea,但将其设置成隐藏,如果提交数据时comment的value不等于空,就返回400,而dumyy_madao才是真正的评论内容,目前测试下来效果不错,以后可能会增加触发该条件直接ben ip的操作。

总之Madao万岁!!

avatar

LET JUSTICE BE DONE, THOUGH THE HEAVENS FALL.

#其实我更喜欢翻译“纵使天塌下来,该算的账还是要算.” ( ̄▽ ̄)

警告:本文含有大量剧透内容,阅读途中如果产生“累了,感觉不会再爱了”、“然后我早已经看穿了一切”之类的错觉,请一定要暂停阅读,谢谢配合。
本文自带BGM

Continue Reading...

avatar

上周上海电信推出了“网龄计划”,满10年的老用户能免费将带宽升速到100m,虽然还是那百年不变的非对称方式,但是上行10m的撒必死还是十分给力的(虽然只有1年)。

在出租车上的广播听到了这个活动,立马通过微信参加了,但忘记了和家人打招呼。电信打电话确定的时候,母后接到对方的电话说要帮我们免费升级宽带就一口就回绝了。到了晚上还告诉我今天接到一个诈骗电话,说要帮我们升级宽带。。。。

后来电信师傅说要上门免费换个cat君,他说原先的cat君4个lan口都是100m的,带宽升上去后跑不满百兆,要换千兆的那种,他还将免费两字特别强调了下。。。。

新更换的cat君是华勤的HGU421N V3(完全没听说过这个牌子),除了网口4是千兆外,其余三口都是百兆的,设置完桥接后,目前网速能跑15m/s左右了。 ψ(`∇´)ψ

家里的AP走的暗线估计是5类的,接电脑上去总显示百兆,有空想办法把这批线给换了,装修时的师傅绝对偷工减料!!

avatar

监视这个域名好久了,NICHIJOU.COM(日常),终于等到域名进入了赎回期,瞬间感觉信心慢慢的。购买了Godaddy的Backorder等待过期的抢注,但是到了删除期,突然狗爹就傲娇了,怎么也无法获取到域名的状态,直到域名删除后也没有任何反映,结果显而易见。

接着1天后我收到了抢注失败的邮件,并且whois信息显示域名已经被别人注册了 ヽ(`Д´#)ノ

Continue Reading...

avatar

周一的时候抱着“妈蛋工作真忙啊,抱着电脑不知道怎么下手啊,PRD再改不好又要加班了啊,加班TMD没有加班费啊”的心态,我在阿里云的代备案系统提交了备案申请。嗯,是的,我承认我是闲着蛋疼了。

虽然有着代备案系统,但是整个备案还是相当麻烦的,只看流程的话真个备案流程看上去还是十分简单。如果你想完成备案的话,你需要有以下装备:

  • 一台电脑
  • 一台打印机
  • 一台扫描仪
  • 一位可爱的快递大叔
  • 一个照相机

准备好以上装备,你就可以开始流程了,提交个人信息啊,提交完了下载各种表单啊,下载完了打印各种表单啊,打印完了在各种表单上签名啊,签完名了再扫描各种表单和身份证啊,扫描完了打电话让快递大叔上门取件啊,大叔上门后把一堆资料交给大叔让大叔送给阿里云啊(运费10块啊,10块啊!!),让阿里云寄一块蓝色的抹布啊,抹布到了站在抹布前面拍张照啊,拍完照把照片发给阿里云后,整个流程就结束了......

我完成整个流程使用了4天时间,看下图:

比较耗时的就是寄送资料和阿里寄送抹布(幕布)物流使用的时间,其他流程十分的快,让我不敢相信的是提交管局审核竟然只用了12分03秒。(你敢信么,我朝公仆什么时候工作效率怎么高了,太可怕了!)

接着,备案就这样下来了,然后我就雄纠纠气昂昂的开始搬家之旅~(目前为止还没全部配置好,偏痴病有犯了,在一片文章一片文章的整理格式 = -)

06年的时候刚开始搞备案那会,我也备过一次案,后来各种补材料,就懒得提交了,后面备案号注销掉了,那个时候备案还是十分容易的,全部在线操作就可以了,只不过审核时间比较长,个人那时候论坛之类的都能备案,现在这类网站都不能备案了,时代在进步啊~

Continue Reading...

avatar

前期准备

首先将所有所需要的设备来统计一下

  • 一块树莓派板子 基本上260元左右
  • 一张8G以上class10的SD卡 50元左右
  • 一根超5类的网线 10元左右
  • 一根mirrorUSB数据线 10元
  • 硬盘 这里我选择了日立的1T硬盘 399元
  • 一个硬盘底座,必须带电源,如果有USB供电口最好 100元
  • 如果硬盘底座没有USB供电口,需要另买一个USB充电器 40元左右

以上就是我们所需要的所有设备了 基本上成本在 800软妹币左右

注: 树莓派在安装系统的时候需要外接显示器,树莓派支持AV和HDMI输出

树莓派
淘宝上自行搜索,推荐element14的。

SD卡
TOSHIBA 东芝 EXCERIA Type Ⅱ型 SDHC-16G UHS/CL10 读95M写60M
http://t.cn/8khygkx
注: 树莓派其实无法发挥高速SD卡的优势,所以其实并不需要买这么好的卡

网线
淘宝随便找

USB数据线
这个别买山寨牌的数据线,买根品牌货即可

硬盘
HITACHI 日立 2.5" 1TB 8MB SATA 6Gb/s 5400转 笔记本硬盘(HTS541010A9E680)
http://t.cn/8khyAbl

硬盘底座
ORICO XG-2518SUS3P-WH 2.5英寸USB3.0多功能硬盘底座 3口USB充电器 (白色)
http://t.cn/8khycCT
注: 这个硬盘底座只能使用2.5寸的笔记本硬盘 并且硬盘厚度不能超过9.5mm

USB充电器
淘宝上自行搜索,一般5V1A就妥妥了

安装操作系统这里就不做详细介绍了,按照官网的说明来做即可
需要特别说明下的是,以下所有的操作都是在raspbian这个操作系统上执行的,所以推荐安装raspbian
官网地址: http://www.raspberrypi.org

Continue Reading...

avatar

一直使用request.Form.Add 添加参数发送请求, 发现死活得不到参数 十分奇怪中, 最后看文档才发现有这样一句话
The HTTP client ignores Form and uses Body instead.

这是神马思考方式啊, 为嘛用Body覆盖啊 混蛋!!!!

最后采用这样的方法, 一下代码是mailgun发送邮件的演示, 就是搞这东西搞了老半天
话说 Rackspace 会员有特殊福利 不是每天200封 而是每月50K 一本满足!!!

  c := appengine.NewContext(r)
  client := urlfetch.Client(c)
  //获取到request对象
  req, _ := http.NewRequest("POST", "https://api.mailgun.net/v2/samples.mailgun.org/messages", nil)
  req.SetBasicAuth("api", "key-3ax6xnjp29jd6fds4gc373sgvjxteol0")
  //生成Form 因为Form是个Values对象来着
  form := url.Values{
    "from":    {"Excited User "},
    "to":      {"mail@example.com"},
    "subject": {"Hello"},
    "text":    {"Testing some Mailgun awesomness!"}}
  //对form进行编码
  req.Body = ioutil.NopCloser(strings.NewReader(form.Encode()))
  resp, _ := client.Do(req)
  fmt.Fprintf(w, "HTTP returned status %v", resp.Status)

Body是一个 ReadCloser 所以用NopCloser来转化Reader对象
就是这样 继续求纠结一些其他功能去~~~

Page 1 of 28Prev123...NextLast