文章目錄
- 1.克隆代碼到服務器
- 2.創建環境變量文件用于存放項目敏感信息
- 3.在 .production 文件寫入下面的內容并保存
- 4.修改 Nginx 配置
- 5.修改項目配置文件
- 6.啟動容器
- 7.檢查容器啟動狀況
- 8.配置 HTTPS 證書(沒有配置域名無法配置,只能通過服務器 ip 以 HTTP 協議訪問)
- 9.使用Faker 批量生成測試數據
- 10.瀏覽器訪問域名或者服務器 ip 即可進入博客首頁
1.克隆代碼到服務器
$ git clone https://github.com/HelloGitHub-Team/HelloDjango-blog-tutorial.git
2.創建環境變量文件用于存放項目敏感信息
$ cd HelloDjango-blog-tutorial
$ mkdir .envs
$ touch .envs/.production
3.在 .production 文件寫入下面的內容并保存
# django 用于簽名和加密等功能的密鑰,泄露會嚴重降低網站的安全性
# 推薦使用這個工具生成:https://miniwebtool.com/django-secret-key-generator/
DJANGO_SECRET_KEY=0p72%e@r3qr$bq%%&bxj#_bem+na2t^0(#((fom6eewrg)gyb^# 設置 django 啟動時加載的配置文件
DJANGO_SETTINGS_MODULE=blogproject.settings.production
4.修改 Nginx 配置
復制 compose/production/nginx/hellodjango-blog-tutorial.conf-tmpl到同一目錄,并重命名為 hellodjango-blog-tutorial.conf,修改第 6 行的 server_name 為自己的域名(如果沒有域名就改為服務器的公網 ip 地址)。
5.修改項目配置文件
將blogproject/settings/production.py中的ALLOWED_HOSTS改為自己的域名。
ALLOWED_HOSTS = ['hellodjango-blog-tutorial-demo.zmrenwu.com']
6.啟動容器
$ docker-compose -f production.yml up --build -d
7.檢查容器啟動狀況
執行 docker ps 檢查容器啟動狀況,看到如下的 3 個容器說明啟動成功:
hellodjango_blog_tutorial_nginx
hellodjango_blog_tutorial_elasticsearch
hellodjango_blog_tutorial
8.配置 HTTPS 證書(沒有配置域名無法配置,只能通過服務器 ip 以 HTTP 協議訪問)
$ docker exec -it hellodjango_blog_tutorial_nginx certbot --nginx -n --agree-tos --redirect --email email@hellodjango.com -d hellodjango-blog-tutorial-demo.zmrenwu.com
解釋一下各參數的含義:
–nginx,使用 Nginx 插件
-n 非交互式,否則會彈出詢問框
–redirect,自動配置 Nginx,將所有 http 請求都重定向到 https
–email xxx@xxx.com,替換為自己的 email,用于接收通知
-d 域名列表,開啟 https 的域名,替換為自己的域名,多個域名用逗號分隔
9.使用Faker 批量生成測試數據
docker exec -it hellodjango_blog_tutorial python -m scripts.fake