请问Flask开发应用nginx与uwsgi应该如何部署,flasknginx,使用flask开发一个应
请问Flask开发应用nginx与uwsgi应该如何部署,flasknginx,使用flask开发一个应
使用flask开发一个应用,需要部署,可是按照网络上的一些blog总是会报各种错误,实在配置不好了,烦请大叫指教。
使用的是阿里云服务器,Ubuntu 12.04.4 LTS。
大致步骤是模仿开源中国步骤完成的,如果完全按照原来的步骤进行是可以访问的,但是如果更改成我只得代码就会报
502 Bad Gateway
我的代码是存放在Github
-----下面是我修改之后的配置文件。
1. 创建/var/www/flask-blog-test/flask-blog-test.conf
server { listen 80; server_name localhost; charset utf-8; client_max_body_size 75M; location /static { root /var/www/flask-blog-test/; } location / { try_files $uri @yourapplication; } location @yourapplication { include uwsgi_params; uwsgi_pass unix:/var/www/flask-blog-test/flask-blog-test.sock; }}
ln -s /var/www/flask-blog-test/flask-blog-test.conf /etc/nginx/conf.d//etc/init.d/nginx restart创建/var/www/flask-blog-test/flask-blog-test-uwsgi.ini
[uwsgi]#application's base folderbase = /var/www/flask-blog-test#python module to importapp = appmodule = %(app)home = %(base)/venvpythonpath = %(base)#socket file's locationsocket = /var/www/flask-blog-test/%n.sock#permissions for the socket filechmod-socket = 666#the variable that holds a flask application inside the module imported at line #6callable = app#location of log fileslogto = /var/log/uwsgi/%n.log
```
sudo mkdir -p /var/log/uwsgi
3. 启动uwsgi
uwsgi --ini /var/www/flask-blog-test/flask-blog-test-uwsgi.ini
4. 文件目录是
flask-blog-test
│
│──── venv
│ │──── bin
│ │────include
│ │──── lib
│ │──── local
│────app.py
│
│────static
│────templates
│────flask-blog-test-uwsgi.ini
│────flask-blog-test.conf
nginx+uwsgi+python+flask给你一个参考吧
1.修改/etc/nginx/nginx.conf文件
...http { ... ## # Virtual Host Configs ## #include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*.conf;}
默认配置基础上改了Virtual Host Configs:
include /etc/nginx/sites-enabled/*.conf;
2.创建/etc/nginx/sites-enabled/www.xxx.com.conf文件
server { listen 80; server_name www.xxx.com xxx.com; access_log /var/log/nginx/www.xxx.com.access.log; error_log /var/log/nginx/www.xxx.com.error.log; location / { include uwsgi_params; uwsgi_pass unix:///tmp/uwsgi_www.xxx.com.sock; }}
3.创建/etc/uwsgi/apps-enabled/www.xxx.com.ini文件
[uwsgi]plugins = pythonvhost = truechmod-socket = 666socket = /tmp/uwsgi_www.xxx.com.sockvenv = /var/www/www.xxx.com/envchdir = /var/www/www.xxx.commodule = runservercallable = app
用了virtualenv:
venv = /var/www/www.xxx.com/env
这是代码部署的目录:
chdir = /var/www/www.xxx.com
4.代码的结构
代码的目录是这样的:
├── env│ ├── bin│ ├── include│ ├── lib│ └── local├── runserver.py└── abc ├── __init__.py ├── models.py ├── static ├── templates └── views.py
代码目录里有一个runserver.py:
#coding=utf-8from abc import app...if __name__ == '__main__': ... app.run()
其中app是Flask对象
from flask import Flaskapp = Flask(__name__)
5.修改权限
sudo chmod -R 775 /var/www/www.xxx.com/sudo chown -R www-data:www-data /var/www/www.xxx.com/
6.记得安装uwsgi-plugin-python
sudo apt-get install uwsgi-plugin-python
编橙之家文章,
相关内容
- 想调用pymysql返回值中varchar内容怎么写,pymysqlvarchar,m
- Python有与reinterpret_cast类同的机制吗,,嗯这里&ldquo
- 请python高手帮我看看这段python代码中函数setter的用意,
- apache运行webpy项目遇到换行符无故增加的恼人问题,a
- Pyramid框架对于Audit审计功能应用参考书箱有什么?,py
- python3版本 tkinter gui写出来的程序最小化到系统托盘,
- 为什么python在eclipse中执行os命令不能正常运行,python
- Python pip安装需要再下载一次pip吗,pythonpip,我的pip的版
- Real Python PDF学习文档求分享,,这3个教程的名称是:C
- Python金山快盘API进行上传操作,返回405是什么原因,
评论关闭