flask应用的配置(使用uWSGI和Nginx在CentOS 7上搭建)

基础的Nginx 数据库等配置省略

创建python虚拟环境

sudo pip install virtualenv
mkdir ~/myproject
cd ~/myproject
virtualenv myprojectenv
source myprojectenv/bin/activate

安装 Flask 和 uWSGI

pip install uwsgi flask

创建一个小应用

vi ~/myproject/myproject.py
from flask import Flask
application = Flask(__name__) @application.route("/")
def hello():
return "<h1 style='color:blue'>Hello There!</h1>" if __name__ == "__main__":
application.run(host='0.0.0.0')

运行

python myproject.py

浏览器打开服务器5000端口,看到蓝色的Hello There!就表示成功了。

创建 WSGI 入口

vi ~/myproject/wsgi.py
from myproject import application

if __name__ == "__main__":
application.run()

运行

uwsgi --socket 0.0.0.0:8000 --protocol=http -w wsgi

浏览器打开服务器8000端口,看到蓝色的Hello There!就表示成功了。

创建uWSGI Configuration文件

vi ~/myproject/myproject.ini
[uwsgi]
module = wsgi master = true
processes = 5 socket = myproject.sock
chmod-socket = 660
vacuum = true die-on-term = true

创建Systemd Unit文件

sudo vi /etc/systemd/system/myproject.service
[Unit]
Description=uWSGI instance to serve myproject
After=network.target [Service]
User=user
Group=nginx
WorkingDirectory=/home/user/myproject
Environment="PATH=/home/user/myproject/myprojectenv/bin"
ExecStart=/home/user/myproject/myprojectenv/bin/uwsgi --ini myproject.ini [Install]
WantedBy=multi-user.target

这样就能用systemd命令控制我们的小应用了

sudo systemctl start myproject
sudo systemctl enable myproject

配置nginx

sudo nano /etc/nginx/nginx.conf

server {}上方添加一个server {}脚本

http {
. . . include /etc/nginx/conf.d/*.conf; server {
} server {
listen 80 default_server; . . .
server {
listen 80;
server_name server_domain_or_IP; location / {
include uwsgi_params;
uwsgi_pass unix:/home/user/myproject/myproject.sock;
}
}

将nginx user加入你的user group

sudo usermod -a -G user nginx

配置group的权限

chmod 710 /home/user

看看nginx配置文件有没有语法错误

sudo nginx -t

之后启动

sudo systemctl start nginx
sudo systemctl enable nginx

这样就能在80端口访问我们的小应用了!

Flask配置方法的更多相关文章

  1. Python的Flask框架使用Redis做数据缓存的配置方法

    flask配置redis 首先得下载flask的缓存插件Flask-Cache,使用pip下载. sudo pip install flask_cache 为应用扩展flask_cache   app ...

  2. Inside Flask - 配置的实现

    Inside Flask - 配置的实现 flask 的配置对象 app.config 本身使用很简单,无非就是以字典的形式使用,而它的实现,本身就是以字典的形式的. 在 flask/config.p ...

  3. Flask实战-留言板-使用Flask-DebugToolbar调试程序、Flask配置的两种组织形式

    使用Flask-DebugToolbar调试程序 扩展Flask-DebugToolbar提供了一系列调试功能,可以用来查看请求的SQL语句.配置选项.资源加载情况等信息.这些信息在开发时会非常有用. ...

  4. Flask配置方式

    目录 Flask配置方式 默认的配置参数 Flask配置方式 flask配置总共有四种方式: 第一种:直接在启动文件中进行配置 from flask import Flask app = Flask( ...

  5. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

  6. CentOS防火墙iptables的配置方法详解

    CentOS系统也是基于linux中的它的防火墙其实就是iptables了,下面我来介绍在CentOS防火墙iptables的配置教程,希望此教程对各位朋友会有所帮助. iptables是与Linux ...

  7. Wampserver 2.5 多站点配置方法

    写在开头:本文适用于wampserver2.5版本,和wamp的老版本配置有语法上的区别,笔者正是因为被老版本的配置办法给整迷糊了所以才总结了一篇针对2.5版本的配置方法,如果您还停留在1.x或着已经 ...

  8. docker网络配置方法总结

    docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.42.1/16,一个16位的子网掩码给容器提供了65534个IP地址.docker0只是一个在绑定到这 ...

  9. XAMPP中proftpd的简明配置方法

    XAMPP中proftpd的简明配置方法   用LAMPP的安装方法可以开一个默认的nobody用户,用lampp security就可以初始设置相应的默认用户密码.如果要有多用户,又怎样管理.目录怎 ...

随机推荐

  1. go语言从例子开始之Example32.打点器

    定时器 是当你想要在未来某一刻执行一次时使用的 - 打点器 则是当你想要在固定的时间间隔重复执行准备的.这里是一个打点器的例子,它将定时的执行,直到我们将它停止. Example: package m ...

  2. EBCDIC-1025 Russia

  3. EBCDIC 870 Poland

    Characters are shown with their equivalent Unicode codes.

  4. 《TED演讲的秘密》:TED组织者总结的演讲技巧集锦。三星推荐。

    对演讲感兴趣的可以看看.对TED内容感兴趣的也可以翻翻,书中有不少作者认为演讲技巧比较经典(一般来说内容上也有特色)的TED演讲的二维码.三星推荐.http://t.cn/RvFStu7

  5. Codeforces Round #554 (Div. 2) C.Neko does Maths (gcd的运用)

    题目链接:https://codeforces.com/contest/1152/problem/C 题目大意:给定两个正整数a,b,其中(1<=a,b<=1e9),求一个正整数k(0&l ...

  6. pip安装依赖包

    pip install -r requirements.txt setup.py 模块使用 https://blog.csdn.net/neil_pan/article/details/7900129 ...

  7. java super与this关键字图解、java继承的三个特点

  8. 小程序之背景音乐——wx.backgroundAudioManager

    var that = this; const back = wx.getBackgroundAudioManager(); back.onPlay(() => { console.log(&qu ...

  9. 理解Java构造器中的"this"

    Calling Another Constructor if the first statement of a constructor has the form this(...), then the ...

  10. onkeyup的使用(将输入值为非数字的字符替换为空)

    onkeyup:当输入值的键盘抬起时触发这个事件. 例如: onkeyup="this.value=this.value.replace(/\D/g,'') 这是个正则式验证,用来验证输入值 ...