2017年12月28日星期四

nginx反向代理之后flask无法获取真实访问ip

flask.request.remote_addr一直都是127.0.0.1

解决:https://www.jianshu.com/p/98bc849ef01a

proxy_set_header Host $host:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

以上的nginx配置我已经配置了的,将获取对端地址的代码修改为flask.request.headers['X-Real-Ip']即可。

所以代码如下所示:
try:
    url_param['ip'] = flask.request.headers['X-Real-Ip']
except KeyError:
    url_param['ip'] = flask.request.remote_addr

2017年12月19日星期二

mac使用bazel编译报错

TypeError: add() got an unexpected keyword argument 'replace'

原因:setuptools版本过低导致。

pip install --upgrade setuptools --user python

但pip list查看setuptools还是旧版本。然后顺便升级了一下mac系统,再发现setuptools版本正常了,可能是旧版本的mac系统的问题。

更新homebrew

brew update --verbose
如果遇到权限问题:sudo chown -R $(whoami) /usr/local
如果卡死不动,是github的下载速度或者连不上的问题。
更新完成后根据提示还原/usr/local的默认权限:sudo chown root:wheel /usr/local

brew upgrade xxx

其他命令参考:https://segmentfault.com/a/1190000004353419

2017年12月12日星期二

ubuntu安装python3.6

ubuntu14.04/16.04安装python3.6:
http://ubuntuhandbook.org/index.php/2017/07/install-python-3-6-1-in-ubuntu-16-04-lts/

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
sudo update-alternatives --config python3

2017年12月8日星期五

可用性和可靠性区别

可用性根据系统正常运行时间 / 总时间来度量。

可靠性是指系统可以无故障地持续运行,根据时间间隔来度量。一个例子:如果系统在每小时崩溃1ms,那么它的可用性就超过99.9999%,但是它还是高度不可靠。