# 博客
#### 介绍
该项目是一个前后端分离的博客系统,由 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
程序员柳
- 粉丝: 8372
- 资源: 1469
最新资源
- 基于springboot+vue的高校教师科研管理系统(Java毕业设计,附源码,部署教程).zip
- 基于springboot+vue的公司日常考勤系统(Java毕业设计,附源码,部署教程).zip
- 基于springboot+vue的课程作业管理系统(Java毕业设计,附源码,部署教程).zip
- Mybatis入门学习代码
- 基于springboot+vue的课程答疑系统2(Java毕业设计,附源码,部署教程).zip
- 基于springboot+vue的课程答疑系统(Java毕业设计,附源码,部署教程).zip
- 基于springboot+vue的华强北商城二手手机管理系统(Java毕业设计,附源码,部署教程).zip
- 基于springboot+vue的海滨学院班级回忆录的设计与实现(Java毕业设计,附源码,部署教程).zip
- 基于springboot+vue的美发门店管理系统(Java毕业设计,附源码,部署教程).zip
- 基于springboot+vue的旅游管理系统的设计与实现(Java毕业设计,附源码,部署教程).zip
- 基于springboot+vue的旅游网站的设计与实现(Java毕业设计,附源码,部署教程).zip
- 基于springboot+vue的欢迪迈手机商城设计与开发(Java毕业设计,附源码,部署教程).zip
- 基于springboot+vue的美容院管理系统(Java毕业设计,附源码,部署教程).zip
- 基于springboot+vue的民宿在线预定平台2(Java毕业设计,附源码,部署教程).zip
- 基于springboot+vue的民宿在线预定平台(Java毕业设计,附源码,部署教程).zip
- 基于springboot+vue的基于mvc的高校办公室行政事务管理系统设计与实现(Java毕业设计,附源码,部署教程).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