# orystalBlog **Repository Path**: orystal/orystalBlog ## Basic Information - **Project Name**: orystalBlog - **Description**: 一个博客系统,由 vue 和 django 框架开发完成。支持的功能有:发布文章、文章分类、注册、登录、留言、代码高亮等 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 17 - **Forks**: 4 - **Created**: 2022-02-13 - **Last Updated**: 2025-04-18 ## Categories & Tags **Categories**: blog **Tags**: Python, Django ## README # 博客 #### 介绍 ​ 该项目是一个前后端分离的博客系统,由 vue 和 django 框架开发完成。支持的功能有:发布文章、文章分类、注册、登录、留言、代码高亮等,该项目还集成了docker自动化部署脚本,方便部署上线和二次开发。 #### 软件架构 ​ 前端:vue ​ 后端:django、mysql、redis、nginx、fastdfs、celery、uwsgi 等 ​ 部署:docker、docker-compose #### 部署上线 ##### 准备 1. 准备一台 ubuntu 云服务器,查看服务器对应的 公网IP 和 内网IP 2. 在云管理平台配置防火墙,开启以下入站端口:22(ssh)、80(前台端口)、8001(后台端口)、8888(Fastdfs) 3. 远程 ssh 登录到服务器,切换至 root 账号 4. 安装 docker 和 docker-compose ```shell apt install docker.io && apt install docker-compose ``` ##### 配置 按照以下步骤,修改相关配置文件: ###### 一、秘钥 1. product_settings.py 修改配置文件中的秘钥 ```shell SECRET_KEY = '随机字符串' ``` ###### 二、mysql 1. docker-compose.yml 修改以下配置,其它配置默认即可 ```shell - MYSQL_ROOT_PASSWORD= 你的root账号密码 - MYSQL_USER= 新建普通账号,待后续使用 - MYSQL_PASSWORD= 新建普通账号的密码,待后续使用 ``` 2. product_settings.py 修改以下配置,其它配置默认即可 ```shell DATABASES = { 'default': { ...... 'USER': '刚刚填写地普通账号', 'PASSWORD': '刚刚填写地普通账号的密码', ...... } } ``` ###### 三、redis 1. docker-compose.yml 修改以下配置,其它配置默认即可 ```shell command: redis-server --requirepass 你的redis连接密码,待后续使用 ``` 2. celery_tasks/product_config.py 修改以下配置 ```shell broker_url = "redis://root:刚刚填写的redis密码@redis:6379/15" ``` 3. product_settings.py 修改以下配置,其它配置默认即可 ```shell CACHES = { "default": { ...... "OPTIONS": { ....... "PASSWORD": "刚刚填写的redis密码", } }, "session": { ...... "OPTIONS": { ...... "PASSWORD": "刚刚填写的redis密码", } }, "verfication": { ...... "OPTIONS": { ...... "PASSWORD": "刚刚填写的redis密码", } } } ``` ###### 四、Fastdfs 1. docker-compose.yml 修改以下配置,其它配置默认即可 ```shell - TRACKER_SERVER= 你的内网IP:22122 ``` 2. fastdfs/client.conf 修改以下配置,其它配置默认即可 ```shell tracker_server= 你的内网IP:22122 ``` 3. product_settings.py 修改以下配置,其它配置默认即可 ```shell FDFS_BASE_URL = '你的外网IP或域名:8888/' ``` ###### 五、nginx 1. mysite.conf 修改以下配置,其它配置默认即可 ```shell uwsgi_pass 你的内网地址:8000; ``` ###### 六、邮箱 1. product_settings.py 配邮箱相关信息,以163邮箱为例 ```shell EMAIL_HOST = "smtp.163.com" EMAIL_PORT = 25 EMAIL_HOST_USER = "你的163邮箱账号" EMAIL_HOST_PASSWORD = "你开通的POP3秘钥" EMAIL_FROM = "邮箱头部信息" EMAIL_CONFIRM_URL = 'http://你的外网IP或域名:8001' ``` 2. celery_tasks/send_email/utils.py 修改邮件发送内容,根据自己的需求修改 ``` html_message = '邮件发送内容' ``` ###### 七、CORS 1. product_settings.py 跨站请求白名单 ```shell CORS_ORIGIN_WHITELIST = ( 'http://你的外网IP或域名', ) ``` ###### 八、前端 1. dist/static/js/app.xxx.js 搜索关键字 baseURL,修改以下配置 ```shell baseURL="http://你的外网IP或域名:8001/" ``` ##### 安装 1. 将整个项目文件上传到服务器 2. 进入网站根目录 3. 执行以下命令,等待安装完毕即可 ```shell chmod +x install.sh && ./install.sh ``` ##### 完成 1. 创建管理员账号 ```shell docker exec -it mysite bash python manage.py createsuperuser ``` 2. 登录后台 地址:http://你的外网ip或者域名:8001/admin