最近一星期加班爲學校作了一個教師發展中心平臺,在此總結一下部署經驗python
環境:Centos7.0 python2.7.5nginx
1.安裝nginxsql
命令行輸入指令:sudo yum install nginxflask
2.安裝pip服務器
1. sudo yum –y install epel-release
2. sudo yum –y install python-pip
3.安裝virtualenv
pip install virtualenvapp
在應用程序目錄建立虛擬環境 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默認文件,筆者這裏是直接修改默認配置文件,不過不推薦這種行爲)python2.7
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 uwsgisocket