django + nginx + uwsgi部署

一直用python manage.py方式跑项目代码,因涉及到http api接口,现需要用nginx+uwsgi代理访问......  这个东西不弄不知道,一弄吓一跳;;崩溃的心都有啊........

版本:

nginx: 1.2.1

uwsgi: 1.9.20

django: 1.6.4

工程目录:/var/www/oms

工程APP目录:  /var/www/oms/asset

uwsgi配置文件目录: /var/www/oms/uwsgi

1.工程目录放置正确,不然就无厘头事件各种有

/var/www/oms

//因采用ini配置文件,在配置文件中有一项chdir配置,在刚开始设置报错提示chdir权限拒绝,查了下,说没有执行权限,需要chmo -R +x,但是有那么点不好,就有人推荐放在/var/www、/home/xxx目录,那我就选择了放在/var/www,之前是放在/opt/www

2.配置uwsgi,采用ini配置文件

cat /var/www/oms/uwsgi/uwsgi.ini

[uwsgi]

chdir=/var/www/oms                          //工程目录

module=oms.wsgi:application           //加载的wsgi模块,使用默认的

master=True                                        //开启master process

pidfile=/var/run/oms.pid                   //pid文件位置

vacuum=True                                     //服务器退出时自动清除通用文件和socket

max-requests=5000                           //最大请求

daemonize=/opt/log/uwsgi/oms.log   //后台运行日志输出位置

socket = :9090                                   //监听于全局9090端口,可以改为socket运行,比较快!~

上述配置好,就剩下nginx vhost配置文件了

3.配置nginx,代理uwsgi

cat /usr/local/nginx/conf/vhost/oms.conf

server

{

listen 10086;

server_name X.X.X.X;

location /static/ {

root /var/www/oms;

}

location / {

root /var/www/oms;

include uwsgi_params;

uwsgi_pass 127.0.0.1:9090;

}

access_log /opt/log/nginx/oms.log;

}

启动nginx:  /etc/init.d/nginx start ;  确保nginx无误

4. 启动uwsgi

cat /etc/init.d/uwsgi

#!/bin/bash

PID=/var/run/oms.pid

LOG=/opt/log/uwsgi

CONF=/var/www/oms/uwsgi/uwsgi.ini

case "$1" in

start)

echo "Starting uwsgi"

uwsgi --ini $CONF --uid 501 &> /dev/null

;;

stop)

echo "Stopping uwsgi"

killall -QUIT uwsgi &> /dev/null

;;

restart)

$0 stop

sleep 1

$0 start

;;

*)

echo "usage: $0 {start|stop|restart}"

esac

exit 0

/etc/init.d/uwsgi start

cat /opt/log/uwsgi/oms.log,查看是否有错误

ps -ef | grep uwsgi, 是否启动成功

最后直接可以访问了,http://X.X.X.X:10086

时间: 2024-10-13 15:23:04

django + nginx + uwsgi部署的相关文章

Django+nginx+uwsgi部署教程

百家号04-2421:12 流程 作用 1. 第一级的nginx并不是必须的,uwsgi完全可以完成整个的和浏览器交互的流程:2. 在nginx上加上安全性或其他的限制,可以达到保护程序的作用:3. uWSGI本身是内网接口,开启多个work和processes可能也不够用,而nginx可以代理多台uWSGI完成uWSGI的负载均衡:4. django在debug=False下对静态文件的处理能力不是很好,而用nginx来处理更加高效. 一个人自学很有可能因为动力不足而中途放弃,可以尝试加入一个

Django+nginx+uwsgi部署教程(centos7+ubuntu16.4)

项目部署教程 在线演示 1.1.原理介绍 django 一个基于python的开源web框架 uwsgi 一是一个web服务器,也可以当做中间件 nginx 常用高性能代理服务器 wsgi.py django项目携带的一个wsgi接口文件 nginx Nginx是一个Http和反向代理服务器 什么是反向代理服务器呢? 正向的就是由浏览器主动的想代理服务器发出请求,经代理服务器做出处理后再转给目标服务器 反向的就是不管浏览器同不同意,请求都会经过代理服务器处理再发给目标服务器 这其中的区别就是必须

django+nginx+uwsgi部署web站点

环境: django:1.8.16 python:2.7.13 pip:2.7 uwsgi:2.0.15 project路径: /opt/cmdb/ Uwsgi的安装配置 1.安装python2.7 (省略安装过程) 2.安装pip2.7 (省略安装过程) 3.安装uwsgi(注意:要用pip2.7安装) pip2.7 install uwsgi 4.配置uwsgi.ini 路径: /opt/cmdb/uwsgi.ini 文件内容: [[email protected] cmdb]# cat u

记录django + nginx + uwsgi部署的两种方法

安装uwsgi pip install uwsgi apt-get install libxml2-dev nginx 配置文件 server {         listen 80;         server_name xxx.admin.com         location /static/ {         #/static不加的话,会乱了样式           root /var/www/admin;         }         location / {       

Python3+django+nginx+uwsgi使用场景部署

1 环境介绍和准备Python3+django+nginx+uwsgi使用场景部署 当我们写完一套完整的网站功能,我们需要实时在生产环境上线,并需要容纳高并发的访问请求.所以我们需要部署以上来保证网站的服务质量. 1.1基本环境准备:echo 'LANG="en_GB.utf8"' > /etc/sysconfig/i18nLANG="en_GB.utf8" 1.2依赖环境:(env) [[email protected] nginx]# python -VP

结合Nginx+Uwsgi部署Django项目

大致想法以及背景: 刚开始创建Django项目,可以通过runserver命令更方便地调试程序,但是如果当一个项目完成了之后,需要部署到真正的环境,就需要考虑其稳定性.之前在写毕设的时候,写过一个自动化运维监控的项目,部署在自己的阿里云服务器上.那时候没啥经验,直接一个(pyhon runserver 0.0.0.0:8888 &)让项目在后台自己跑.所以对一些项目挂掉,数据库连接失败等问题不能够及时定位解决.所以现在花点时间结合Nginx+Uwsgi部署自己的项目,利用Nginx处理静态资源请

nginx + uwsgi 部署 Django+Vue项目

nginx + uwsgi 部署 Django+Vue项目 windows 本地 DNS 解析 文件路径 C:\Windows\System32\drivers\etc 单机本地测试运行方式,调用django第三方的wsgifef单机模块,性能很低 python3 manage.py runserver 0.0.0.0:8000 使用uwsgi 去启动django项目,支持并发更多 准备前后端代码 先从vue前端搞起 解决node环境 更改vue发送请求的接口地址, 这个vue发送的地址,应该是

nginx+uwsgi部署fabric-bolt

配置nginx.conf vim nginx.conf          location / {             root /www/fabric-bolt/lib/python2.7/site-packages/fabric_bolt;             include   uwsgi_params;             uwsgi_pass  192.168.1.121:9001;             uwsgi_param UWSGI_CHDIR /www/fabr

Django Nginx+uwsgi 安装配置

Django Nginx+uwsgi 安装配置 在前面的章节中我们使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,我们需要一个可以稳定而持续的服务器,比如apache, Nginx, lighttpd等,本文将以 Nginx 为例. 安装基础开发包 Centos 下安装步骤如下: yum groupinstall "Development tools" yum install zlib-devel bzip2-deve