尽管也称互联网,但在国内,如若有以下一个或多个需求,你就不得不学习一下科学上网了:
1.访问的网站或服务被(GFW)墙;
2.网络提供商(ISP)劫持了网络流量;
3.需要匿名(隐藏真实 IP)的情况,如渗透测试;
4.躲避网络监控;
5.其他情况。
这里分享一下我的科学上网技巧,使用到的工具软件可能有 Shadowsocks、Lantern、Privoxy、Tor。根据不同的目的选择不同的工具。
在使用Python处理任务时,限于单线程处理能力有限,需要将任务并行化,分散到多个线程或者是多个进程去执行。
concurrent.futures就是这样一种库,它可以让用户可以非常方便的将任务并行化。这个名字有点长,后面我直接使用词汇concurrent来代替concurrent.futures。
安装完mysql后,此时只是本机访问mysql,其他的任何机器都是无法访问的,Navicat for mysql更是无法使用,然后进行如下操作:
1 | update user set host ='%' where user='root'; |
执行以上3个命令,本以为可以用Navicat 可以连接了,谁知还是报10061错误。
进入/etc/mysql/my.cnf
这个,找到bind-address=127.0.0.1
修改为bind-address = 0.0.0.0
重启mysql服务sudo service mysql restart
即可。
现在LNMP架构很流行,然而有时我们会遇到一个莫名其妙的问题,就是我们访问php页面时服务器返回”HTTP/1.1 500 Internal Server Error”错误。
这个错误让人匪夷所思,起初我以为是nginx的rewrite重写错误的缘故。其实是php代码语法错误导致的,主要是因为我把PHP的版本升级到了7.0,然而一些老的开源项目(比如douphp),它的运行环境是PHP5.4,项目里面的一些函数(如set_magic_quotes_runtime/mysql_connect)已经在PHP7.0版本废弃并且移除了,跑在高版本的PHP环境里就报错了。