Day26 - 部属到正式环境 (1)

今天的实作内容主要根据教学网站进行。

接下来两天的主要内容是将Django部属到正式环境,让使用者可以透过Internet使用。

云端环境选择

在正式环境的选择上,除了自己架设实体服务器外,对於一个实验性的小专案来说,使用云端平台是个省时省力的好选择。

云服务有三种服务类型区别,分别是IaaS、PaaS、SaaS,其中SaaS跟今天内容比较不相关,就不多说明。

  • IaaS (Infrastructure as a Service):IaaS一般会提供事先安装好的VM,除了基础的OS和一些可挑选的套件外,若有其他需要使用的套件需要自己安装在VM上,也因此有较高的弹性。对於管理者来说虽然省去硬体管理的人力外,但仍然要考虑网站服务器、应用服务器、负载平衡等架构。

  • PaaS (Platform as a Service):提供平台服务,使用者可省去对於作业系统、开发环境的管理人力,可更专注於开发功能。

目前有许多云端平台可以做选择,各云端平台大多会提供一些试用方案,而这次将采用教学网站所用的Heroku。

调整设定档

在决定好云端平台後,在放上正式环境之前,需要对settings.py做一些调整。

Django在建立startproject的时候,其产生的settings.py设定主要是为了方便开发与测试,但考量到正式环境的执行效能和安全性,需要对settings.py做一些调整。

  • DEBUG:在正式环境需设定为False。

  • SECRET_KEY:Django用来加密资讯的变数,在正式环境中不应该明文放在settings.py中,可以使用环境变数的方式读取以增加安全性,或是分开放在别的档案中。

import os

DEBUG = bool( os.environ.get('DJANGO_DEBUG', True) ) 
SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY','django-insecure-pbpcb*k@rr-=)7xja*da_w1t(y^zba7^lkwo0jhp2+9bv#tb&-')

<<:  30-23 之 Patterns of Enterprise Application Architecture 小总结

>>:  Day 23 - Redux middleware 介入处理非同步

[Day28] 前端部署网页的方式 (Vercel, AWS S3 & Netlify)

今天要和大家介绍的是前端部署网页的方法,分别是以下三个: Vercel AWS S3 Netlif...

Android Studio Mac 版本 git log 中文无法显示

打开Preference,选择 Appearance & Behavior 勾选 Use c...

前端工程师也能开发全端网页:挑战 30 天用 React 加上 Firebase 打造社群网站|Day6 注册登入功能

连续 30 天不中断每天上传一支教学影片,教你如何用 React 加上 Firebase 打造社群...

Day15 X Tree Shaking

在昨天我们学会了 code splitting 与 dynamic import 的技巧,让程序在...

[STM32G4系列] 学习清单

前言 这是一个关於 STM32G4系列 初次学习的学习清单 使用软件为 STM32CubeIDE 1...