全球43 亿个 IPv4 地址正式耗尽了,未来IPV6会加速入场

长期以来,全球 IPv4 地址耗尽令人担忧,今天这一时刻终于来临。负责英国、欧洲、中东和部分中亚地区互联网资源分配的欧洲网络协调中心(RIPE NCC)宣布,其最后的 IPv4 地址空间储备池在 11 月 25 日 UTC + 1 15:35 完全耗尽,所有 43 亿个 IPv4 地址已分配完毕。这意味着没有更多的 IPv4 地址可以分配给 ISP 和其他大型网络基础设施提供商。

最新Instagram 包月赞,ins自动点赞加粉评论推广工具 wx 21372550  全球43 亿个 IPv4 地址正式耗尽了,未来IPV6会加速入场 20191129224400

该过程自 80 年代以来就已预见到。IP 地址的全球性管理机构为互联网号码分配局(IANA),其下有五个局域网际网络注册管理机构(RIR)。由 IANA 管理的 IPv4 位址,于 2011 年 1 月 31 日完全用尽。其他五个区域的可核发地址,除了为迁移 IPv6 而保留的最后一块 /8 地址外,也随之陆续用尽:亚太地区在 2011 年 4 月 15 日用尽,欧洲地区在 2012 年 9 月 14 日,拉丁美洲及加勒比海地区在 2014 年 6 月 10 日,北美地区在 2015 年 9 月 24 日,非洲地区在 2017 年 4 月 21 日。

IPv6 的出现是为了从根本上解决 IPv4 地址耗尽的问题。IPv4 版本的 IP 地址只有 4 字节大小,即 32 位长度的 IP 地址。IPv6 版本的 IP 地址有 16 字节大小,即 128 位的长度。

IPv6 技术在国家推进下全面进行。在 IPv4 时代,中国是没有根服务器的。全球被限制为总共 13 台根服务器,唯一主根部署在美国,其余 12 台辅根服务器有 9 台在美国,2 台在欧洲,1 台在日本。

为打破根服务器困局,中国领衔发起“雪人计划”(Yeti DNS Project),面向全球招募 25 个根服务器运营志愿单位,共同对 IPv6 根服务器运营、域名系统安全扩展密钥签名和密钥轮转等方面进行测试验证。到 2017 年“雪人计划”已在全球完成 25 台 IPv6(互联网协议第六版)根服务器架设,中国部署了其中的 4 台,由 1 台主根服务器和 3 台辅根服务器组成,打破了中国过去没有根服务器的困境。

最新Instagram 包月赞,ins自动点赞加粉评论推广工具 wx 21372550  全球43 亿个 IPv4 地址正式耗尽了,未来IPV6会加速入场 20191129224436

2017 年 11 月 26 日,中共中央办公厅、国务院办公厅印发《推进互联网协议第六版(IPv6)规模部署行动计划》。2018 年 6 月,三大运营商联合阿里云宣布,将全面对外提供 IPv6 服务,并计划在 2025 年前助推中国互联网真正实现“IPv6 Only”。2019 年 4 月 16 日,工业和信息化部发布《关于开展 2019 年 IPv6 网络就绪专项行动的通知》,计划于 2019 年末完成 13 个互联网骨干直联点 IPv6 的改造。

预期 IPv4 与 IPv6 将会共存于互联网一段较长的时间。在未来过渡的数十年间,将会有多种网络形态存在。在过渡初期阶段,IPv4 网络已经大量部署,而 IPv6 网络只是散落在各地的孤岛;然后逐步是 IPv4 和 IPv6 网络重叠;最后阶段,会以 IPv4 孤岛为主,直至 IPv4 全部消失。

原文:全球 IPv4 地址正式耗尽

Docker实践的自我认知

Docker实践的自我认知

前几天翻译了一篇文章,郁闷了好几天:
我自己.net阵营下开发已有经年。

在VS 2003年时代,在学校做毕业设计,一个Winform程序,单机版,SQL Server数据库十几个表,。

业务场景是的旅游管理系统,简单的一些CRUD操作,我用的
ADO.net,通过获得DataSet、DataReader,进行insert、select、update、delete。
反正系统没人用,自写自话,没有啥框架、分层概念(虽然理论上知道这些概念,但是实战中没有这个需求),就1个人使用,10几个表,几十条数据记录。

https://www.codeproject.com 看看文章、下载源码。
http://www.codeplex.com/ 微软出的源码共享平台

www.github.com 下载源码。

后来参加工作后,接触项目,慢慢框架、分层、缓存等等融入:核心是有需求场景、有数据量、有用户,技术就得更新升级。

IIS

轻量级网络服务器 Self Hosting Nancy

selfhost

SharpDevleop: plugin方式的

ORMs
方案1:NHibernate ORM to the .NET Framework
方案2:EF ( ADO.NET Entity Framework)
方案3:LINQ to SQL

iBATIS
在*.xml里面写SQL,由iBATIS进行DTO转换。

Select操作,表关联导致SQL优化。

插入数据库,涉及到批量。

如几十条记录,可以通过如下方式优化
性能分析:

foreach (var adjective in adjectives) {
    dataContext.AdjectivesExpanding.InsertOnSubmit(adjective)
    dataContext.SubmitChanges();
}

