Django 1.11设置

保证Django在本地调试没有问题;

当然这是前提^_^

收集静态文件至指定文件夹

Django静态文件设置具体参考:https://docs.djangoproject.com/en/1.11/ref/contrib/staticfiles/

  1. myproject/settings.py中设置静态文件STATIC_URL和STATIC_ROOT设置;

    如:

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, 'static') #此文件夹需为空

  1. myproject/urls.py中添加static文件URL配置;

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

  1. 运行python3 manage.py collectstatic将静态文件收集到指定文件夹;

python3 manage.py collectstatic #处于Django虚拟环境下

  1. 本地调试测试,网站是否正常;

    注:STATIC_ROOT不可与STATICFILES_DIRS目录一致。

uWSGI设置

参考文档:

  1. https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/uwsgi/
  2. https://www.cnblogs.com/chenice/p/6921727.html

安装uwsgi

  1. 如果使用虚拟环境,请在Django虚拟环境下运行;

pip3 install uwsgi

  1. 编写测试文件test.py进行测试,验证uwsgi是否正常安装;
# test.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"] # python3 #return ["Hello World"] # python2

运行:

uwsgi --http :8000 --wsgi-file test.py

访问验证是否正常。
  1. 利用uwsgi启动myproject进行验证是否正常工作;

uwsgi --chdir=/path/to/myproject(此为manage.py文件所在父目录) --module=myproject.wsgi:application --http=127.0.0.1:8000 --processes=2 --vacuum

uwsgi后面具体参数,请自行百度。
  1. 如果无异常,编写uwsgi配置文件代替命令行形式;
[uwsgi]
# http = :8000 #直接提供http访问,配置为http模式,端口自定(下同)
socket = :8001 #和nginx进行通信,配置为socket模式
chdir = /path/to/myproject
module = myproject.wsgi:application
env = DJANGO_SETTINGS_MODULE=website.settings
master = true
processes = 4
vacuum = true
max-requests = 5000
home = /path/to/django/python/virtual_env #(如/path/venv)
daemonize = /var/log/uwsgi/website.log #后台运行

使用配置文件启动:

uwsgi --ini /path/to/uwsgi.ini

停止uwsgi,请使用kill 进程,优化请自己写脚本进行控制。

Nginx配置

安装nginx,可选择nginx官方源

linux版安装源配置

修改nginx配置文件,本配置以Debian9系统下Nginx=1.12版为例

  1. nginx默认配置位置/etc/nginx
  2. 进行/etc/nginx/conf.d/添加自己的网站文件或者修改default.conf,nginx默认会对所有下面的配置文件进行读取和设置,配置文件以.conf结尾。

    注:default.conf文件默认端口为80,如使用80端口,请修改或删除default.conf或者在此基础进行设置配置文件;
  3. 配置文件示例:
server {
listen 80;
server_name debian;
charset utf-8; client_max_body_size 10M;
location /media {
alias /path/to/myproject/media;
} location /static {
alias /path/to/myproject/static;
} location / {
\# 此处记得和uwsgi里的socket配置保持一致,另记得uwsgi里启用socket而不是http
uwsgi_pass 127.0.0.1:8001;
include uwsgi_params;
}
}
  1. 测试nginx配置文件是否正确;

nginx -t

  1. 启动nginx服务,访问进行验证是否正常工作;

至此,Django + uWSGI + Nginx部署完成。

最新文章

  1. oracle根据某个字段去重实例
  2. easyui-layout 布局自适应
  3. HDU3395 Special Fish(最大费用任意流)
  4. UIButton的常用属性
  5. 几个 Context 上下文的区别
  6. 移动Web单页应用开发实践——实现Pull to Request(上/下拉请求操作)
  7. linux下使用svn
  8. 第一个C#应用 【搜索软件】
  9. Ogre内存池的使用和说明
  10. js限制文本框只能输入数字
  11. Paragraph Vector在Gensim和Tensorflow上的编写以及应用
  12. mysql 返回自增id
  13. [转帖]Office全版本零售版转换VOL
  14. jQueryEasyUI学习笔记
  15. Windows Server 2003添加防火墙策略教程
  16. hibernate ID
  17. prompt
  18. BZOJ刷题指南(转)
  19. CF&&CC百套计划4 Codeforces Round #276 (Div. 1) A. Bits
  20. 我的Java学习推荐书目

热门文章

  1. Docker remote API
  2. SpringCloud与Dubbo区别对比
  3. linux内核debug的一种方式:procfs
  4. 用cp命令拷贝文件,源目录后带不带斜杠的区别
  5. 公众号对接百度翻译API
  6. Dart面向对象编程(二)
  7. 【BZOJ4016】[FJOI2014]最短路径树问题(点分治,最短路)
  8. 上下文的哲学思考:上下文=环境 & 上下文=对象+行为+环境
  9. java自适应响应式 企业网站源码 SSM 生成静态化 手机 平板 PC
  10. leetcode5086:smallest-subsequence-of-distinct-characters