pip Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by ‘NewConnectionError

pip install django failed Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by ‘NewConnectionError Because of the regular user can not access https After several kinds of tries, I find that in my current user environment , I can not curl https urls. The shell tells me  Links rejected , 127.0.0.1:1080 can not access so, I know in the env I…

raspyberry install virtualenv virtualenvwrapper and choose python edition

创建python3.5虚拟环境 由于virtualenvwrapper是安装在python2.7下的,所以安装python3.5虚拟环境的时候需要指定python路径 mkvirtualenv -p d:\Python35\python3.exe env35_new01 Virtaulenvwrapper Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做: 将所有虚拟环境整合在一个目录下 管理(新增,删除,复制)虚拟环境 快速切换虚拟环境 … 安装方法 1、安装 virtualenvwrapper pip install virtualenvwrapper 2、创建目录存放虚拟环境 mkdir ~/.virtualenvs 3、在.bashrc中末尾添加 export WORKON_HOME=~/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh 4、 运行 source ~/.bashrc 命令列表: workon:列出虚拟环境列表 lsvirtualenv:同上 mkvirtualenv [envname]:新建虚拟环境 workon [envname]:切换虚拟环境 rmvirtualenv [envname]:删除虚拟环境 deactivate: 离开虚拟环境 cpvirtualenv [sorce] [dest]  #复制虚拟环境 pip freeze > requirements.txt  导出该环境下所有依赖到requirements.txt文件

centos 7 configure crontab crond

reference: https://www.cnblogs.com/ccdc/archive/2012/06/01/2529471.html 1、crontab相关命令 功能说明:设置计时器。 语  法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr] //没有设置配置文件的时候    crontab -l 显示no config  file for root 补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使用计时器的功能。 配置文件格式:Minute Hour Day Month DayOFWeek Command 参  数:  -e  编辑该用户的计时器设置。 -l  列出该用户的计时器设置。 -r  删除该用户的计时器设置。 -u<用户名称>  指定要设定计时器的用户名称。   2、crontab 配置文件格式   基本格式 : *      *   *   *   *  command 分   时  日  月  周   命令 第1列表示分钟1~59 每分钟用*或者…

jps Java vm Process Status Tool

jps(Java Virtual Machine Process Status Tool)是JDK1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程以及进程id。 jps 也是一样,它的作用是显示当前系统的java进程情况及进程id。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实例),并可通过opt来查看这些进程的详细启动参数。 使用方法:在当前命令行下打jps(jps存放在JAVA_HOME/bin/jps,使用时为了方便请将JAVA_HOME/bin/加入到Path) 。 $> jps 23991 Jps 23651 Resin 比较常用的参数: -q 只显示pid,不显示class名称,jar文件名和传递给main方法的参数 $>  jps -q 28680 23789 23651 -m 输出传递给main方法的参数,在嵌入式jvm上可能是null $> jps -m 28715 Jps -m 23789 BossMain 23651 Resin -socketwait 32768 -stdout /resin/log/stdout.log -stderr /resin/log/stderr.log -l 输出应用程序main class的完整package名或者应用程序的jar文件完整路径名 $> jps -l 28729 sun.tools.jps.Jps 23789 com.asiainfo.aimc.bossbi.BossMain 23651 com.caucho.server.resin.Resin…

centos7 最小化安装 手动命令行打开wifi使用nmcli

centOS7 最小化安装没有iw 等 命令工具,只能使用自带的NetworkManager工具。 命令是nmcli     可视化界面nmtui(dos界面可视化新建连接,连接wifi操作) nmcli d(查看网卡状态) nmcli dev wifi(查看可用wifi) nmcli d wifi connect “fengshu-zhuan” password “yourpassowrd”(连接无线网络) 在有些情况下,上述命令无法连接wifi(如centOS i57400 有BUG 可能是pcie总线错误导致)。但是该命令在/etc/sysconfig/network-scrips/目录下生成了  ifcfg-fengshu-zhuan   和 key-fengshu-zhuan两个文件来描述这个连接。(虽然没有连接成功,但是生成了连接描述文件) nmcli con up id “fengshu-zhuan”  改用此命令连接网络 如果出现 password or encryption keys are required to Warning: password for ‘802-11-wireless-secure Error: time out 错误 需要重启网卡后再次运行以上命令 重启网卡  ifdown wlp3s0            ifup wlp3s0 ref link: https://unix.stackexchange.com/questions/80126/how-to-connect-to-internet-using-nmcli nmcli 命令行方式连接wifi及删除连接操作 https://bbs.archlinux.org/viewtopic.php?id=221946

