3 Star 6 Fork 2

杨学峰 / my_site

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

当前项目所使用环境:Python3.6.8,Django3.1

项目介绍

1. 后端语言:Python + Django
2. 前端语言:HTML + JQuery + Bootstrap
3. 数据库:MySQL + Redis

实现功能

1. 未使用Django-admin,自己手写的管理后台, 用于文章、友链和背景音乐等的在线管理
2. 实现文章按年月、标签和分类归档
3. 实现文章标签云功能
4. 采用第三方评论插件: Gitalk
5. 实现文章阅读量统计,12小时内连续访问的IP只记录一次
6. 后台引入wangEditor富文本编辑器和editor.md Markdown编辑器,前端使用prism.js进行代码高亮
7. Celery + Redis + Supervisor进行异步任务和定时任务的启动和进程管理
8. 接入七牛云存储,文章中的图片通过接口上传到七牛云
9. 添加过期提醒,文章长时间未更新在详情页设置提醒
10. 友情链接随机排序
11. 支持按文章标题、标签和分类搜索
12. 多数数据存入Redis,提升访问速度

项目部署

本项目的部署是在Ubuntu18.04的系统上,其他Ubuntu发行版本或者类Unix系统的部署中可能有不同,请知悉。

  1. 首先更新系统环境到最新,使其得到更好的兼容
sudo apt-get update  # 检查是否有可用更新
sudo apt-get upgrade  # 应用更新
sudo apt-get install python3-pip  # 以下为安装相关依赖包
sudo apt-get install locales
sudo apt-get install default-libmysqlclient-dev
sudo apt-get install python3-mysqldb
sudo apt-get install libssl-dev
sudo apt-get install libcrypto++-dev
sudo apt-get install python3-dev
  1. 克隆项目
git clone https://github.com/a1401358759/my_site.git
  1. 在项目根目录下创建项目所需要的文件夹
mkdir logs  # 用来存储项目日志
  1. 新建local_settings.py用来覆盖settings.py里面的数据库配置
cp -r my_site/local_settings.py.template local_settings.py
  1. 进入数据库创建数据库
CREATE DATABASE `my-site` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
  1. 同步数据库
python3 manage.py migrate
  1. 安装项目所需要的包
pip3 install -r requirements.txt
  1. 因为本项目使用了Redis,所以需要安装redis-server
sudo apt-get install redis-server  # 安装
redis-server &  # 启动Redis-server
  1. 运行项目
python3 manage.py runserver

正常情况下,经过以上步骤,就可以通过 127.0.0.1:8000 来访问博客首页了,通过 127.0.0.1:8000/manager 访问管理端

以上步骤是在本地进行项目测试访问,在线上正式部署还需要安装Nginx、uwsgi、supervisor等。

sudo apt-get install nginx  # 安装Nginx
sudo pip3 install uwsgi  # 安装uwsgi
sudo apt-get install supervisor  # 安装supervisor
  1. 复制项目根目录下 etc/blog.conf/etc/nginx/conf.d/ 文件夹下,然后自行修改 blog.conf 里面的相关配置
cp -r etc/blog.conf /etc/nginx/conf.d/blog.conf
  1. 启动uwsgi
uwsgi -i etc/uwsgi.ini
  1. 启动redis-server
redis-server &  # 此种方法启动redis-server可能有安全隐患,建议使用conf文件启动,具体办法请自行Google
  1. 使用supervisor启动celery
supervisord -c supervisor.conf

注意事项

  1. 本文档可能尚有遗漏或者不当之处,如遇问题造成困惑请尽量自行处理或者联系作者,敬请谅解。
  2. 本人自己项目目录在 /home/data/venv/my_site/my_site 下,如有不同,请自行修改项目代码中出现此地址之处,另:venv 是本人统一的项目文件夹,第一个 my_site 是项目的virtualenv环境,第二个 my_site 是项目根目录。
  3. 项目中涉及到的配置文件,如七牛云的 access_keysecret_key,以及leancloud账号的配置,烦请自行注册账号修改,否则侵权必究。

捐赠

如果您觉得本项目对您有些许帮助,感谢您的捐赠

微信支付宝

联系我

  1. 邮箱:13552974161@163.com
  2. QQ: 1401358759

本人博客地址: 我的博客

致谢

开发工具由 JetBrains 赞助的 Pycharm

MIT License Copyright (c) 2020 杨学峰 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Django + Python + MySQL + Redis + Docker + Supervisor 搭建的个人博客 展开 收起
Python 等 5 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/a1401358759/my_site.git
git@gitee.com:a1401358759/my_site.git
a1401358759
my_site
my_site
master

搜索帮助