django1.8+uwsgi+nginx+supervisord部署项目笔记

学这个搞了我2天。最好的东西学会了怎排除问题。

直接贴代码,我同时部署2个项目,一个直接返回‘ hello‘,另一个空。

hello 项目:

/root/27env/hello/uwsgi.ini:

##################################

[uwsgi]

vhost = false

plugins = python

socket = 127.0.0.1:8080

master = true

enable-threads = true

workers = 1

wsgi-file = /root/27env/hello/hello/wsgi.py

chdir = /root/27env/hello

########################

/etc/nginx/sites-available/hello.conf

###########################

upstream django {

server unix:///path/to/your/mysite/mysite.sock; # for a file socket

server 127.0.0.1:8080; # for a web port socket (we‘ll use this first)

}

# configuration of the server

server {

# the port your site will be served on

listen      8000;

# the domain name it will serve for

#server_name http://120.25.146.222:8000/; # substitute your machine‘s IP address or FQDN

charset     utf-8;

# max upload size

client_max_body_size 75M;   # adjust to taste

# Django media

# location /media  {

#     alias /path/to/your/mysite/media;  # your Django project‘s media files - amend as required

#  }

# location /static {

#    alias /path/to/your/mysite/static; # your Django project‘s static files - amend as required

# }

# Finally, send all non-media requests to the Django server.

location / {

uwsgi_pass  django;

include     uwsgi_params; # the uwsgi_params file you installed

}

}

###################################

需要执行sudo ln -s /etc/nginx/sites-available/zqxt.conf /etc/nginx/sites-enabled/zqxt.conf

启动nginx :

service nginx start

启动uwsgi :

uwsgi: --ini uwsgi.ini

使用supervisord管理:

/etc/supervisord.conf:

文件末端添加:

[program:hello]

command=/root/.pyenv/shims/uwsgi --ini /root/27env/hello/uwsgi.ini

directory=/root/27env/hello

startsecs=0

stopwaitsecs=0

autostart=true

autorestart=true

[program:wx]

command=/root/.pyenv/shims/uwsgi --ini /root/27env/wx/weixin_project/weixin_project/uwsgi.ini

directory=/root/27env/wx/weixin_project

startsecs=0

stopwaitsecs=0

autostart=true

autorestart=true

执行:supervisord -c /etc/supervisord.conf

操控:  supervisorctl

...

weixin_project:

uwsgi:

[uwsgi]

vhost = false

plugins = python

socket = 127.0.0.1:8001

master = true

enable-threads = true

workers = 4

wsgi-file = /root/27env/wx/weixin_project/weixin_project/wsgi.py

chdir = /root/27env/wx/weixin_project

nginx配置:

server{

listen    8002;

charset   utf-8;

client_max_body_size    75M;

location /{

uwsgi_pass  127.0.0.1:8001;

include    uwsgi_params;

uwsgi_connect_timeout    30;

}

}

。外网访问地址:http://120.25.146.222:8000/

http://120.25.146.222:8002/

相关学习资料:http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html#configure-nginx-for-your-site

http://www.jianshu.com/p/e6ff4a28ab5a

时间: 2024-10-24 15:10:02

django1.8+uwsgi+nginx+supervisord部署项目笔记的相关文章

Django1.11+Uwsgi+Nginx的生产环境部署

思路:使用runserver可以使我们的django项目很便捷的在本地运行起来,但是这只能在局域网内访问.正式环境部署的话比较安全,而且静态文件的处理方式会比较友好.nginx作为服务器的最前端,负责接收client的所有请求,静态请求由nginx自己处理,非静态请求通过uwsgi传递给django,由django来进行处理. 准备:1  一个django项目,能用runserver启动: 2 服务器基础环境,python2.7+uwsgi:使用pip install uwsgi安装,nignx

nginx+uwsgi+virtualenv+supervisor部署项目

