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:圖片操作基本知識(二)
數據分析入門必看案例:泰坦尼克號倖存率研究

TAG:Python | Flask | CentOS |