使用 Django 和 Nginx 搭建个人博客,配置HTTPS
Jan. 3, 2021, 6:42 p.m.
最近忙毕业设计,为了Prototype展示,使用了Django进行展示。毕竟只是展示,求快,Python和Django的确是非常节省时间的,相比较Java的Web框架。糟心的2020年结束,我也把之前的摄影想捡起来,2021年相对来说,我会轻松很多,可以把时间放到其他感兴趣的地方。然后把Sigma 35mm F1.4 Art卖了,换了 Sony 35mm F1.4 ZA。这个主要是因为Sigma这颗头的对焦性能,实在不能令人满意。在外景人像拍摄,经常跑焦,后期在电脑上看也追悔莫及。同时,购买了Sony 55mm F1.8 ZA,由于35mmZA实在过于笨重,我又想有一颗镜头轻便,高画质,便于日常街拍。旅行拍摄还是使用Sony 24-105 G OSS这颗一镜走天下。
为了记录以后拍摄的内容,也是为了鼓励自己多出去拍,想办法用Django和nginx在linux服务器上搭建了网站。下面进入正题。
1.Django 的准备
网上有很多Django的教程
比较推荐这个:https://ericam.top/post/django-kai-fa-ge-ren-bo-ke-xi-tong/
自己理解之后,可以对代码修改,实现自己想实现的功能
2. Nginx的准备
安装Nginx
sudo apt-get install nginx
编辑Nginx的配置文件,进入配置文件夹
cd /etc/nginx/site-avaliable
这里存放着可以运行的配置文件,新建一个文件
vim miraclove.com
这里创建一个配置文件miraclove.com,配置Http
- server {
- charset utf-8; #使用utf-8字符
- listen 80; #监听Http 80端口
- server_name miraclove.com; # 改成你的域名或IP
- location /media {
- alias /Github/PyWeb/Src/media; #Django的media静态目录
- }
- location /static {
- alias /Github/PyWeb/Src/static; #Django的static静态目录
- }
- location / {
- proxy_set_header Host $host;
- proxy_pass http://127.0.0.1:8000; # 如果上面都匹配不上,交给Django处理
- }
- }
Vim 编辑器,按 i 插入信息,输入完成后,按esc退出编辑,输入:wq,按回车保存修改。
如果有多个域名或者IP需要匹配,还可以在下面添加更多server
这里,配置完成后,运行Nginx服务器
service nginx start
你在http端口应该可以看到Django服务器正常显示了,但是部分浏览器会跳转到https,导致无法显示
3. Https 加密的配置
已经有类似的Http转Https自动化软件,使用 Certbot 向 Let's Encrypt 免费申请 HTTPS 证书
安装CertBot
pip install certbot
使用下面语句,自动转换https服务
sudo certbot --nginx
如果出现,无法识别域名,请将 nginx 配置文件 server_name 后面添加为域名。
再次访问网站,均会以https展示出来。