一.导论 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收请求,处理请求,响应请求) 基于wsgi运行的框架有Bottle,Django,Flask,用于解析动态HTTP请求 支持WSGI的服务器 wsgiref python自带的web服务器 Gunicorn 用于linux的 python wsgi Http服务器,常用于各种django,flask结合部署服务器. mode_wsgi 实现了Ap

Flask+uwsgi+Nginx+Ubuntu部署教程

学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的过程就会重复一次.不知道多少人的膝盖中箭了呢?我也这样干过,这么做确实很蠢,所以我决定写一篇 Flask+uwsgi+Nginx+Ubuntu 的部署教程,解答一些我自己在这个过程中的疑问,从原理到方案,以一个小白的角度,总结一下部署.运维这件事,应该对初学 Flask 需要部署的同学有些帮助. 环

django2+uwsgi+nginx上线部署到服务器Ubuntu16.04(最新最详细版)

1.前期准备 1.打开Terminal终端,执行以下命令,将项目所需要的依赖包,都记录到一个文件内备用. pip freeze >requirements.txt 2.将项目文件夹→右键→添加压缩文件,压缩为zip包 3.准备软件 1.xshell(用于远程操作服务器) 2.FileZilla(用于从客户端将项目包上传到服务器) 3.Navicat 12 (用于同步数据库) 4.环境 云服务器/云主机:京东云 (云服务还是要选大厂的,我也试过一些比较小的厂的云服务,不说是哪家了,哇,简直是坑啊,

uWSGI + Nginx + Django 部署

1. uWSGI 服务器 Django 默认使用 WSGI(Python Web Server Gateway ) 作为 Web 服务器,一般仅用来作为测试使用,实际生产环境而是使用 uWSGI 和 Nginx 作为服务器. uWSGI 代码完全用C编写,效率高.性能稳定,但是处理 静态文件能力较弱,因此实际生产环境中,一般采用 uWSGI + Nginx 两者搭配使用: uWSGI:处理动态请求(css.js.图片文件等) Nginx:处理静态文件请求(提交表单.mysql.动态渲染 html

Flask+uwsgi+Nginx+Ubuntu部署

学了一段时间flask,可是一直没有做过部署, 于是想着怎么部署呢, 想想,先吧服务给搞通吧,于是呢 就先想着去吧服务给搞起来,这里选择的是Flask+uwsgi+Nginx+Ubuntu, Python选择的是2.7.2这个是Ubuntu系统自带的学起来感觉还是简单的 不用去软连,目前自己的flask是python3写的 ,慢慢去过渡,先吧这个给搞通了,那么在优化也是很顺手的.其实对于很多的原理自己也是一知半解,先吧这个给搭起来,慢慢去了解里面的逻辑什么的. Nginx Nginx 是高效的

Django+uwsgi+Nginx安装部署

安装 安装Nginx Nginx是最流行的高性能HTTP服务器. wget http://nginx.org/download/nginx-1.10.1.tar.gz tar -zxvf nginx-1.10.1.tar.gz cd nginx-1.10.1 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module make && make install 安装MySQL-python MySQL-python

阿里云 centos7 django + uWSGI+Nginx + python3 部署攻略

centos7+nginx+python3+django+uwsgi配置Django 项目部署 1.租的服务器(选择centos)的话,需要在阿里云后台控制台开放几个端口,克隆一下已开放的端口,tcp自定义就行,mysql(3306),nginx(8000以上都行).(都切换到root用户操作) 2.安装python3 3.安装nginx 4.安装mysql(这一步如果暂时用不上数据库也可以不操作) 5.确定2,3两步安装成功了,接下来就用pip3 安装django 和uwsgi, 在进行下一步

【Flask】flask+uwsgi+nginx环境部署

在centos上,部署flask框架的环境,我选择了uwsgi和nginx 具体步骤为: 配置nginx+uwsgi 安装nginx  nginx/1.12.2安装Flask  0.10.1安装uwsgi  2.0.16(64bit)安装uwsgi-plugin-python 2.0.16 创建一个flask项目 1 #!/usr/bin/python 2 # coding=utf-8 3 4 from flask import Flask 5 import sys 6 reload(sys)