最近一星期加班為學校做了一個教師發展中心平台,在此總結一下部署經驗
環境:Centos7.0 python2.7.5
1.安裝nginx
命令行輸入指令:sudo yum install nginx
2.安裝pip
1. sudo yum –y install epel-release
2. sudo yum –y install python-pip
3.安裝virtualenv
pip install virtualenv
在應用程序目錄創建虛擬環境 virtualenv venv
4.激活虛擬環境
在目錄下home/magicroc/flasky
virtualenv venv
source /bin/activate
5.虛擬環境下安裝uwsgi服務器
pip install uwsgi (需安裝三個庫 )
1.sudo yum install libxml2
2.sudo yum install gcc
3.sudo yum install python-devel
6.安裝flask應用程序依賴包
因為pip安裝時速度太慢,所以決定更改為pip國內源
對指定包對安裝臨時使用豆瓣源
pip install flask_sqlalchemy –i http://pypi.douban.com/simple
永久更新源辦法 修改配置文件
在主目錄下創建.pip文件夾
mkdir ~/.pip
然后在該目錄下創建pip.conf文件
vi pip.conf
寫入以下內容
[global]
trusted-host = pypi.douban.com
index-url = http://pypi.douban.com/simple
7.修改nginx配置文件(最后不要直接修改nginx.conf默認文件,筆者這里是直接修改默認配置文件,不過不推薦這種行為)
vi etc/nginx/nginx.conf
server {
listen 80;
server_name XXX.XXX.XXX; #公網地址
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001; # 指向uwsgi 所應用的內部地址,所有請求將轉發給uwsgi 處理
uwsgi_param UWSGI_PYHOME /home/magicroc/flasky/venv; # 指向虛擬環境目錄
uwsgi_param UWSGI_CHDIR /home/magicroc/flasky; # 指向網站根目錄
uwsgi_param UWSGI_SCRIPT manage:app; # 指定啟動程序
}
}
啟動nginx:命令行輸入nginx
關閉nginx:ps -ef|grep nginx
查看nginx 線程ID
kill -QUIT 線程ID
8.修改uwsgi配置文件
進入flask應用程序目錄 vi config.ini
[uwsgi]
# uwsgi 啟動時所使用的地址與端口
socket = 127.0.0.1:8001
# 指向網站目錄
chdir = /home/magicroc/flasky
# python 啟動程序文件
wsgi-file = manage.py
# python 程序內用以啟動的 application 變量名
callable = app
# 處理器數
processes = 4
# 線程數
threads = 2
#狀態檢測地址
stats = 127.0.0.1:9191
uwsgi 啟動 :虛擬環境下uwsgi config.ini
uwsgi 關閉:虛擬環境下killall -9 uwsgi