基于Django的全栈个人博客

基础但完整的三个DjangoFullstackBlog项目

这三个用的都是基础的Django全栈,没有做前后端分离。

前两个有完整教程,第三个教程无,但有redis缓存,后续可以三个对照着相互补充。

最基础,现在跟着在做的

也基础,但略有进阶,可以docker部署

最高级的一个

后续考虑加消息队列activeMQ:
https://ld246.com/article/1605109781073

加redis

部署nginx、华为云

基础的个人博客

27 栏目

40部署

第一次部署踩了不少坑,我选的服务器是阿里云ecs,有一个月免费试用

  1. 首先是选系统版本:

ubuntu 16.04自带python2.7,然后再安装我需要的那些包,会出现和python3打架的错误,到最后都没有解决。结果最后重置服务器为初始状态,换了Ubuntu 22.04 64位自带python3.10,不带python2.7就什么问题都没有。这一点对自己还是比较满意,不纠结一定要在原来的路径解决问题,有时候问题根本就不是问题,用老版本的系统就是自己给自己使绊子,但博客教程选的是ubuntu 16.04,因此造成了不少麻烦。

如何将ECS服务器重置为初始状态:
https://help.aliyun.com/document_detail/97749.html

  1. 不清楚防火墙端口设置,服务器nginx基础服务一直不能正常启动。

用了阿里云服务器装完nginx后,访问公网ip发现一片空白并没有出现nginx的welcom页面。

原因是首次部署阿里云服务器,没有配置安全组规则。
要自己添加http 80端口的安全规则才能正常
https://blog.csdn.net/qq_35430000/article/details/109826242
https://blog.csdn.net/LJFPHP/article/details/78670459

  1. 部署用代码

进入服务器并从远端clone项目,阿里云git clone有几率一直卡443connection error,重启之后好了

cd /home/sites/lvguoBlog.com
git clone -b branch_name URL 
克隆URL下仓库的指定分支

虚拟环境,依赖包与静态文件生成:

source env/bin/activate
deactivate
cd DeployProject/
python3 manage.py collectstatic

nginx配置

server {
  charset utf-8;
  listen 80;
  server_name 121.43.189.115;

  location /static {
    alias /home/sites/lvguoBlog.com/DeployProject/collected_static;
  }
  
  location /media {
    alias /home/sites/lvguoBlog.com/DeployProject/media;
  }

  location / {
    proxy_set_header Host $host;
    proxy_pass http://unix:/tmp/121.43.189.115.socket;  # 改成你的 IP
  }
}

开启反向代理服务器nginx和wsgi服务器Gunicorn

The Gunicorn "Green Unicorn" (pronounced jee-unicorn or gun-i-corn)[2] is a Python Web Server Gateway Interface (WSGI) HTTP server.

sudo service nginx start
gunicorn --bind unix:/tmp/121.43.189.115.socket my_blog.wsgi:application

如果按上述配置(nginx和gunicorn中写ipv4地址)这样部署,加上DNS解析以后,会出现特殊现象:
(访问ipv4地址可以看到正常博客,但是访问域名是nginx欢迎页面),原因是dns解析的层次和发生的地点不一样。需要把nginx配置和gunicorn绑定的ipv4地址全部换成域名,这也说明,dns并不是我理解的那样工作的,需要重新思考,dns发生在什么时候

如何给个人全栈博客项目做压力测试

为个人博客项目进行压力测试,你可以使用以下步骤:

准备压力测试工具:有许多免费的压力测试工具,如 Apache JMeter、Gatling、LoadRunner 等。你可以根据你的需求选择适合的工具。

设定测试参数:设定模拟的请求数、并发用户数、请求间隔等。

构建测试脚本:使用工具来构建测试脚本,以模拟用户对网站的请求。

运行测试:启动测试,记录系统的响应时间、错误率、吞吐量等。

分析测试结果:根据测试结果,分析系统的瓶颈,以便于改进系统性能。

注意:在测试过程中,应该尽量模拟真实的用户行为,以获得更准确的结果。同时,在测试前,你需要保证数据库是真实的,以保证测试结果的准确性

目前已确定的项目

新思路:自动更新

需求:在哪写博客?
在哪更新博客?
博客自动拉取github仓库中的所有博客,定期更新

需要了解一下django定时任务

有django-crontab,celery(复杂,需要集成redis),django-apscheduler等库可以实现

posted @   wjybq  阅读(71)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示