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