文章目录
- 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