iptables more details

一:前言   防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。   目前市面上比较常见的有3、4层的防火墙,叫网络层的防火墙,还有7层的防火墙,其实是代理层的网关。   对于TCP/IP的七层模型来讲,我们知道第三层是网络层,三层的防火墙会在这层对源地址和目标地址进行检测。但是对于七层的防火墙,不管你源端口或者目标端口,源地址或者目标地址是什么,都将对你所有的东西进行检查。所以,对于设计原理来讲,七层防火墙更加安全,但是这却带来了效率更低。所以市面上通常的防火墙方案,都是两者结合的。而又由于我们都需要从防火墙所控制的这个口来访问,所以防火墙的工作效率就成了用户能够访问数据多少的一个最重要的控制,配置的不好甚至有可能成为流量的瓶颈。   二:iptables 的历史以及工作原理   1.iptables的发展:   iptables的前身叫ipfirewall (内核1.x时代),这是一个作者从freeBSD上移植过来的,能够工作在内核当中的,对数据包进行检测的一款简易访问控制工具。但是ipfirewall工作功能极其有限(它需要将所有的规则都放进内核当中,这样规则才能够运行起来,而放进内核,这个做法一般是极其困难的)。当内核发展到2.x系列的时候,软件更名为ipchains,它可以定义多条规则,将他们串起来,共同发挥作用,而现在,它叫做iptables,可以将规则组成一个列表,实现绝对详细的访问控制功能。   他们都是工作在用户空间中,定义规则的工具,本身并不算是防火墙。它们定义的规则,可以让在内核空间当中的netfilter来读取,并且实现让防火墙工作。而放入内核的地方必须要是特定的位置,必须是tcp/ip的协议栈经过的地方。而这个tcp/ip协议栈必须经过的地方,可以实现读取规则的地方就叫做 netfilter.(网络过滤器)       作者一共在内核空间中选择了5个位置,     1.内核空间中:从一个网络接口进来,到另一个网络接口去的     2.数据包从内核流入用户空间的     3.数据包从用户空间流出的     4.进入/离开本机的外网接口     5.进入/离开本机的内网接口          2.iptables的工作机制   从上面的发展我们知道了作者选择了5个位置,来作为控制的地方,但是你有没有发现,其实前三个位置已经基本上能将路径彻底封锁了,但是为什么已经在进出的口设置了关卡之后还要在内部卡呢? 由于数据包尚未进行路由决策,还不知道数据要走向哪里,所以在进出口是没办法实现数据过滤的。所以要在内核空间里设置转发的关卡,进入用户空间的关卡,从用户空间出去的关卡。那么,既然他们没什么用,那我们为什么还要放置他们呢?因为我们在做NAT和DNAT的时候,目标地址转换必须在路由之前转换。所以我们必须在外网而后内网的接口处进行设置关卡。            这五个位置也被称为五个钩子函数(hook functions),也叫五个规则链。 1.PREROUTING (路由前) 2.INPUT…

dnsmasq cannot start bugs error

root@yanggf:~# service dnsmasq restart Job for dnsmasq.service failed because the control process exited with error code. See “systemctl status dnsmasq.service” and “journalctl -xe” for details. resolve method: start dnsmasq  : sudo dnsmasq stop dnsmasq : kill -s 9 pid

iptables detail delete all and others

