Micrsoft Azure中国版的国际出口最近升级为电话线拨号模式,目测为10个用户共享一条56kb的电话线拨号链路。有图有真相:
Linux Package安装:
Azure上的确是保存了一些源的镜像,但是也缺少了很多。如果是CentOS或者RHEL系列的Linux,就用EPEL吧。EPEL默认包含了一些中国的镜像源(例如: mirrors.tuna.tsinghua.edu.cn)
sudo yum install epel-release
有了EPEL,CentOS系列操作系统的软件安装就不愁了。如果感觉这样不够彻底的话,可以把CentOS上默认的源全部替换掉。
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#centos 6
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
sudo cp CentOS6-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo
#centos 7
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
sudo cp CentOS7-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo
如果是Ubuntu Linux,这样替换软件仓库源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/azure.archive.ubuntu.com/mirrors.163.com/g' /etc/apt/sources.list
无论是CentOS还是Ubuntu,替换软件仓库源后,记得执行一下更新命令:
#ubuntu
sudo apt-get update
#centos
sudo yum update
除了网易的镜像外,国内还有阿里云(http://mirrors.aliyun.com/),中科大(https://lug.ustc.edu.cn/wiki/start)等。
NPM组件安装:
sudo npm install [组件名称] -g --registry=https://registry.npm.taobao.org
只要在原来的npm命令行中加入一个“registry”参数就搞定了。如果实在难以接受这个写着AliYun的url,那么就换成:“http://registry.cnpmjs.org”安慰一下自己吧。pia, pia...
Python PIP package安装:
pip3 install -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com [组件名称]
还好,这个是taobao的源,不是AliYun。顺便提一下,如果在Linux系统中执行pip出现"unsupported locale setting"错误,可以通过设置以下环境变量来修复:
export LC_ALL=C
看到这里,相信很多小伙伴们看懂了,其实就是用国内的源代替官方的源。其他语言的在线软件包也可以举一反三。例如:Ruby的gem包可以从这里安装:http://gems.ruby-china.org/;博客园在阿里云上为广大微软.net/c#开发者搭建了一个nuget的国内镜像:
在Linux命令行中使用proxy:
在windows系统中设置各种代理,对于国内的开发者来说已经是标配的技能了。其实Linux命令行中,可以这样来设置http代理:
export http_proxy=[代理服务器地址]:[代理服务器端口号]
执行完上述语句后,用curl下载文件或者访问页面就能用上http代理啦。不过,并非所有的Linux命令行程序都支持(识别)这个环境变量,很多命令行程序有自己的代理设置参数或者配置文件,具体可以参考其帮助文档。至于如何搭建http代理,不在本文讨论的范围。只要把http代理搭建在一个非Azure中国版的虚拟机或者物理服务器上就可以。
写到这里,相信已经可以帮助很多小伙伴们解决Azure中国版的国际出口带宽问题了。至于Windows Server操作系统,各位就照猫画虎吧。
如果您在一家高大上的公司,不屑于这些雕虫小技,同时也不缺钱的话,可以考虑选择世纪互联的multinational connectivity,这是有license的、合法的国际链路,而且100%支持从Azure中国版接入(需要一个独立的A1规格VM作为接入网关),按固定的带宽计费,提供SLA等。