Python

Nginx反向代理 + Flask + gunicorn 架構解決獲取用戶真實ip問題

其實這個問題在Nginx + uwsgi + django 上是不存在的,因為nginx 與uwsgi鏈接是可以通過sock文件的,而nginx + flask 只能通過普通的反向代理。 所以就會出現一個nginx 反向代理常見的問題,實際對flask 發起的請求是由ningx完成,所以獲取到的ip是服務器本機的地址,甚至是機器的內網地址。 uwsgi+nginx+django 我們…繼續閱讀 »
Python

解決python模塊報錯:“bz2 module is not available, No module named ‘_bz2’”

之前python在用pip安裝scrapy模塊的時候遇到過這個情況,但只是記筆記沒有總結出來,今天又遇到了一次,索性博客記錄一下。 解決方案 安裝?bzip2-devel: 方法一: yum install bzip2-devel 方法二: 如果不行,可以編譯安裝: wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz?&& tar -zxf bzip2-1.0.6.tar.gz &&…繼續閱讀 »
Python

nginx+uwsgi完美配置文件,解決“upstream prematurely closed connection”報錯

這段時間在折騰django,一開始用單一的uwsgi控制web訪問,雖然說沒有什么大問題,但是很多東西沒法配置,比如超時時間,uwsgi雖然有個“harakiri”配置項,但并沒有什么作用。 所以終究還是需要接口nginx來做前端代理,但是在代理的出現了一個問題,前端一直沒有響應,nginx錯誤日志(/var/log/nginx/e…繼續閱讀 »
Python

Python selenium+PhantomJS實現爬取動態JS[自定義header]

爬取js的必要性在這里就不必多說了,也就是直接請求html并不會返回js所加載的數據,只有經過瀏覽器渲染后才回出現數據,比如在http://s.tool.chinaz.com/same 查詢出的數據是經過js加載的(一方面為了數據不會被搜索引擎爬取,另一方面降低服務器并發負載)。 這種情況python一般可以用PhantomJS實現,這個工具…繼續閱讀 »
羽毛球地板胶