Published on March 17, 2013
Flask应用的部署刚开始确实有点伤脑筋,主要还是自己第一次接触这个领域,对一些模式只有略知一二。上个星期花费了很多时间才部署完毕,今天真巧有空发一下自己的笔记:(非root用户记得加sudo)
yum install python python-devel libxml2 libxml2-devel python-setuptools zlib-devel wget openssl-devel pcre pcre-devel sudo gcc make autoconf automake
wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz
tar -xzvf pip-1.3.1.tar.gz
cd pip-1.3.1
python setup.py install
cd ~
pip install virtualenv
在/projects目录下新建一个Project:
virtualenv /projects/project
source /projects/project/bin/activate
pip install Flask
在/projects/project目录下新建一个project.py,内容是:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "Hello world!"
if __name__ == '__main__':
app.run()
pip install gunicorn
easy_install supervisor
vim /etc/supervisord.conf
在里面写入:(1234可以更改为你喜欢的端口,只要和其他的端口不重合就行。root也可改为其他用户)
[program:project]
command = /projects/project/bin/python /projects/project/bin/gunicorn -b 127.0.0.1:1234 project:app
directory = /projects/project/
user = root
autostart = true
autorestart = true
stderr_logfile = /projects/project/logs/stderr.log
stdout_logfile = /projects/project/logs/stdout.log
新建logs文件夹:
cd /projects/project
mkdir logs
supervisord -c /etc/supervisord.conf
supervisorctl reread
supervisorctl update
supervisorctl start project
需要注意的是,每次更新/etc/supervisord.conf都要使用reread和update的指令。
如果开启失败,可以查看logs,整改后重启:
supervisorctl restart project
cd ~
rpm http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum install nginx
/etc/init.d/nginx start
chkconfig --add nginx
chkconfig nginx on
新建conf:
vim /etc/nginx/conf.d/project.conf
写入:(如果端口不是1234,注意下面的端口需要修改)
server {
listen 80;
server_name yourdomain.com;
access_log /projects/project/logs/access.log;
error_log /projects/project/logs/error.log;
location / {
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://127.0.0.1:1234;
}
}
location ~.*(js|css|png|gif|jpg|mp3|ogg)$ {
root /projects/project/;
}
}
service nginx reload
::...
免责声明:
当前网页内容, 由
大妈 ZoomQuiet
使用工具:
ScrapBook :: Firefox Extension
人工从互联网中收集并分享;
内容版权归原作者所有;
本人对内容的有效性/合法性不承担任何强制性责任.
若有不妥, 欢迎评注提醒:
或是邮件反馈可也:
askdama[AT]googlegroups.com
订阅 substack 体验古早写作:
点击注册~> 获得 100$ 体验券:
关注公众号, 持续获得相关各种嗯哼:
自怼圈/年度番新
关于 ~ DebugUself with DAMA ;-)
粤ICP备18025058号-1
公安备案号:
44049002000656
...::