linux下清空iptables规则具体方法如下: iptables -t nat -F iptables -t nat -X iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT iptables -t mangle -F iptables -t mangle -X iptables -t mangle -P PREROUTING ACCEPT iptables -t mangle -P INPUT ACCEPT iptables -t mangle -P FORWARD ACCEPT iptables -t…

iptables 删除 nat

iptables 删除 nat表里的数据 1、PREROUTING是nat表的东西,而不是filter表,默认不写-t xxx就代表filter表 2、当iptables -t nat -D PREROUTING 2以后,规则只剩了6条,原第二条被删除,剩下的自动向上顶,原第三条变成了第二条,依此类推,原第七条变成了第六条 所以正确的做法是 iptables -t nat -D PREROUTING 2 执行6次 或者记录下第一条的规则,iptables -t nat -F PREROUTING,然后重写一下第一条

java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得

  http://www.cnblogs.com/hucn/p/3572384.html 我遇到这样的问题,本地部署时抛出异常java.lang.OutOfMemoryError:GC overhead limit exceeded导致服务起不来,查看日志发现加载了太多资源到内存,本地的性能也不好,gc时间消耗的较多。解决这种问题两种方法是,增加参数,-XX:-UseGCOverheadLimit,关闭这个特性,同时增加heap大小,-Xmx1024m。坑填了,but why? OOM大家都知道,就是JVM内存溢出了,那GC overhead limit exceed呢? GC overhead limt exceed检查是Hotspot VM 1.6定义的一个策略,通过统计GC时间来预测是否要OOM了,提前抛出异常,防止OOM发生。Sun 官方对此的定义是:“并行/并发回收器在GC回收时间过长时会抛出OutOfMemroyError。过长的定义是,超过98%的时间用来做GC并且回收了不到2%的堆内存。用来避免内存过小造成应用不能正常工作。“ 听起来没啥用…预测OOM有啥用?起初开来这玩意只能用来Catch住释放内存资源,避免应用挂掉。后来发现一般情况下这个策略不能拯救你的应用,但是可以在应用挂掉之前做最后的挣扎,比如数据保存或者保存现场(Heap Dump)。 而且有些时候这个策略还会带来问题,比如加载某个大的内存数据时频繁OOM。 假如你也生产环境中遇到了这个问题,在不知道原因时不要简单的猜测和规避。可以通过-verbose:gc -XX:+PrintGCDetails看下到底什么原因造成了异常。通常原因都是因为old区占用过多导致频繁Full GC,最终导致GC overhead limit exceed。如果gc log不够可以借助于JProfile等工具查看内存的占用,old区是否有内存泄露。分析内存泄露还有一个方法-XX:+HeapDumpOnOutOfMemoryError,这样OOM时会自动做Heap Dump,可以拿MAT来排查了。还要留意young区,如果有过多短暂对象分配,可能也会抛这个异常。 日志的信息不难理解,就是每次gc时打条日志,记录GC的类型,前后大小和时间。举个例子。 33.125: [GC [DefNew: 16000K->16000K(16192K), 0.0000574 secs][Tenured: 2973K->2704K(16384K), 0.1012650 secs] 18973K->2704K(32576K), 0.1015066 secs] 100.667:[Full GC [Tenured: 0K->210K(10240K), 0.0149142 secs] 4603K->210K(19456K), [Perm : 2999K->2999K(21248K)], 0.0150007 secs] GC和Full GC代表gc的停顿类型,Full GC代表stop-the-world。箭头两边是gc前后的区空间大小,分别是young区、tenured区和perm区,括号里是该区的总大小。冒号前面是gc发生的时间,单位是秒,从jvm启动开始计算。DefNew代表Serial收集器,为Default New Generation的缩写,类似的还有PSYoungGen,代表Parallel Scavenge收集器。这样可以通过分析日志找到导致GC overhead limit exceeded的原因,通过调节相应的参数解决问题。 文中涉及到的名词解释, Eden Space:堆内存池,大多数对象在这里分配内存空间。 Survivor…