实现简单的"nginx+uwsgi+django"的服务器架构
来源:互联网 发布:上位机编程用什么语言 编辑:程序博客网 时间:2024/06/07 20:02
1,安装uwsgi
pip install uwsgi
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
2,安装django
pip install django
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
3,uwsgi+django
关闭django的运行
编写django_wsgi.py,将其放在manage.py的同级目录
# coding: utf-8
import os
import sys
reload(sys)
sys.setdefaultencoding(‘utf8’)
os.environ.setdefault(“DJANGO_SETTINGS_MODULE”, “projectname.settings”)
from django.core.wsgi import get_wsgi_application 这一句来自于wsgi.py中的设置
application = get_wsgi_application()
启动uwsgi
uwsgi –http 0.0.0.0:8000 –chdir /项目文件的路径 –module django_wsgi (我们创建的py文件不加扩展名)
- 1
- 2
4,nginx+django+uwsgi
配置uwsgi,在项目目录下创建一个uwsgi_server.ini文件
[uwsgi]
socket = :8000
chdir = /projectpath
module = django_wsgi
processes = 4
daemonize = uwsgi.log
启动uwsgi服务器
uwsgi -i uwsgi_server.ini
关闭:直接kill
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
5,以上操作如果成功,我们访问的界面是乱的,这是没有加载js css 的原因,静态文件是由
nginx来处理的,uwsgi是不能直接处理的。
修改django的配置 settings:
STATICFILES_DIRS = (
os.path.join(BASE_DIR_,”static”),
)
STATIC_ROOT = os.path.join(BASE_DIR,”collectstatic”) 设置静态文件的存放位置,然后才可以执行收集操作,注意如果项目没有static文件夹,我们需要自己建一个,因为后台admin是有静态文件的。
python manage.py collectstatic
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
6,如果我们想使用nginx+tornado+diango部署
首先,安装torando,实现tornado+django
在django项目中创建一个torando_server.py文件
from tornado.options import options, define, parse_command_line
from django.core.wsgi import get_wsgi_application
import tornado.httpserver
import tornado.ioloop
import tornado.web
import tornado.wsgi
import os, sys
SITE_ROOT = os.path.dirname(os.getcwd())
PROJECT_NAME = os.path.basename(os.getcwd()) #获取项目名称,也就上级目录名称
sys.path.append( SITE_ROOT )
os.environ[‘DJANGO_SETTINGS_MODULE’] = PROJECT_NAME + ‘.settings’
define(‘port’, type=int, default=8080)
class HelloHandler(tornado.web.RequestHandler):
def get(self):
self.write(‘Hello from tornado’)
def main():
parse_command_line()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
if name == ‘main‘:
main()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 实现简单的"nginx+uwsgi+django"的服务器架构
- 实现简单的"nginx+uwsgi+django"的服务器架构
- Nginx+uwsgi+Django 搭建一个简单的web服务器
- 在树莓派上搭建 Nginx + uWSGI + Django 架构服务器的过程中所学到的
- uwsgi+Django+Nginx的布署
- 基于Ubuntu16.04服务器的Nginx+Django+Uwsgi配置
- Nginx+Django+Uwsgi架构部署
- Django + Nginx + Uwsgi 配置服务器
- Django,uwsgi,nginx简单配置
- Fedora20 + Nginx + uWSGI + Django环境的搭建
- Fedora20 + Nginx + uWSGI + Django环境的搭建
- nginx+uwsgi+django的Https通信
- Django+uWSGI+Nginx的生产环境部署
- 基于ubuntu(阿里云)的nginx+uwsgi+django的服务器搭建(到处是坑)
- 【django】Nginx+uWSGI+Django部署我的博客网站
- LNuDP(Linux+Nginx+uWSGI+Django)架构
- python uwsgi实现的简单web服务器(8代码)
- nginx uwsgi django supervisor 服务器配置
- 线段树题集
- 个人总结8
- 纪念重学C/C++,Linux的日子
- Linux网络管理
- 练习 2-5 编写函数 any(s1, s2),将字符串 s2 中的任一字符在字符串 s1 中第一次 出现的位置作为结果返回。如果 s1 中不包含 s2 中的字符,则返回-1
- 实现简单的"nginx+uwsgi+django"的服务器架构
- Java基础面试——final、static注意点
- py3.6中 变量不能同时作为global变量和子函数传递的变量
- 后缀数组题集
- 计算机视觉、模式识别、机器学习常用牛人主页链接
- 循环·1·求整数段和
- 在注册表中添加windows鼠标右键菜单
- 拼多多app软件开发
- Linux Shell 脚本编程(9)—文本过滤(sed命令)