python服务器环境搭建Flask,uwsgi和nginx

环境配置

服务器配置

【部署系统环境Ubuntu】

使用python的Flask框架搭建好网页后台后,便要开始将网站部署到服务器平台了。为了部署python服务器,我选择使用uwsgi和nginx。

使用Nginx和uWSGI来运行Python应用

Nginx

Nginx是高效的Web服务器和反向代理服务器,同时并发高,部署简单,内存消耗小,最重要的是,支持uWSGI的uwsgi协议,可以直接使用,一个简单的uwsgi_pass就可以将动态内容交给uWSGI处理。

uWSGI

至于为什么不直接使用Flask运行程序而是uWSGI,那是因为,Flask都说明了,不要使用它来作为生产环境,那是因为,它说了,不要使用⊙﹏⊙‖∣°

安装uwsgi和nginx

安装uwsgi

安装uwsgi使用简单的pip命令即可安装

pip install uwsgi

查看uwsgi版本

uwsgi --version

安装Nginx

安装Nginx使用apt-get即可

apt-get install nginx

#如果是使用本机安装测试,由于默认不是最高权限使用以下命令即可:

sudo apt-get install nginx

配置文件

配置uwsgi

现在服务器环境也搭建好了,那么就要开始配置运行文件。假如此时我将python文件放在/var/www/myapp文件夹中。

配置uwsgi有很多种方式,例如直接使用命令行运行,不过我觉得将参数写在一个文件中,再运行是最好不过的了。【其他的配置方法可以百度或则google】

首先在myapp文件夹中创建一个配置文件"myapp.ini":

[uwsgi]

socket = 127.0.0.1:6001

;将Flask应用运行在这个端口

master = true

wsgi-file = app.py

;后端文件名称

callable = app

;设置在收到请求时,uWSGI加载的模块中哪个变量将被调用,默认是名字为“application”的变量。即是: app = Flask(__name__)

processes = 4

threads = 2

daemonize = server.log

;日志保存文件名称 【位置默认在app.ini 目录下】

配置nginx

在/etc/nginx目录下新建文件夹app_nginx,进入app_nginx文件,新建myapp_nginx.conf文件

server {

listen 80; #监听服务器的80端口

server_name xxx.xx; #你的域名,前提是你要将你的域名解析到你的服务器的ip地址

charset utf-8;

location / {

include uwsgi_params; #添加uwsgi参数

uwsgi_pass 127.0.0.1:6001; #你的Flask应用运行端口,和上面的对应

}

}

然后配置修改/etc/nginx/nginx.conf文件

在如图所示位置【图片中倒数第4行】添加

