在服务器上简单配置flask+uwsgi+nginx(只是可工作~嘿)

在服务器上简单的实现了flask+uwsgi+nginx的配置,记录如下

思路:
  • 在服务器上安装LNMP包
  • 安装uwsgi
  • 配置
步骤:
  • 安装LNMP包

这个包包含了nginx/mysql这些,直接安上即可,具体就请移步到官网(http://lnmp.org/install.html),跟着教程做吧….(嘿嘿)….

  • 安装uwsgi

安装也很简单,直接一个命令就解决了~~

pip install uwsgi
  • 配置
    1.uwsgi配置:
    uwsgi_config.ini,我是放在我的网站文件夹中的(/web/uwsgi_config.ini),想着方便管理一点儿
[uwsgi]
socket = 127.0.0.1:9090
chdir = /home/www/web
wsgi-file = View.py
callable = app
processes = 4
threads = 2
stats = 127.0.0.1:9191

上面便是我的配置,其中socket是用来uwsgi与nginx之间通信的,所以要记住哟,后边儿要用这个,然后chdir是你的项目的文件夹,wsgi-file便是启动文件哟

2.nginx配置:(nginx.conf)

server{
    listen 80;
    server_name  www.example.cc;

    location /{
        include uwsgi_params;
        uwsgi_pass  127.0.0.1:9090;
        uwsgi_param   UWSGI_PYHOME /home/www/web/venv;
        uwsgi_param   UWSGI_CHDIR  /home/www/web;
        uwsgi_param   UWSGI_SCRIPT  View:app;
    }
}

看到这上面这个配置,一下又让我想到了当时自己以为server_name那里自己随便取个就行了….╮(╯▽╰)╭(基础太差…太菜……),在上面这个配置中UWSGI_PYHOME这项如果flask项目没有采用virtualenv貌似就不用写的,自我理解的是这个参数为了让uwsgi在运行flask项目的时候使用虚拟环境中的pyhon来解析~~
nginx.conf这个文件,我也是放在flask项目的根目录,便于管理,因为我配置的这个服务器上已经存在一个项目了,占用着80端口,所以这里又涉及到了nginx多个域名解析的操作,其实很简单,操作如下:

  • 在nginx的conf文件夹中新建一个文件夹vhost
mkdir /usr/local/nginx/conf/vhost
  • 打开nginx.conf文件,然后在http{}的最后添加’include vhost/*.conf’
vim /usr/local/nginx/conf/nginx.conf
#添加include vhost/*.conf到http,如下:
...
http{
    ...
    include vhost/*.conf;
}
...
  • 最好执行如下命令即可完成配置:
sudo ln -s /home/www/web/nginx.conf /usr/local/nginx/conf/vhost
  • 以上几个步骤已经能够让服务器跑起来了,只是还需要一个东东才更方便,那便是supervisor,用它来引导uwsgi,它能够让uwsgi随同服务器启动并作为后台服务运行.
安装supervisor
sudo apt-get install supervisor
配置supervisor
[program:manager]
command = /home/www/web/venv/bin/uwsgi /home/www/web/uwsgi_config.ini
directory = /home/www/web
user = root
autostart = true
autorestart = true
stdout_logfile = /home/www/web/logs/uwsgi_supervisor.log

将上边儿这段代码保存为/home/www/web/supervisor.conf(还是保存在了我的网站根目录,接着执行下面命令,将它链接到/etc/supervisor/conf.d文件夹中

sudo ln -s /home/www/web/supervisor.conf /etc/supervisor/conf.d

最后启动supervisor,以及重启nginx

sudo service supervisor start
sudo service nginx restart
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask是一个基于Python的轻量级Web框架,它提供了简单易用的工具来构建Web应用程序。Flask具有灵活的设计,可以根据需求进行扩展和定制。它支持RESTful风格的API开发,并且具有良好的可扩展性,适用于开发小型到中型的Web应用。 uWSGI是一个Web服务器和应用服务器,它可以将Web应用程序从框架中分离出来,并通过WSGI协议与框架进行通信。它支持高并发和负载均衡,并且具有内置的缓存机制和性能监控。uWSGIFlask配合使用可以提高Web应用程序的性能和稳定性。 Nginx是一个高性能的开源HTTP服务器和反向代理服务器。它可以处理大量并发连接,并能有效地分发请求到后端服务器Nginx的反向代理功能可以将请求转发给uWSGI服务器,然后由uWSGI服务器处理Flask应用程序的逻辑。 使用FlaskuWSGINginx的组合可以实现一个高性能的Web应用程序架构。首先,Flask用于开发Web应用程序的逻辑和路由。然后,uWSGI作为应用程序服务器,将Flask应用程序加载到内存中,并以WSGI协议与Nginx进行通信。最后,Nginx作为前端服务器,通过负载均衡和反向代理将请求分发到uWSGI服务器。 这种架构可以提供高并发、可扩展和稳定的Web应用程序。Flask提供了优雅的开发方式,uWSGI处理应用程序的逻辑和性能优化,而Nginx作为前端服务器提供高性能的负载均衡和反向代理。整个架构可以根据需求进行灵活的配置和扩展,以满足不同规模的Web应用程序的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值