前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django部署到服务器

Django部署到服务器

作者头像
嘉美伯爵
发布2021-01-18 10:54:46
1.4K0
发布2021-01-18 10:54:46
举报

环境要求

代码语言:javascript
复制
Python >= 3.6
Djando >= 2.1
Nginx >= 1.2

安装 && 配置

  • 若直接Git本源码,只需要修改数据的名称和密码即可
  • 若非Git本源码,具体部署步骤如下,相比Nginx,Apache配置更简便,本部署基于Nginx

在工程目录下修改setting.py

代码语言:javascript
复制
# Application definition

INSTALLED_APPS = [
    'blog',
]
# Database

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'blogx',
        'USER': 'root',
        'PASSWORD': '416798',
        'HOST': 'localhost',
        'PORT': '3306',
    },
}
# Internationalization

LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'
# Static files (CSS, JavaScript, Images)

STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
MEDIA_ROOT = os.path.join(BASE_DIR, "static/media")

在工程目录下修改urls.py

代码语言:javascript
复制
from django.contrib import admin
from django.urls import path, include
from django.conf.urls import url

urlpatterns = [
    path('admin/', admin.site.urls),
    # 二级应用分发
    url('^', include('blog.urls')),

]

在应用目录下新建urls.py

代码语言:javascript
复制
from django.urls import path
from . import views
from django.conf.urls import url

urlpatterns = [
    url(r'^$', views.index),
    url(r'^Python/', views.python),
]

在应用目录下的init.py添加代码

代码语言:javascript
复制
import pymysql
pymysql.install_as_MySQLdb()

迁移 && 数据

生成偏移文件

代码语言:javascript
复制
python manage.py makemigrations

添加到数据库

代码语言:javascript
复制
python manage.py migrate

创建管理员

代码语言:javascript
复制
python manage.py createsuperuser

生产 && 部署

在工程根目录下建立blog.xml文件

代码语言:javascript
复制
<uwsgi>
    <socket>127.0.0.1:8999</socket><!-- 内部端口,自定义 -->
     <chdir>/data/wwwroot/blog/</chdir><!-- 项目路径 -->
    <module>project.wsgi</module>
     <processes>4</processes> <!-- 进程数 -->
    <daemonize>uwsgi.log</daemonize><!-- 日志文件 -->
</uwsgi>

配置Nginx代理服务器

  • Http配置
代码语言:javascript
复制
server {
        listen       80;
        server_name  blog.gaozhe.top;
        rewrite ^(.*) https://$server_name$1 permanent;
        location /static {
            alias /var/www/blog/static/;
        }
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:8999;
           uwsgi_param UWSGI_SCRIPT blog.wsgi;
           uwsgi_param UWSGI_CHDIR /data/wwwroot/blog;

        }
      }
  • Https配置
代码语言:javascript
复制
 server {
    listen 443;
    server_name blog.gaozhe.top;
    location /static {
            alias /var/www/blog/static/;
        }
    ssl on;
    ssl_certificate  /usr/local/nginx/conf/ssl/214903559130065.pem;
    ssl_certificate_key  /usr/local/nginx/conf/ssl/214903559130065.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
       include uwsgi_params;
           uwsgi_pass 127.0.0.1:8999;
           uwsgi_param UWSGI_SCRIPT blog.wsgi;
           uwsgi_param UWSGI_CHDIR /data/wwwroot/blog;

    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-04-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境要求
  • 安装 && 配置
  • 迁移 && 数据
  • 生产 && 部署
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档