Diango博客--19.使用 Docker部署项目到线上服务器
文章目录
- 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部署项目到线上服务器相关推荐
- 如何部署Node项目到线上服务器?
首先我们得现有一台服务器 这里以CentOS 7.6服务器为例,以node+MongoDB讲解 首先介绍一下设置镜像源为淘宝镜像 首先执行以下命令回到根目录root下 cd ~ 1.备份 mv /et ...
- Diango博客--18.使用 Fabric 自动化部署 Django 项目
文章目录 1.本地安装 Fabric 2.部署过程回顾 3.完善项目配置 4.修改 BASE_DIR 配置项 5.设置 Supervisor 环境变量 6.编写 Fabric 脚本 7.执行 Fabr ...
- Diango博客--11.Nginx + Gunicorn + Supervisor 方式部署
文章目录 0.部署前准备 1.创建一个超级用户 2.更新 SQLite3 3.安装 Python3 .pip3.6以及 Pipenv 4.部署代码 5.使用 Gunicorn 6.启动 Nginx 服 ...
- Hexo+Gitee搭建个人博客 —— 零基础Gitee部署
前言 个人标签: smm -ing Spring Boot -ing 乐于分享 技术交流: Github Gitee kris's blog 正在筹备中!点击预览 博客园 (筹备中) 给我写信 前期准 ...
- 文顶顶iOS开发博客链接整理及部分项目源代码下载
网上的iOS开发的教程很多,但是像cnblogs博主文顶顶的博客这样内容图文并茂,代码齐全,示例经典,原理也有阐述,覆盖面宽广,自成系统的系列教程却很难找.如果你是初学者,在学习了斯坦福iOS7公开课 ...
- 【7】idea集成docker部署项目
[7]idea集成docker部署项目 一.修改docker配置 1.1 修改服务器docker.service服务信息 允许其他主机远程访问服务器的docker vim /usr/lib/syste ...
- IDE工具(45) idea使用Docker部署项目到服务器的全过程
一.前言 温馨小提示: 案例源码demo放文章最后了 基本环境 idea CentOS7.3服务器 docker springboot项目 二.服务器配置docker远程连接 可参考小编的另外一篇文章 ...
- (四)docker部署项目
docker部署项目 基于ubuntu16.4+python3的flask web项目,使用gunicorn启动,项目运行时需要加载一些动态链接库,并且项目在运行时需要多个后缀为.vpo的授权文件,项 ...
- docker部署项目自动化脚本
docker部署项目脚本,脚本会完成容器停止,删除,镜像删除,镜像构造,运行容器等一系列操作 该脚本配合jenkins使用,真的舒服 #!/bin/bash echo "开始执行脚本&quo ...
最新文章
- 在执行ab压力测试时出现socket: Too many open files (24)的解决方法
- 位运算符实现加法和乘法
- php什么版本好玩_新区传奇世界手游10点准时开放丨两个版本
- Idea中一个服务按多个端口同时启动
- python中的语言特性_python自测——语言特性
- ASP.NET 开源导入导出库Magicodes.IE 导出Pdf教程
- mysql ticks_【原创】C# 计时周期数(Ticks)在不同数据库上的实现
- PWN-PRACTICE-BUUCTF-19
- Struts2教程9:实现自已的拦截器
- Linux 文件夹权限
- 设计模式--缺省适配模式
- 【英语学习】【Daily English】U05 Places L03 I'd like to open an account
- 大型网站技术架构(四)--网站的高性能架构(转)
- internal java compiler error_java字节码注入AOP作业心得
- Java-占位符的使用
- 【OpenCV】角点检测:Harris角点及Shi-Tomasi角点检测
- VsCode中文输出为乱码的原因及解决方法
- Orcad 使用MySQL数据库建立元件数据库完整步骤(30多张截图)
- JAVA动物园管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
- Qt+MPlayer音乐播放器开发笔记(一):ubuntu上编译MPlayer以及Demo演示