Flask+uwsgi+Nginx环境搭建
- 开源软件准备
需要的软件列表:
setuptools-33.1.1.zip
Python-2.7.13.tgz
pip-9.0.1.tar.gz
nginx-1.10.3.tar.gz
软件统一上传到/usr/local/src/下,python是使用自己编译的。
- Python安装
先安装以下的软件(如果有的话,就可以不安装了,例如使用rpm -qa zlib-devel先查看下)
yum install zlib-devel -y
yum install openssl-devel -ytar -zxvf解压
./configure --prefix=/usr/local/python #安装到/usr/local/python目录下。
make
make install - setuptool和pip安装
unzip解压setuptool
/usr/local/python/bin/python setup.py installtar -zxvf解压pip
/usr/local/python/bin/python setup.py install - flask和uwsgi安装
使用pip安装flask和uwsgi
/usr/local/python/bin/pip install flask
/usr/local/python/bin/pip install uwsgi - nginx安装
先安装pcre-devel:
yum install pcre-devel -y./configure --prefix=/usr/local/nginx
make && make install - nginx使用uwsgi配置
cat /usr/local/nginx/conf/nginx.conf
#user nobody;
worker_processes 1; events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
sendfile on;
keepalive_timeout 65;
server {
listen 8080;
access_log /usr/local/nginx/logs/flask_access.log main;
error_log /usr/local/nginx/logs/flask_error.log error;
client_max_body_size 200M;
location / {
include uwsgi_params;
uwsgi_pass unix:/dev/shm/uwsgi.sock;
index index.html index.htm;
}
} }启动nginx:
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx注意:uwsgi_pass unix:/dev/shm/uwsgi.sock;需要和uwsgi的配置相对应!
- uwsgi配置
cat /root/uwsgi.ini[uwsgi]
uid = root
gid = root
socket = /dev/shm/uwsgi.sock
chmod-socket = 666
enable-threads = true
master = true
plugins = /usr/local/python/bin/python
vhost = true
workers = 5
max-requests = 1000
pidfile = /var/run/uwsgi.pid
daemonize = /var/log/uwsgi.log
chdir = /root/ops_dev/
module = ops_dev
callable = app启动uwsgi,有些报错没什么事:
/usr/local/python/bin/uwsgi /root/uwsgi.ini
- 编写测试样例进行测试
cat /root/ops_dev/ops_dev.py
# -*- coding: UTF-8 -*-
from flask import Flask
app = Flask(__name__) @app.route('/', methods=['GET', 'POST'])
def index():
return 'Hello world,Python ops_dev!'编写完需要重启uwsgi,开改动代码都需要重启uwsgi,直接使用pkill进行重启即可:
pkill uwsgi访问http://localhost:8080/进行测试。

访问日志记录(nginx和uwsgi的访问日志,可用来排错。):


Flask+uwsgi+Nginx环境搭建的更多相关文章
- Ubuntu下nginx+uwsgi+flask的执行环境搭建
选择web framwork是个非常艰难的事情, 主要分为轻量级和重量级框架. 因为没有搭建站点这样的须要, 所以回避SSH, Django这样的框架, 而选择一个轻量级框架. 自己也比較青睐pyth ...
- 写给新手看的Flask+uwsgi+Nginx+Ubuntu部署教程
学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...
- Flask+uwsgi+Nginx+Ubuntu部署教程
学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...
- Linux下PHP+Nginx环境搭建
PHP+Nginx环境搭建 作者:王宇阳( Mirror )^_^ 参考文章: Nginx+PHP+MySQL安装参考 PHP源码安装经验 PHP源码环境搭建过程中常见问题 CentOS环 ...
- Flask+uwsgi+Nginx+Ubuntu部署
学了一段时间flask,可是一直没有做过部署, 于是想着怎么部署呢, 想想,先吧服务给搞通吧,于是呢 就先想着去吧服务给搞起来,这里选择的是Flask+uwsgi+Nginx+Ubuntu, Pyth ...
- Nginx环境搭建与使用
一.背景 之前测试的项目前后端的"路由"(负责把前端发过来的请求转发到相应的后端服务上)要用Nignx来取代原来的tomcat的http server功能,做这个替换的原因是Nig ...
- Nginx 环境搭建 (windows)
Nginx 环境搭建 (windows) 资源 # nginx在线文档和支持 For online documentation and support please refer to nginx.or ...
- 【Nginx(一)】Centos下 Nginx环境搭建
Nginx环境搭建 系统环境: 腾讯云 Linux Centos7 1.下载nginx压缩包 ,上传到腾讯云服务器 http://nginx.org/en/download.html 或者使用dock ...
- 云效(阿里云)流水线 + nginx + uWsgi + flask + python3 基础环境搭建 --备忘
一.开发环境搭建 1.安装python3 yum -y groupinstall "Development tools" yum -y install zlib-devel bzi ...
随机推荐
- [Leetcode Week2]Merge Intervals
Merge Intervals题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/merge-intervals/description/ Descript ...
- 【C语言】一次内存泄露的分析的记录
今天运行一个程序,程序刚启动时占用内存很小,在运行过程中发现占用的内存会一直增大. 用cat /proc/pid/statm的方式查看发现也确实在一直增大. 而且这个程序移植到另外一个平台后,会直接无 ...
- twitter api的使用获取关注者的时间线
# -*- coding: utf-8 -*- from tweepy import OAuthHandler import datetime import pandas as pd import t ...
- HTML5-坦克大战一画出敌人坦克并让自己的坦克可以发子弹的功能(二)
上一篇博客只画出了,一个坦克,并让其可以上下左右移动,这篇博客将画出敌人的坦克,并让自己的坦克可以发子弹,但是还不是尽善尽美,还有一些问题,将会在下篇博客说明: html代码: <!DOCTYP ...
- 1.kafka的介绍
kafka是一种高可用,高吞吐量,基于zookeeper协调的分布式发布订阅消息系统. 消息中间件:生产者和消费者 举个例子: 生产者:做馒头,消费者:吃馒头,数据流:馒头 如果消费者宕机了,吃不下去 ...
- 定义序列化器时的read_only和write_only选项
# 转载请留言联系 read_only read_only表示只能读,不能进行修改.例如定义序列化器时,id字段通常指定read_only=True.在序列化时,即对象转为字典.JSON字符串时,字典 ...
- jquerycheckbox事件
https://stackoverflow.com/questions/7031226/jquery-checkbox-change-and-click-event $(document).ready ...
- 实现类似微信聊天功能的mysql表设计
前言: 最近设计了一套聊天功能,此功能支持人对人聊天.发送图片.查看聊天记录.按时间展示聊天列表.最后一条聊天数据及未读消息数 下面分享一下表结构及实现逻辑: 表结构: 1.聊天主表 id(主键id) ...
- docker官方文档中的dns,link,expose,publish
link是过时的了,尽量不要用. dns内部集成,也可以用外部. expose只是用于记录,并不真的. publish是否起作用,也要看情况,是否被占用端口. -------------------- ...
- Java-事务管理
1.事务的概念: 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功. 2. 管理事务: 2.1. 数据库默认的事务 数据库默认支持事务的,但是数据库默认的事务是一条sql语 ...