回到顶部

CONTENTS

centos7 + virtualenv + django + uwsgi + nginx 部署站点

安装环境

  • centos: 7.x
  • python: 3.6.x
  • django:1.11

virtualenv 和 virtualenvwrapper 安装

    centos7 之 python3, git, nginx, redis 安装

django 项目

    1. 配置好 settings.py (特别是静态文件,static 和  static_root  要独立的路径,不要忘记了 python3 manage.py collectstatic)

# 允许的访问的 HOST, * 全部
ALLOWED_HOSTS = ["*"]

# STATIC_URL:设置的static file的起始url,这个只可以在template里面引用到。如果不喜欢static可以更改。
STATIC_URL = '/static/'
# STATIC_URL = QINIU_BUCKET_DOMAIN + '/static_root/'
# STATICFILES_DIRS 除了各个app的static目录以外还需要管理的静态文件位置
# 其它存放静态文件的文件夹,可以用来存放项目中公用的静态文件,里面不能包含 STATIC_ROOT
# 如果不想用 STATICFILES_DIRS 可以不用,都放在 app 里的 static 中也可以
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static').replace('\\', '/'),
]

# 静态文件上传至七牛云
STATIC_ROOT = 'static_root/'  # 七牛云的链接前缀
# STATICFILES_STORAGE = 'qiniustorage.backends.QiniuStaticStorage'  # 只管理静态文件

# upload folder
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/')

    2. 配置好 urls.py (给静态文件配置路由,顺手把 media 文件的路由也配置了;实际上用 nginx 转发了静态文件,这步骤配不配都无所谓了)

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [ ... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) \
              + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

uwsgi 配置

    uwsgi 配置 python virtualenv 虚拟环境目录

nginx 配置

    nginx 同一 iP 多域名配置方法(多文件)

nginx 不能访问 Django 静态文件的原因

    https://xieboke.net/article/74/

注意事项

阿里云服务器,默认开放的端口(好像默认开了 80 443 22)有限,如果是其他的端口,需要登录 阿里云控制台(安全 -> 防火墙 -> 添加规则),开放你需要使用的端口。

windows 下部署

   windows x64 + apache2.4 x64 + python3.5 x64 + django + mod_wsgi 部署站点

 

 

^_^
请喝咖啡 ×

前一篇: Scylla 代理池
下一篇: python 和 django 学习资料(2020-1-3 更新)
captcha
带 * 是必填项