部署前提是服务器中要有项目中所需的其他服务,例:mysql数据库,nginx,python解释器等,在其他环境搭好的情况下使用此方式可简单部署一个django项目。
至于安装上面提到的这些,有兴趣可点击前往博客查看
1、准备工作
- 创建干净的虚拟环境
- 执行下载命令下载所需依赖包
- 测试数据库链接
- 测试项目运行
- (其中详细步骤上面博客链接中有,这里不赘述了)
2、下载Gunicorn
4、修改配置文件
INSTALLED_APPS = [
...
'gunicorn',
]
5、使用Gunicorn命令运行django项目
gunicorn book.wsgi -b 127.0.0.1:8000
基本参数列表:
-c 指定一个配置文件(py文件)
-b 与指定的socket进行绑定
-D 以守护进程形式来运行Gunicorn进程
-w 工作的进程数量,后面加数字;[gunicorn -w 2 untitled.wsgi -b 0.0.0.0:8000]
–threads 后面加数字,处理请求的最大线程数
-k 工作进程类型: sync(默认), eventlet, gevent, or tornado, gthread, gaiohttp.
–chdir 后面加路径,跳转到目录下执行
–reload 后面可加参数,默认参数false,开启为true,开启时当代码发生改变,会重新加载修改的代码,并启动程序,(热加载)
-proxy-protocol
–worker-connections
–access-logfile
6、测试运行
curl 127.0.0.1:8000
7、运行可能报错
8、配置脚本文件启动django项目
在manage.py同级目录创建配置文件gunicorn.conf.py
import logging
import logging.handlers
from logging.handlers import WatchedFileHandler
import os
import multiprocessing
bind = '127.0.0.1:8000'
timeout = 60
worker_class = 'gevent'
workers = multiprocessing.cpu_count() * 2 + 1
threads = 2
loglevel = 'info'
access_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"'
accesslog = "/opt/workspace/bookstore/log/gunicorn_access.log"
errorlog = "/opt/workspace/bookstore/log/gunicorn_error.log"
9、运行命令
10、nginx简单部署示例
找到nginx配置文件打开添加站点
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.flag.space, 109.39.89.199;
location / {
proxy_pass http://127.0.0.1:8000;
}
location /static {
alias /opt/workspace/bookstore/static;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
其中的 location / 中配置项目的url地址
location /static 中配置静态文件路径
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)