Python數據分析及可視化實例之CentOS7.2+Python3x+Flask部署標準化配置流程
我不是程序員,也不是設計師,我只是碰巧有一些想法和一台電腦。
I am not a designer nor a coder. Im just a guy with a point-of-view and a computer.沒錯,用就用最新的,噴子繞道,需要轉載的請註明出處:yeayee.com
曾用一天的時間查閱博客園、CSDN等文章都米有較好的解決該該問題,後來終於搞定了,做個記錄,嚴格按照下面的Step,好用不謝哈:)
再次強調嚴格按此執行不返工!
@靳洪飛
Step1.安裝最基本的開發工具,吐槽一下除此之外的任何垃圾教程
# yum groupinstall "Development tools"# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
Step2.下載代碼 configure → make → make altinstall
3.5.2下載安裝同 下:
# cd /usr/local/src# wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz# tar -zxvf Python-3.4.3.tgz # cd Python-3.4.3# ./configure --prefix=/usr/local/python# make && make altinstall
Step3.安裝Python3.4公用庫
# echo "/usr/local/python/lib" >> /etc/ld.so.conf# ldconfig
Step4.安裝Python3.4至 /usr/local/bin/
# ln -s /usr/local/python/bin/python3.4 /usr/local/bin/python
Step5. 確認是否安裝正確
# /usr/local/python/bin/python3.4 -V# python -V
Step6.安裝Easy_Install
# cd /usr/local/src# wget https://pypi.python.org/packages/source/s/setuptools/setuptools-18.0.1.zip# unzip setuptools-18.0.1.zip# cd setuptools-18.0.1# /usr/local/bin/python setup.py install# ln -s /usr/local/python/bin/easy_install /usr/local/bin/easy_install
Step7.安裝Pip
# /usr/local/bin/easy_install pip# ln -s /usr/local/python/bin/pip /usr/local/bin/pip
Step8.安裝Virtualenv
# pip install virtualenv# ln -s /usr/local/python/bin/virtualenv /usr/local/bin/virtualenv
Step9.安裝Virtualenvwrapper
# pip install virtualenvwrapper
Step10.配置Virtualenvwrapper參數設定
$ vim ~/.bashrcif [ -f /usr/local/python/bin/virtualenvwrapper.sh ]; thenexport WORKON_HOME=$HOME/.virtualenvssource /usr/local/python/bin/virtualenvwrapper.shfi
補充virtualenvwrapper用法
1.創建環境
mkvirtualenv env1mkvirtualenv env2
環境創建之後,會自動進入該目錄,並激活該環境。
2.切換環境
workon env1 # # (運行:ls ~/.virtualenvs 可見)workon env2
3.列出已有環境
workon
4.退出環境
deactivate
5.刪除環境
rmvirtualenv
6.創建project
項目將創建到PROJECT_HOME目錄下,實際上相當於在某個目錄下,建了一個環境。
mkproject
補充配置nginx
1.下載nginx
yum install nginx
2.啟動nginx服務
systemctl start nginx
3.配置
默認的配置文件在 /etc/nginx 路徑下,使用該配置已經可以正確地運行nginx;如需要自定義,修改其下的 nginx.conf 等文件即可。
4.測試
在瀏覽器地址欄中輸入部署nginx環境的機器的IP,如果一切正常,應該能看到如下字樣的內容。
5. 列出所有埠狀態
netstat -ntlp
配合 kill -9 pid
補充Gunicorn配置
Gunicorn 綠色獨角獸 是一個Python WSGI UNIX的HTTP伺服器。這是一個pre-fork worker的模型,從Ruby的獨角獸(Unicorn )項目移植。該Gunicorn伺服器大致與各種Web框架兼容,只需非常簡單的執行,輕量級的資源消耗,以及相當迅速。
Gunicorn 應該裝在 virtualenv 環境下,安裝前記得激活workon env1!
(venv) $ pip install gunicorn
一行搞定運行Web:
(venv) $ gunicorn -w 4 -b 127.0.0.1:8080 wsgi:application
註:各個參數的具體含義相信都能找到。
補充進程守護
Supervisor守護神不支持python3,centos7不支持Upstart,蛋疼!
截至現在仍舊沒有找到解決方案,但是意外收穫了systemd作為守護神保護常規的python程序進程。
有關systemd的介紹和使用推薦阮一峰老師的以下兩篇博客,寫的非常詳細和全面
- 命令篇
- 實踐篇
這一篇就寫到這裡,部署就這樣啦,中途會出現一些BUG,可以肯定是你程序的問題,仔細檢查哈!
膠水語言博大精深,
本主只得一二為新人帶路,
老鳥可去另一專欄:Python中文社區
新手可查閱歷史目錄:
Python數據分析及可視化實例目錄
最後,別只收藏不關注哈
推薦閱讀:
※Flask 實現小說網站 (二)
※Python實現3D建模工具
※Flask模板引擎:Jinja2語法介紹
※OpenCV:圖片操作基本知識(二)
※數據分析入門必看案例:泰坦尼克號倖存率研究