CentOS7.2+Python3x+Flask部署標準化配置流程

轉自:https://zhuanlan.zhihu.com/p/24554242html

 

Step1.安裝最基本的開發工具,吐槽一下除此以外的任何垃圾教程python

# yum groupinstall "Development tools"
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

Step2.下載代碼 configure → make → make altinstallnginx

3.5.2下載安裝同 下:sql

 

# 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公用庫vim

# echo "/usr/local/python/lib" >> /etc/ld.so.conf
# ldconfig

Step4.安裝Python3.4至 /usr/local/bin/centos

# ln -s /usr/local/python/bin/python3.4 /usr/local/bin/python

 

Step5. 確認是否安裝正確瀏覽器

# /usr/local/python/bin/python3.4 -V
# python -V

 

 

Step6.安裝Easy_Installbash

# 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.安裝Virtualenvapp

# pip install virtualenv
# ln -s /usr/local/python/bin/virtualenv /usr/local/bin/virtualenv

Step9.安裝Virtualenvwrapper

# pip install virtualenvwrapper

Step10.配置Virtualenvwrapper參數設定

$ vim ~/.bashrc
if [ -f /usr/local/python/bin/virtualenvwrapper.sh ]; then
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/python/bin/virtualenvwrapper.sh
fi

補充virtualenvwrapper用法

 

1.建立環境

mkvirtualenv env1
mkvirtualenv 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數據分析及可視化實例目錄

相關文章
相關標籤/搜索