Or:

foreach (var adjective in adjectives) {
    dataContext.AdjectivesExpanding.InsertOnSubmit(adjective);
}
dataContext.SubmitChanges();

如果成百上千,则通过BCP进行批处理,项目中曾经通过BCP处理50万入库情况,速度在生产环境没问题。
BCP在Oracle、Sybase、SQL Server都支持。

Java Spring全家桶三件套,基本满足Java需求了。

Docker解决实际问题1:VPS搭建xifarm.com博客

采购了VPS,刚学习开始LAMP,大约需要1天,不会Ubuntu Linux系统走了很多弯路。
三四次反复实践后,通过shell批处理脚本,能在2~3小时内从0把VPS搭建好,换VPS方便极了。

在有了Docker后,找现成的LAMP镜像,短短20分钟即可搭建好(VPS在海外,Docker 网速不是问题)

即,效率从1天3小时20分钟,分别提高了70%,1000%
就这一点看,Docker在部署环境上,功不可没,极大提高了DevOps生产效率。

Docker解决实际问题2: Tensflow的学习

学习Python、学习Tensflow,配置环境是新人头大的事情。 Python默认安装的3.7最新版,但是Tensflow最好支持的是Python 3.5版本,还有其他环境,仅仅折腾Linux系统环境,以我的经历,半天都未必搞得定。
而有了Docker后,直接下载Tensflow镜像,20~30分钟时间即可开始写机器学习的hello world应用了,一下子飞了起来。
再也不用被烦人的环境配置问题困扰了。

做技术的,经常保持知识刷新,这个是必须的,尤其是teamLeader、架构师,吃老本很快就回出问题。

Docker docker实践的自我认知 Docker实践的自我认知 vGuay

Docker解决实际问题3: 干净环境的测试电脑。

快速干净部署一个虚拟机。

+------------+  docker build   +--------------+  docker run -dt   +-----------+  docker exec -it   +------+
| Dockerfile | --------------> |    Image     | --------------->  | Container | -----------------> | Bash |
+------------+                 +--------------+                   +-----------+                    +------+
                                 ^
                                 | docker pull
                                 |
                               +--------------+
                               |   Registry   |
                               +--------------+

完美解决 ERROR 1064 (42000): You have an error in your SQL

 今天新采购了[柒比贰WordPress主题](https://7b2.com/?i=vXxymqWPj),安装主题时候报错: MySQL命令行使用sql语句进行建表时,MySQL 报错,遇到同一个问题,写一篇博客来加深印象。   原SQL语句:“`CREATE TABLE wp_zrz_order (    order_address longtext) CHARSET = utf8“`执行报错:
        [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘) CHARSET=utf8’ at line 21] 
