文章目录

  • 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

10.浏览器访问域名或者服务器 ip 即可进入博客首页

Diango博客--19.使用 Docker部署项目到线上服务器相关推荐

  1. 如何部署Node项目到线上服务器?

    首先我们得现有一台服务器 这里以CentOS 7.6服务器为例,以node+MongoDB讲解 首先介绍一下设置镜像源为淘宝镜像 首先执行以下命令回到根目录root下 cd ~ 1.备份 mv /et ...

  2. Diango博客--18.使用 Fabric 自动化部署 Django 项目

    文章目录 1.本地安装 Fabric 2.部署过程回顾 3.完善项目配置 4.修改 BASE_DIR 配置项 5.设置 Supervisor 环境变量 6.编写 Fabric 脚本 7.执行 Fabr ...

  3. Diango博客--11.Nginx + Gunicorn + Supervisor 方式部署

    文章目录 0.部署前准备 1.创建一个超级用户 2.更新 SQLite3 3.安装 Python3 .pip3.6以及 Pipenv 4.部署代码 5.使用 Gunicorn 6.启动 Nginx 服 ...

  4. Hexo+Gitee搭建个人博客 —— 零基础Gitee部署

    前言 个人标签: smm -ing Spring Boot -ing 乐于分享 技术交流: Github Gitee kris's blog 正在筹备中!点击预览 博客园 (筹备中) 给我写信 前期准 ...

  5. 文顶顶iOS开发博客链接整理及部分项目源代码下载

    网上的iOS开发的教程很多,但是像cnblogs博主文顶顶的博客这样内容图文并茂,代码齐全,示例经典,原理也有阐述,覆盖面宽广,自成系统的系列教程却很难找.如果你是初学者,在学习了斯坦福iOS7公开课 ...

  6. 【7】idea集成docker部署项目

    [7]idea集成docker部署项目 一.修改docker配置 1.1 修改服务器docker.service服务信息 允许其他主机远程访问服务器的docker vim /usr/lib/syste ...

  7. IDE工具(45) idea使用Docker部署项目到服务器的全过程

    一.前言 温馨小提示: 案例源码demo放文章最后了 基本环境 idea CentOS7.3服务器 docker springboot项目 二.服务器配置docker远程连接 可参考小编的另外一篇文章 ...

  8. (四)docker部署项目

    docker部署项目 基于ubuntu16.4+python3的flask web项目,使用gunicorn启动,项目运行时需要加载一些动态链接库,并且项目在运行时需要多个后缀为.vpo的授权文件,项 ...

  9. docker部署项目自动化脚本

    docker部署项目脚本,脚本会完成容器停止,删除,镜像删除,镜像构造,运行容器等一系列操作 该脚本配合jenkins使用,真的舒服 #!/bin/bash echo "开始执行脚本&quo ...

最新文章

  1. 在执行ab压力测试时出现socket: Too many open files (24)的解决方法
  2. 位运算符实现加法和乘法
  3. php什么版本好玩_新区传奇世界手游10点准时开放丨两个版本
  4. Idea中一个服务按多个端口同时启动
  5. python中的语言特性_python自测——语言特性
  6. ASP.NET 开源导入导出库Magicodes.IE 导出Pdf教程
  7. mysql ticks_【原创】C# 计时周期数(Ticks)在不同数据库上的实现
  8. PWN-PRACTICE-BUUCTF-19
  9. Struts2教程9:实现自已的拦截器
  10. Linux 文件夹权限
  11. 设计模式--缺省适配模式
  12. 【英语学习】【Daily English】U05 Places L03 I'd like to open an account
  13. 大型网站技术架构(四)--网站的高性能架构(转)
  14. internal java compiler error_java字节码注入AOP作业心得
  15. Java-占位符的使用
  16. 【OpenCV】角点检测:Harris角点及Shi-Tomasi角点检测
  17. VsCode中文输出为乱码的原因及解决方法
  18. Orcad 使用MySQL数据库建立元件数据库完整步骤(30多张截图)
  19. JAVA动物园管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
  20. Qt+MPlayer音乐播放器开发笔记(一):ubuntu上编译MPlayer以及Demo演示

热门文章

  1. C++ 标准程序库std::string 详解
  2. Java 计算两个日期之间的相差天数
  3. Java牛客专项练习2020.12.10
  4. 网站程序员的程序员成长之路大概分几个阶段 和未来的发展
  5. FFPLAY的原理(二)
  6. VUE:兄弟组件间传参
  7. shell 的here document 用法、输入/输出重定向
  8. yii2 migrate 数据库迁移的简单分享
  9. 正方形矩阵求对角线之和
  10. Python基础第一天