首页 > 系统相关 >【服务器uwsgi + flask + nginx的搭建】

【服务器uwsgi + flask + nginx的搭建】

时间:2024-04-04 21:31:30浏览次数:24  
标签:__ 启动 flask app nginx uwsgi

目录

服务器uwsgi + flask + nginx的搭建

1. 安装必要的软件

安装Python、uWSGI、Flask 和 Nginx。

# Ubuntu 安装命令
sudo apt-get update
sudo apt-get install python3 python3-pip nginx
pip3 install uwsgi flask

2. 启动nginx服务

systemctl start nginx

3. 测试Nginx

在浏览器地址栏输入IP(本机则为127.0.0.1或localhost)地址,进而测试nginx是否安装成功

4. 配置uwsgi和flask

  • 新建一个服务目录app并进入目录mkdir /data&& cd /data
  • 新建一个py文件vim test.py,粘贴如下内容:
    from flask import Flask, request
    
    app = Flask(__name__)
    
    @app.route('/', methods=['GET', 'POST'])
    def hello():
        return 'Hello, flask!'
    
    if __name__ == '__main__':
        app.run()
    
  • 新建一个ini文件uwsgi.ini,粘贴如下内容:
    [uwsgi]
    #uwsgi启动时所使用的地址和端口
    socket=127.0.0.1:5000
    #指向网站目录
    chdir=/app
    
    #python启动程序文件
    wsgi-file=test.py
    #python程序内用以启动的application变量名
    callable=app
    
    #处理器数
    processes=1
    
    #线程数
    threads=2
    
    #状态检测地址
    stats=127.0.0.1:9191
    
    #保存启动之后主进程的pid
    pidfile=uwsgi.pid
    
    #设置uwsgi后台运行,uwsgi.log保存日志信息 自动生成
    daemonize=uwsgi.log
    
  • 运行uwsgi serveruwsgi --ini uwsgi.ini
  • 执行以下命令查看uwsgi服务启动情况,看到如下图效果是服务启动成功:
    ps aux | grep uwsgi
    
    在这里插入图片描述

5. 配置nginx

  • 创建配置文件vim /etc/nginx/conf.d/app.conf,并粘贴如下内容
    server {
        listen 80;
        server_name app.example.com;
    
        location / {
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:5000;
        }
    }
    
  • 重启nginxnginx -s reload
  • 验证配置是否成功
    curl http://localhost
    
    执行结果为Hello, flask!表示服务配置成功

标签:__,启动,flask,app,nginx,uwsgi
From: https://blog.csdn.net/qq_38641481/article/details/137382179

相关文章

  • 可以取代宝塔和Nginx的Web服务器:Caddy
    一、安装官网文章:https://caddyserver.com/docs/install我们的服务器是Ubuntu,在官网上得到下述5条命令,复制粘贴后即可安装成功:sudoaptinstall-ydebian-keyringdebian-archive-keyringapt-transport-httpscurlcurl-1sLf'https://dl.cloudsmith.io/public/caddy/stable......
  • Caddy进阶:因为Nginx占用了80和443端口导致Caddy无法启动
    日志里面有个红色的error,表示安装后没有启动caddy的服务。看了很多文章,感觉都没有把我当小白。自己折腾了几个小时,总算搞明白了。1、如果80端口和443端口被其它程序(比如Nginx)占用了,得先卸载Nginx。查看443端口被谁占用了:root@web005:~#sudolsof-i:443COMMANDPIDUSE......
  • Flask01
    1新建虚拟环境2在PyCharm中创建一个NewProject用PurePython或新建一个py文件3基础代码app.pyfromflaskimportFlaskimportconfigapp=Flask(__name__)app.config.from_object(config)#flask路由是基于装饰器的"""装饰器执行过程:先执行加括号(),然后......
  • 有了uWGSI服务器,Django 为什么还需要 Nginx?
     一个普通的个人网站,访问量不大的话,当然可以由uWSGI和Django构成。但是一旦访问量过大,客户端请求连接就要进行长时间的等待。这个时候就出来了分布式服务器,我们可以多来几台Web服务器,都能处理请求。但是谁来分配客户端的请求连接和Web服务器呢?Nginx就是这样一个管家......
  • 使用VPS搭建本地可以访问的gemini(个人记录)参考github,cloudflare,nginx
    第一步:购买一台VPS服务器,可以正常ping通google和baidu,不可细说 第二步:参考这个网站的docker部分,docker到linux服务器中,不使用vercel部署(被墙)https://juejin.cn/post/7317700926826922035docker项目地址:https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.......
  • 一文搞懂 CGI, FastCGI, WSGI, uWSGI, uwsgi
    CGI:CommonGatewayInterfaceWSGI:WebServerGatewayInterface 图解注意: django项目是跑在uWSGIweb服务器上的 问题:有uWGSI了,Django为什么还需要Nginx?一个普通的个人网站,访问量不大的话,当然可以由uWSGI和Django构成。但是一旦访问量过大,客户端请求连......
  • 搭建nginx-http-flv-module直播系统
    目录一、说明二、准备三、安全四、环境配备五、开始安装六、配置nginx直播模块七、修改完毕重启Nginx......
  • Nginx服务器根据不同路径转发到不同的服务
    环境说明linux系统版本:lsb_release-a  Nginx版本:1.24.0  .1.配置nginx服务。.a.先配置upsream;backend名字可以自己任意取,里面可以配置多个server;同样upstream也可以配置多个。.b.然后在server中配置location。以下图为例,第一个配置路径配置直接匹配exam,然后将......
  • 记一次nginx服务异常-无法访问问题排查
    上一秒还好好地,突然下一秒nginx服务器就访问不了啦。这让人很是疑惑,到底是什么原因导致的呢?问题如下  开始一步一步地排查问题。尝试一:在windows电脑上使用telnet命令查看端口是否正常联通。测试结果发现可以正确联通。  说明端口是打开的,并且可以正确联通。 ......
  • 关于openEuler系统的基本环境配置(包括nginx,mysql5.7和java1.8)
    关于openEuler系统的基本环境配置(包括nginx,mysql5.7和java1.8)观前BB:openEuler虽然是国产系统,但是本质还是centos的套壳系统,你可以通过(uname-a)命令得以观察出,而且系统更类似于centos8(这个还有待确认),这就导致了安装环境的时候经常会出现奇奇怪怪的错误(比如yum找不到源什么的),本......