![20191014222352.png](http://pic.xifarm.com/.img/20191014222352.png)

这个问题是语法上的错误,在MySQL中,为了区分MySQL的关键字与普通字符,MySQL引入了一个反引号。在上述的sql语句中,数据库名称使用的是单引号而不是反引号,所以会就报了这个错误出来。修改后为:“`CREATE TABLE `wp_zrz_order`(    order_address longtext) CHARSET=utf8“`
在英文键盘输入环境下,按图示按钮输入反引号 `![20191014222803.png](http://pic.xifarm.com/.img/20191014222803.png)
推荐一下,[柒比贰WordPress主题](https://7b2.com/?i=vXxymqWPj)真的好用,比较适合国内情况,推荐。

牛人故事:青年如何实现财务自由

We are not biggest but we inject the most ads into their site.

Whistleblower. I want to tell you the truth about my ad injection company.

My company is building apps that are in your app store and we auto-emable them on users and over time insert ourselves into those computers then inject ads and other tools.

I am a whisteblower. My company injects ads, monitor user behaviour, cheat affilaite system etc to make money.

The company name is Sterkly and Revizer. You may also knows us as Sambreel. We got sued by Facebook in 2011.

Please read this email.

I am going to give you secrets today that can get me fired and also hurt physically.

I am scared so I will no tell you my name.

The company is Revizer from Israel which merged with Sterkly from USA to form another entity named Avantis.

The company and it’s partners have made millions without anyone knowing.

My ex company is the underbelly of dark site of internet abuse..

We are so good, we have fooled Yahoo, Microsoft, Google, Amazon, facebook and every anti-virus companies.

The company leaders have even tried to bribe Microsoft and anti-virus company officers.

In Facebook we inject ads to make revenue.

They wont be able to trace it back to Sterkly as we have shell companies that hide our tracks.

We also track users so we know where your users are browsing and sell that data to RTB networks and data gathering companies. Its easy money and you never find out.

That traffic is high quality and we make lot of money from it.

Not everyone in my company knows about this as its a secret.

I am one of the few that know.

WHAT DO THE DO:

– Ad injection – we insert ads into white spaces in a browser and match it to look like the site

– Pop-under – easy money

– Pop-Up – easy money. Good for distributing pc and virus products that annoy you till you call the call center or buy it online.

– White space ads on Facebook

– Search injection into Google Bing and Yahoo. We make our listing look just like theirs and we make millions from this.

– Selling user browsing data to 3rd parties. This is easy as we track all users.

– Blocking Chrome, Firefox and Internet Explorer functions. They update their product to stop us so we inject software to disable updates and so we can keep the user for long time.

– Stuffing computers with affiliate links to earn money. We use this with Ebay, Amazon and many large ecommerce companies.

– Auto-enabling our ad units without user’s consents. We do installs of our software with companies below. The software we installs looks innocent, but after we get into the network, we change the file and now can install on a computer withou user consent.

HOW WE GREW TO BECOME ONE OF THE LARGEST COMPANIES:

– We made a lot of money from the list above.

– We became clients of large install companies in Israel to gain installs from Adult, Movie, File Sharing, Image and MP3 download sites. Its easy to get millions of users from here.

– We also know how to get good traffic. We have tools that we give to other companies that will inject into Google search results, Yahoo search results, and Bing.

– Also, some of our partners inject into Online Shopping for Electronics, Apparel, Computers, Books, DVDs & more, Newegg and others.

– The best customers are easily from Facebook. We inject hidden links and ads into their pages. We made it look like facebook, so user’s never knew. They clicked and we made millions.

The company leaders below push us to make aggressive products that hack.

– we are congratulated when we hack someone like you or Apple.

Sterkly Founder and CEO Markus:
https://www.linkedin.com/in/markus-levin

– he is a smart guy and has been in injection ads for long time

– he made millions doing this

Revizer CMO:
https://www.linkedin.com/in/tom-zakheym-b1946724

– Tom Zakheym | Facebook
https://www.facebook.com/zakheym

– He is the brains behind most of my companies products. He thinks of new hacks all day to make money.

– Tom is on cocaine or pot everynight but someone comes to work and works hard.

– He comes up with ideas on how to hack and built products that we can inject into all day.

– He throws parties in USA for all his partners that make him money. I am too low to be sent there, but other team members talk about the crazy parties in Vegas.

– He worked in porn industry before, so he has lots of connections there to adult sites to get installs.

New Company: http://www.linkedin.com/company/…. This article talk about the acquistion: Software developer ad co Revizer raises $20m – Globes English

WE ARE GOOD:

– We have companies in various islands, so that no one can touch us.

– We have shell companies we make when we want to.

– Sterkly is secretly giving us more ad technology so that we make more money.

– We attend tradeshows, finance groups so that we look good and get away with it all.

Clients who work with Sterkly, Revizer or Avantis (whatever you want to call it).

– Perion

– 50onRed

– Crossrider

– Cnet’s Free Software, Apps, Downloads, and Reviews

– OpenCandy

– Advertise.com | Online Advertising Network | Ad Network

– Superfish- yes the company that hacked Lenovo (Lenovo Only Made Up To $250,000 From Nightmare Superfish Deal, Say Sources)

– Dealply

– Revenue Wire

– Aedgency

– Webpick- lots of adult traffic that CEO loved

– Bittorrent

– Matomy Media

WHY AM I SAYING ALL THIS:

– I am sick of it.

– I show little kids ads to download games so that without their parents know we inject ads

– I fool less computer knowledge people like old folks to install our stuff

– I helped hack Facebook, Google, Apple either direclty or supported them

– This company is making too much money, they need to be legally stopped.

借用顾小北的一句话,来结束这篇英文文章:

我们,对于很多的事,选择去质疑,去嘲讽,去不屑….

但质疑的人或许并非无知,只是事情超过了他们的认知范围。互联网的三个世界,在地下世界发生地事情,地面上的人永远不知道是怎么回事。

Linux中iptables防火墙使用

对于有公网IP的生产环境VPS,仅仅开放需要的端口,即采用ACL来控制IP和端口(Access Control List).

这里可以使用Linux防火墙netfilter的用户态工具

iptables有4种表:raw–>mangle(修改报文原数据)–>nat(定义地址转换)–>filter(定义允许或者不允许的规则)

每个表可以配置多个链:
* 对于filter来讲一般只能做在3个链上:INPUT ,FORWARD ,OUTPUT
* 对于nat来讲一般也只能做在3个链上:PREROUTING ,OUTPUT ,POSTROUTING
* 对于mangle是5个链都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

filter表的三个链详解:
* INPUT链: 过滤所有目标地址是本地的数据包
* FORWARD链: 过滤所有路过本机的数据包
* OUTPUT链: 过滤所有由本机产生的数据包

举一反三学习:

【例】:过滤所有的访问:
iptables -t filter -A INPUT -s 0.0.0.0/0.0.0.0 -d X.X.X.X -j DROP

【例】:对SSH的22端口开放
iptables -I INPUT -s 0.0.0.0/0.0.0.0 -d X.X.X.X -p tcp --dport 22 -j ACCEPT

【例】:开放80端口
iptables -A INPUT -s 0.0.0.0/0.0.0.0 -d X.X.X.X -p tcp --dport 80 -j ACCEPT


【例】:来自124的数据禁止通过174 IP
iptables -A OUTPUT -p tcp -s 45.32.102.124 -d 157.240.22.174 -j REJECT 

【例】打印当前生效的iptables规则(-n显示IP地址)
iptables -L -n 

Linux中iptables防火墙指定端口范围

iptables -I INPUT -p tcp --dport 700:800 -j DROP 
iptables -I INPUT -s 11.129.35.45 -p tcp --dport 700:800 -j ACCEPT

一、 700:800 表示700到800之间的所有端口
二、 :800 表示800及以下所有端口
三、 700: 表示700以及以上所有端口
这个例子作用是,700-800端口,仅仅对 11.129.35.45 IP开放,白名单机制。

Snat、Dnat的iptables用途:
源地址转换(Snat): iptables -t nat -A -s 私IP -j Snat –to-source 公IP
目的地址转换(Dnat): iptables -t nat -A -PREROUTING -d 公IP -j Dnat –to-destination 私IP

iptables命令详解

iptables常用的命令选项有:
-P:设置默认策略的(设定默认门是关着的还是开着的)如:iptables -P INPUT (DROP|ACCEPT)
-F: FLASH,清空规则链的(注意每个链的管理权限)
-N:NEW 支持用户新建一个链,比如:iptables -N inbound_tcp_web 表示附在tcp表上用于检查web的。
-X:用于删除用户自定义的空链
-Z:清空链
-A:追加
-I num : 插入,把当前规则插入为第几条
-R num:Replays替换/修改第几条规则
-D num:删除,明确指定删除第几条规则
-L:查看规则详细信息,比如"iptables -L -n -v"
-s 表示源地址IP
-d 表示目标地址IP
DROP 表示丢弃(拒绝)
ACCEPT 表示接受
-p 表示适用协议,如tcp

其他更多例子:

【例】添加iptables规则禁止用户访问域名为www.sexy.com的网站。

iptables -I FORWARD -d www.sexy.com -j DROP

【例】添加iptables规则禁止用户访问IP地址为20.20.20.20的网站。

iptables -I FORWARD -d 20.20.20.20 -j DROP

【例】添加iptables规则禁止IP地址为192.168.1.X的客户机上网。

iptables -I FORWARD -s 192.168.1.X -j DROP

【例】添加iptables规则禁止192.168.1.0子网里所有的客户机上网。

iptables -I FORWARD -s 192.168.1.0/24 -j DROP

【例】禁止192.168.1.0子网里所有的客户机使用FTP协议下载。

iptables -I FORWARD -s 192.168.1.0/24 -p tcp –dport 21 -j DROP

【例】强制所有的客户机访问192.168.1.x这台Web服务器。

iptables -t nat -I PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to-destination 192.168.1.x:80

【例】禁止使用ICMP协议。

iptables -I INPUT -i ppp0 -p icmp -j DROP

2018个人总结

2018,收获很大,变化也很大,朋友说 “看着你变换方向,眼花缭乱的。”

如,暂停了坚持3年的Unity3D积累,转型更偏向网络技术、数据库技能的C#、SQL、网络编程能力;从表现层炫酷出发点到效率落地的变现尝试,对技术尤其是网络编程,很有趣、也很有挑战!

2018年总结:

  • 总结1:恢复技术博客

    www.xifarm.com 到现在5年了。 它记录了我成长点滴,属于自我驱动的一个展现手段,也是自我督促自我的一个办法。 过去2年,忙忙碌碌的,博客更新中断了不少,今年下半年重新捡起来了,自我感觉挺好的。
    我常对朋友说,沟通很重要。
    在对外沟通中表达自我的无外乎2种途径:写和说。 尤其是做一个多年的技术,写比说更关键,我们日常工作中,很多是编码事情、加班加点没有问题,但是到了对外输出时候,掉链子的案例不是一个两个,加强写作能力、加强表达能力,很重要。

    最近几次博客内容丰富多彩,如十年如一日的在Windows下工作,Mac仅仅是一个电脑,而今年对Linux Unbuntu进行比较多的实践;以及为了解决快速上网问题,折腾的华硕梅林路由器(Python),蛮有趣,开心不已。

  • 总结2:业余爱好-读书

    今年上半年出差多,下半年出差比较少了;读书时间大部分是出差中或者晚上夜深人静的时候。

    • 《不要独自午餐》:人际关系,非常棒的一本书,值得读7遍的书。
      1. 抓住当下,能做什么,想做什么,赶快动手。因为鲁莽之中也蕴藏着能量与魔力。 ——歌德
      2. 失败,再失败,接着失败的姿态就没那么难看了。”
      3. 即使你不是个天才,做好准备工作也会让你看起来像个天才。”
    • 《林肯传》:美国总统传记,记录文学风格,比较朴实
      我非常惊讶于,美国总统竟然是个屌丝,不是一般屌丝而是非常屌丝的屌丝。
      职业:农活、伐木工、邮差、律师…..
      他有过人的记忆力、演讲动员能力、容忍容错能力(和他妻子的坏脾气磨炼有关系)
      林肯善于讲故事、交朋友、信用良好、为人四海。
      在美国南北分裂的时刻,挽救了一个大国,才有了今天的美国。
    • 《向赢家一样思考》:美国总统,川普的理智人生!
      网上,对他负面新闻很多,我很是好奇,这么奇葩的人,怎么能当上总统,所以就翻翻这本书,内容是川普碎片说教类型的经验,能看出来,他为人很傲,但是不傻。
    • 《清明上河图小说》:破案、解密,逻辑胡扯的类型。接人待物,千年不变。 每当静静夜读看到书中描写古人的市井生活,令人感到非常愉悦,宋朝历史,本来我就知之甚少,不管内容是否属实,就当虚构小说来读。
    • 《洪业》:今年突然对东北、满族挺有兴致,就找了这本书看。 内容讲的是满族八旗的创业史。自从看了《李自成》小说后,我素来对明末清初的历史很反感。这本书,站在中立立场,详细的描述了满、汉的政治、军事格局,如几万八旗军、如何把百万汉族武装消灭的,读后令人反思不易:战略、战术、战斗。
    • 《左宗棠》:以前在《胡雪岩》中片段了解过这位清末名臣,这次系统阅读了。时代造英雄,英雄造时代。相比同期的曾国藩、李鸿章,左是唯一没有污点的。
    • 《世纪三部曲》:涉及一战、二战历史、国际、爱情、奋斗,是我非常喜欢类型的小说。 小说的细节描写手法非常细腻,如俄国十月革命、一战萨拉热窝事件、二战珍珠港、英国美国德国不同的民主化进程。戏说部分占90%,历史部分能学到很多教科书没有的,夜深人静,流连忘返于100年前的岁月,真的是大国格局、世纪视野。
  • 总结3:人到中年的一些思考

    年初,2岁的小儿子手被夹了,正月十五我和妻在医院陪护了1周,期间2个孩子在病房内玩耍(正月住院的人很少,我们几乎是包间待遇), 往往在哄孩子睡后,我们2人,促膝畅谈,不再争论、不再空想,切切实实的把当下家庭危机想办法落实解决,目前看,密切的沟通着实有效,今年做了很多落地的重大决策:她觉得我听了她的,我认为她听了我的,结果是大家统一步调,都收益了。

    年末,合伙人生病住院半个月,开始诊断为比较严重的疾病,我陪他在医院呆了一天,目睹了往日精力超群的他,躺在病床上精神极度虚弱;不由得感想联翩,为他的病情感到难过。 合伙人之间,有了想法就要开诚布公,时不待我,机会、市场转瞬即逝,珍惜当下的每一天。
    放假前一天,医院诊断结果发布,很轻的病,有惊无险。

    相对健康而言,其他,都是小事!
    

    同学会,我碎碎念了很多次的事情,今年7月21日,终于在北京回龙观举行:转眼距离上大学已经18年了,同学们热情洋溢从各地赶到北京。虽然这么多年未见,但是,大家很快旧情复燃,彼此一点都不客套,相谈甚欢。

    同学会,是一次重要的个人复盘的事情: 往日大家同窗,时过境迁,大家目前在各自领域崭露头角,整体都不错。

    温故知新吧。 加油加油。
    

2019年规划:

  •   继续读书提升:
    学习一些有趣的事情,社区活动交友游学,www.xifarm.com 博客笔耕不辍,自我驱动前进, 兴趣是最好的老师。
    落了灰的《影响力》、《少有人走的路》,再翻翻。
  •   落地场景实践:
    如树莓派、Python编程,一遍教小孩子玩,一遍也挑战自己动手能力,2019年培育一个自我的业余兴趣点爱好–折腾折腾:也算是与儿子一起,与时俱进吧。
  • 创业的驱动力:

    把创业的事情落地到实处,投入产出、利益分配,发挥基因优势。说反对,也是有技巧的。
    不能太直接和太硬,而是要委婉的引导进行下去。 曲成万物而不遗。

    家和万事兴!
    稳定团队,稳定自我内心,情绪管理。
    思想不能太懒惰。


往年博客总结索引:
* 2013年个人总结三部曲(序):关键词
* 2013年个人总结三部曲(上):读书
* 2013年个人总结三部曲(中):写字
* 2013年个人总结三部曲(下):学习
* 2014年个人工作总结
* 十年的路:大学生-工人-程序员-研发经理-技术支持
* 2015年个人工作总结

Ubuntu搭建WordPress-MySQL-Apache

目标

技术博客www.xifarm.com有5年时间了.

原来在虚拟机/VPS上搭建,不过都是Windows系统下的。 最近突发奇想,试试迁移到Linux的Unbuntu下。说干就干,抽空用了大约3天时间*每天1~2小时投入,完成搭建。

这里记录一下过程,分享给有需求的朋友。

1. 安装LAMP (Install Linux, Apache, MySQL, PHP)

首先需要安装 (LAMP) stack, 顺序执行命令,很简单。

sudo apt update
sudo apt install apache2

http://your_server_ip

sudo apt install mysql-server
sudo mysql_secure_installation
sudo apt install php libapache2-mod-php php-mysql
sudo vi /etc/apache2/mods-enabled/dir.conf

新的wordPress已经推荐支持Php 7.2,所以直接安装php 7.2。

sudo apt-get install Python-software-properties
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install -y php7.2

2. 安装WordPress

cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz

touch /tmp/wordpress/.htaccess
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

mkdir /tmp/wordpress/wp-content/upgrade
sudo cp -a /tmp/wordpress/. /var/www/wordpress
sudo chown -R www-data:www-data /var/www/wordpress

配置3个字段,可完成DB创建。(前置条件,需要先用MySQL创建DB,这里不再赘述)

curl -s https://api.wordpress.org/secret-key/1.1/salt/

vi 打开配置文件 /var/www/wordpress/wp-config.php



define('DB_NAME', 'wordpress'); /** MySQL database username */ define('DB_USER', 'wordpressuser'); /** MySQL database password */ define('DB_PASSWORD', 'password'); define('FS_METHOD', 'direct');

3. SSL增加HTTPs

今年Google Chorome、Apple Safari先后声明,全力支持HTTPS,故,本次也一并把HTTPS考虑在内了。 原来以为HTTPs和域名一样需要申请、审核,比较费时。

看了几篇博客,才知道通过certbot 申请,整个过程完全自动化,网速快的话10分钟可以完成申请(90天免费,写个自动化调度执行命令Refresh即可实现长期免费)。

按照顺序执行command:

sudo add-apt-repository ppa:certbot/certbot

sudo apt-get update
sudo apt-get install Python-certbot-apache
sudo certbot --apache -d example.com
sudo certbot --apache -d example.com -d www.example.com
https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

cron script placed in /etc/cron.d
sudo certbot renew --dry-run

tips: 几个比较耗时的过程总结

mySQL外网运维权限

linux的安全大门果然紧闭,难怪安全呢;不像windows安全大门比较松,使用起来灵活一些。如,MySQL访问权限,Linux默认在localHost内开放,但是我们为了运维方便,需要向定向IP进行授权。

通过修改配置文件,可开启MySQL外网访问权限:增删改查。

打开/etc/mysql/mysql.conf.d/mysqld.cnf 文件

修改IP地址
bind-address       = 0.0.0.0

mysql -p -u root

查询当前权限
select * from mysql.user; 
GRANT ALL ON *.* TO 'root'@'192.168.0.7' IDENTIFIED BY 'password' WITH GRANT OPTION;

FLUSH PRIVILEGES; 
EXIT;
GRANT ALL ON *.* TO 'user'@'localhost' IDENTIFIED BY 'passwd' WITH GRANT OPTION;

同时,需要Linux系统防火墙开放3306端口:

sudo ufw allow 3306
sudo ufw status

netstat -an | grep 3306
netstat -an | grep -i established
WordPress调试开关

导入备份的DB,打开博客首页,奇怪,没反应。

估计是DB或者配置问题,为了Debug log,需要开启了WordPress自带的log开关,查debug.log看看端倪。

在 wp-config.php,添加如下代码:

 // Enable WP_DEBUG mode
define( 'WP_DEBUG', true );

// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );

// Disable display of errors and warnings 
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

// Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
define( 'SCRIPT_DEBUG', true );

WordPress固定连接访问失效解决

为了SEO,我把默认的WordPress博客链接修改为 http://www.xifarm.com/photononazure/
但是默认的Apache2没有打开这个规则,需要修改Apache的config文件,并重启Apache2服务。

vi /etc/apache2/apache2.conf

<Directory /path/to/wordpress>
  Options Indexes FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

# Change AllowOverride None to AllowOverride All

sudo a2enmod rewrite

sudo service apache2 restart

参考文章:

1. How To Install WordPress with LAMP on Ubuntu 18.04
2. How To Secure Apache with Let’s Encrypt on Ubuntu 14.04
3. How to set up MySQL for remote access on Ubuntu Server 16.04

Linux Ubuntu系统之PPP拨号经验分享

Linux Ubuntu系统之PPP拨号经验分享

近期,工作需要,我负责开发PPP拨号模块。
说起拨号,算算时间,我已经做过2次了, 暴露年龄了,呵呵。

第一次是刚毕业做的PPOE拨号,给电信做拨号软件,在河北石家庄工作过一段时间,基于windows xp。

第二次是在移动网优,3G手机路测,即著名的TD-SCDMA,基于AT指令控制手机驱动。

这次,是用的PPPD拨号,在Linux系统下。
pppd 拨号模块,Linux系统是自带的, 就像windows下自带的RAS拨号一样,打印机等很多应用需要通过拨号方式进行通信的。

Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-161-generic x86_64)
pppd 2.4.5

参考文档,配置4个文件:

/etc/ppp/peers/myvpn 账号信息

remotename myvpn
linkname myvpn 
ipparam myvpn
pty "pptp *** --nolaunchpppd --loglevel 0"
lock
nodeflate
name ***
usepeerdns
require-mppe
noauth
require-mppe-128
defaultroute
mtu 1416 #特别关键!!!

/etc/ppp/chap-secrets VPN用户名密码

user pass

/etc/ppp/options 默认设置项

lcp-echo-failure 10 # (from /etc/ppp/options)
lcp-echo-interval 10 # (from /etc/ppp/options)
lock
crtscts
nodeflate
persist
asyncmap 0
noauth
hide-password
noipx

/etc/ppp/options.pptp 设置项

lock
noauth
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
require-mppe-128
ipparam myvpn
defaultroute

个人总结的技巧:
– 一定要升级Python3.4 –> Python3.7?

我开始很纠结Python版本,代码开发是Python3.7最新版,而Ubuntu自带的是Python 3.4, 故想办法升级Python3.7,如果在本地网速很快,这个不是什么难事,1小时工作量。

但是,远程链接SSH,VPS服务器在国外,网速卡的厉害,本来1小时工作,忙乎了一个上午才搞定,升级到Python3.6 + pip3 。 但是一想,我还有n个服务器呢,故晚上加班把代码降级为pyhon 3.4,这样部署就方便多了 — 非原则问题,不要在环境上折腾太久,条条大路通罗马嘛。

这个事情,给我很大的启示:不要做战略的矮子,再勤劳的执行力, 团队的效率也上不来的。

平衡、成本、决策!

  • 部署Python程序,background job running

windows开发C#很多年,除了前几年做Unity3D开发的游戏APP(含VR、AR),这些都是有GUI界面的,而在Linux下,第一个门槛就是无UI界面。
调试程序通过,部署后,我关闭ssh下班了,吃完饭,远程ssh,怎么我的Python程序不见了,惊讶不已,才***行代码,而且我写的是 while true 循环,不可能自己退出啊。
nohup Python3 main.py &
ps ax | grep py

上网搜索,多亏google,很快就明白了,SSH通过22端口,开启了一个“session”,一般,如你执行 Python3 main.py,随着SSH Session结束,Linux会kill这个process的。 而这个PPP拨号程序需要作为一个长时间运行的,故需要用 nohup 和 & 关键字,这样当你退出ssh,这个程序会驻留系统。

那么问题来了,查询运行的process,常用的 ps all就是不灵了。

要用 ps ax | grep py 才可以。

  • linux常用工具工具
    • [ ] vi 编辑器,linux运维必备神器!
    • [ ] cat /var/log/syslog | grep pppd #输出mylog.log, search pppd
    • [ ] cat /var/log/syslog | tail -n 100 #输出mylog.log 文件最后100行
    • [ ] egrep -v ‘#|^ *$’ /etc/ppp/options #正则,列出配置文件起作用的
    • [ ] * “>” /var/log/syslog #clear syslog
    • [ ] * dhclient -v -4 : refresh network #重新获得IP.

参考文档:
1. https://superuser.com/questions/949520/wvdial-ppp0-and-setting-default-route-automatically
2. https://askubuntu.com/questions/891393/vpn-pptp-in-ubuntu-16-04-not-working
3. http://www.cnblogs.com/simonshi/archive/2010/04/23/1718984.html

2015年个人工作总结

      2015年,对于我是很关键的一年,因为我离开研发团队1年零8个月后,又回归了。 同时也结束了外企优雅的工作生涯,加入到一个Unity3D的手游创业的小团队中,继续日常8小时的编程工作–自学和职业还是不一样的,职业接触的面不一定广、但是对技能要求的深一些。

     另外,自从2013年开始,个人技术博客网站走过了2013、2014、2015三个年头,这个网站也是象征我从传统IT行业往互联网行业转型的心路缩影,对了,现在互联网叫互联网+了。

    还有,研发管理经验是不分行业的,无论做电信行业OSS研发,还是Unity3D手游研发,靠谱的Team Leader都是一样的:他不能为公司挣钱,但是能够为公司省钱—每保质保量的完成一个项目,节约1个月时间,会节约7.5万人民币(1.5万/人月 *5 人)。 尤其在创业公司,不仅仅是钱的问题,靠谱还能够为公司赢得创业最宝贵的竞争力:时间。 例如,8月份发布产品,比11月发布产品,看起来3个月,对于大公司而言差别不大(1、2个合同订单的事情),但是对小公司而言,则很可能会决定公司的生死存亡!

而做好Team Leader这个岗位,可归纳为如下的要点:

不要求Team Leader:

  1. 技能牛B
  2. 长得帅
  3. 性情平和

要求Team Leader:

  1. 组织动员能力强
  2. 责任心强
  3. 谦虚的学习和反省能力强
    吐槽一下;

     

    1  创业公司的合伙人制度决定了公司的成败! 一般而言,选择大学同学、较熟悉的同事,则成功的概率高(有共同的理念和做事原则的默契度)。

    2  网上凑人未经过严格考核的“试用期”、10年不见的发小、传说中幼儿园同学关系,这些合伙人“组成”的创业公司大多会生死未卜!(开公司不是玩过家家的事情)

    3 原因很简单:嘴上说的,仅占50%,能不能和得来,得靠“试用期”— 先磨合3个月,试试看嘛!

    例如我曾经招聘过的一个程序员,其简历上吹NB,做过5个大项目,仅工作5年,貌似已经精通C#、C++,管理团队超过10人+….., 我K,项目目前正缺这样的人才–将才,好像是老天爷赐给你的似的; 给其争取到offer后,入职,在一起工作了1个月,才发现人才水的厉害,真的不是我嫉贤妒能呀,后来在试用期内不得不“挥泪斩马谡–辞退掉”— 我良心上也不安,寝夜难眠,但是为了团队大局利益考虑,砍!

    2015年的个人“大事记”:

    • 2015年1月:第三次系统学习Unity3D编程技术,体验了500元在线教育,效果–酷。
    • 2015年4月:赴北京参加Unite Beging 2015大会–游学、交友、自省
    • 2015年5月:最后一次参与组织技术大会 开源中国.西安
    • 2015年6月:入职西安**(一个创业仅3个月的棋牌手游公司),做全职Unity3D职业程序员
    • 2015年7月:荣获微软.NET MVP 2015
    • 2015年8月:系统自学Android开发,并和Unity3D完美应用,完成了多个插件模块接入
    • 2015年9月:公司岗位小调整,我“擢升”研发的Team Leader,同时兼任Unity3D程序
    • 2015年10月:VR/AR见闻(4月份黑人类社区上线;2015.10月份西安高调举行AWE Asia大会)
    • 2015年11月:系统自学IOS开发,并发布Unity3D在MAC下的ipa版本,完成Unity3D的跨平台实践

    2015年,博客写了30+篇

    今年博客网址(www.xifarm.com, www.codepiao.com)已经满2岁了,累计总发布博客112篇。

    2015年,书读了12本吧,有据可考的2015年书单如下:

    • 《iOS编程(第4版) 》  读完,并在11月份实践1.5个月。
    • 《Android 编程》 读完,并在8月份实践
    • 《小狗钱钱》本来是给儿子购买的,结果我自己悄悄先看完了。
    • 《火星救援》小说,电影当时还未来得及看,故看的Kindle的电子书。
    • 《游戏改变世界 》游戏行业一本重要的哲学书籍,游戏不仅仅是玩物丧志的事物。
    • 《Unity 2D游戏开发从入门到精通 》  2D游戏必备书籍
    • 《Sun 公司核心技术丛书:Effective Java中文版(第2版) 》 JAVA程序员必备
    • 《安德的影子》、《安德的代言》、《安德的游戏》 科幻三部曲
    • 《幽灵舰队 》 科幻小说大作
    • 《时间移民》 ,《三体》拿到雨果奖后,我看的又一部大刘的科幻小说。呵呵,我还抢注了“执剑人”的域名www.zhijianren.com
    • 《通关!游戏设计之道 》 雨松朋友圈推荐过的一本游戏设计的书,写得不错。
    • 《NGUI 实战教程》: NGUI未商用过,但是这本书,写得真好–有内容,的确是干货一本。

    历年个人工作总结链接:

    2013年总结
    2014年总结

    2016年个人的愿景:

    继续从事靠谱的Unity3D技术研发工作。

    在做好手游日常工作的同时,业余时间也会涉猎VR、AR技术的预研:demo。

    同时,会参加Unite Shanghai 2016大会–继续和全国的大牛们学习、交流、切磋。

    聊聊软件研发中心存在的意义

    最近外企裁员消息一个、一个接连不断:诺基亚、微软、Sony、Adobe、HP等等。曾经高大上的外企,再也无法重整往日辉煌了,整窝整窝的端了研发中心。

    雷同的,国内大企业也会分设不同的研发中心,多元化人才发展战略,以及最大化扩展自己的研发后劲,典型是华为路线。

    以我经历的IT研发参考,前面60%在总部做研发,后面的40%隶属于***研发中心。故,也曾经假模假式的思考过研发中心的意义,简述如下:

    研发中心存在的意义不是:

    • 非常低端的外包服务 — 汉化、代码实现
    • 自以为得市场噱头 — 股市、各地政府的优惠政策
    • 闭门造车的封疆大吏 — 独自的小山头

    研发中心存在的意义是:

    • 自主的核心产品 — 聚集优秀人才的法宝
    • 员工的晋升通道 — 持续激励未来
    • 结合市场的业绩 — 市场是检验真理的唯一标准

    没有任何一家公司会投入数倍人力细细核查代码级粒度是否符合规范、是否符合需求– 软件这个行业,主动性、参与进来做事情特别主要。

    IT研发,不是类似工业自动化,流程再精简、人员再娴熟,还是和工业流水线不一样的。 如果要比,更多的像农业,有自然规律,有春种秋收,有年景之说。故如果是集团公司,要在设立、规划研发中心的时候像种庄稼一样来思考之。

    有创造的力的程序员,同珊瑚一样,也是需要特别优质的生存环境才行。

    但是明显是,能提供高级程序员生长的环境,只能存在于美国,中国的环境决定产生不了优秀程序员。

    外企在中国建立研发中心的目的,其实很简单:一个是人力成本低,一个是一些低端的劳累的工作在美国不愿意做,都拿来中国做。

    如今中国对外企的优惠政策有些缩水,所以外企人为,不能赔本在中国建立研发中心了,还是把研发放美国本土,中国只放营销部门最好。

    adobe做精品 而我们需要的是快速消费品

    “其实很多知名外企在中国设立研发部门,其市场价值远大于研发价值,用意是“做宣传”,让国人知道有这么个公司。人家真定做正事用不着在中国做。

    可以说中国的部门基本是可有可无的。

     

    IT人,不忙的时候,多看看书,闲的的时候啥都能做,迄仅限于您工作日所处的行业嘛!

    世界 == 视界