include /etc/nginx/app_nginx/*.conf; #将app_nginx所有配置文件导入

ps:如果我们要搭建多个Flask应用,只需要再写一个

conf和

ini就行了

启动

启动uwsgi

在/var/www/myapp目录下启动uwsgi:

uwsgi myapp.ini

启动nginx

service nginx start #启动nginx

#或则 service nginx restart 重启nginx

完成

这时候,你在浏览器中输入你的域名,就可以看到一个漂漂亮亮的网页了

python服务器搭建nginx_python服务器环境搭建Flask,uwsgi和nginx相关推荐

  1. WinMail邮件服务器(客户端)环境搭建与配置

    WinMail邮件服务器(客户端)环境搭建与配置       一.在搭建WinMail邮件服务器(客户端)之前必备             (1).在虚拟机上安装两个干净无毒的操作系统         ...

  2. python安装包_Python开发环境搭建

    本文是基于最新的版本python3的,俗话说:工欲善其事必先利其器.做自动化测试的第一步必须会搭建基本的自动化测试环境,掌握python基本的语法和一个IDE工具来进行开发,下边会详细介绍怎么搭建py ...

  3. pythonapp自动化_基于python的App UI自动化环境搭建

    Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows: 1.系统变量→新建 JAVA_HOME 变量 E:\Java\jdk1.7.0 jdk安装目录 2.系统 ...

  4. VScode/PyCharm+Anaconda+pyQt5的Python工程协同开发(环境搭建及项目配置)

    1.背景 之前对python的应用一直停留在写个main函数,写段逻辑,完成一个目的的阶段,不知道读者的学习路线是如何的? 至于python环境的搭建,个人实际上经历了以下几个阶段: ①早期接触时,从 ...

  5. c#服务器后台搭建_【环境搭建】Docker简明安装教程

    背景 在前面的文章中介绍了docker,这里讲讲它的安装 CZMan95:[环境搭建]Docker篇​zhuanlan.zhihu.com 在服务器上安装docker的话还是有些操作,所以这里写个简明 ...

  6. mysql 搭建日志服务器_rsyslog+mysql+loganalyzer 环境搭建日志服务器

    环境:CentOS6.6 rsyslog+mysql+loganalyzer 环境搭建日志服务器 Client端:192.168.2.10 MySQL服务器:192.168.2.11 # Client ...

  7. 手把手教你阿里云服务器的购买及环境搭建

    1.服务器相关 程序员都需要一个自己的服务器! 用于发布自己的网站和项目! 用于操作系统的练习! 将自己的远程仓库.远程数据库.远程tomcat- 搭建在服务器上! 用于Linux进行任意的环境部署操 ...

  8. 基于Linux服务器的JAVA开发环境搭建

    Linux服务器开发环境搭建 Linux安装Java 一.使用yum查询JDK 二.执行安装命令 三.验证java是否安装成功 四.安装开发环境 Linux安装Nginx 一.安装前环境检查 二.下载 ...

  9. Windows云服务器如何进行PHP环境搭建?

    之前有分享过用云服务器+Wordpress模板搭建网站的大致过程,因为在前期需要准备: 1.云服务器,因为网站规模和访问量都不大,所以选的是小鸟云1核1g的配置,再加上是BGP线路,无论是移动联通电信 ...

最新文章

  1. Cesium中级教程9 - Advanced Particle System Effects 高级粒子系统效应
  2. FolderBrowserDialog(文件夹浏览对话框)
  3. html video 设置进度条不可拖动_PHP大文件切割上传并带上进度条功能,不妨一试...
  4. ubuntu14.04下apt-get install出现E: Sub-process /usr/bin/dpkg returned an error code 解决方法
  5. 【数据结构与算法】之深入解析“石子游戏IX”的求解思路与算法示例
  6. Java精确到毫秒获取时间的三种方法,以及适用场景
  7. Asp.Net Core Identity 骚断腿的究极魔改实体类
  8. linux查找postgre进程,postgresql数据库某一个进程占用大量CPU,问题排查详解
  9. 新基建带来新机遇!大数据产业发展需“四驱”推动
  10. Redmi发布98寸电视:屏占比98.8%、价格仅为友商1/5
  11. C++头文件<functional>和bind、placeholders占位符使用简单例子
  12. python自动监测动态视频_Python自动化检测的动态属性
  13. https://www.runoob.com/python/python-variable-types.html
  14. java之接口适配器
  15. ai怎么做波普风圆点_AI绘画教程,绘画波普艺术风格人像
  16. socket 服务器
  17. 通用数据权限的设计思路
  18. html标签嵌套规则
  19. MongoDB Mobile Sync for iOS推出Beta版本
  20. This scheduler instance (XXXXX) is still active but was recovered by another

热门文章

  1. Hive窗口函数(over/partition by/order by/window/序列函数)总结与实践
  2. 城市智慧路灯综合管理平台、图监控、灯箱实时监控、策略管理、故障报警、灯具管理、数据统计、故障分析、开关灯记录分析、区域管理、分组管理、DIV+CSS布局设计、HTML/Bootstrp/jQuery
  3. Python入门学习笔记(7)
  4. 24.Linux-Nand Flash驱动(分析MTD层并制作NAND驱动)
  5. 新浪的动态策略灰度发布系统:ABTestingGateway
  6. 编译器为C++ 空类自动生成的成员函数
  7. DSAPI.网络.网卡信息属性表
  8. 17-8-26-WebApp总结
  9. MySql(13)—— MySQL查询行锁、解锁
  10. Spring框架知识要点总结(第一天)