# blooog
blooog
基于material-ui + react + koa2 + mongodb的个人博客,目前仍在开发中,只有很简单的功能。
技术栈:
UI: material-ui、toastr(全局提示组件)、semantic-ui-react(pagination组件)。
JS:React、react-router、redux、redux-thunk。
服务端: koa2 (将逐步替换ts)。
数据库: mongodb(mongoose)。
demo地址:http://132.232.131.250:3000 admin / admin
上域名太麻烦了,请轻测。
主要目的:
1. 练习无法在工作中使用的技术栈。
2. 可能的话,替换掉现在的博客系统。
文档详细地址:https://www.kancloud.cn/fps_2fps/test1/937003
API详细地址:https://www.showdoc.cc/234860389352945?page_id=1338365306594574
修改记录地址:https://www.kancloud.cn/fps_2fps/test1/961710
问题记录:https://www.kancloud.cn/fps_2fps/test1/973491
## 已实现功能
1. 文章的增删改查。
2. 标签的增删改查。
3. 站点配置。
4. 加密登录和修改密码功能。
## fontEnd
此文件夹下存放的是前端代码。
### 安装依赖
```
cd fontEnd
npm install
```
### 启动开发环境
```
npm run start
```
浏览器中访问 http://127.0.0.1:3000/
### 修改代理服务器地址
由于使用了create-react-app脚手架,所以只要在package.json中的proxy字段中输入代理的url路径即可(最新版的3.0只支持字符串了)。
### 编译生成静态资源
```
npm run build
```
## backEnd
此文件夹下存放的是服务端代码。
### 服务器启动
我是在window下开发的,在mongodb安装目录的bin目录下启动powershell或者cmd,输入 ./mongod.exe --dbpath D:/data/ (我是选择D盘的data文件夹存放数据的)。
### 默认基础配置
在config文件夹下的config.js中,可以设置默认用户的账户名和密码(服务器启动后会写入数据库),请启动前修改,或启动后修改密码。
更多配置修改和设置在后期提供。
### 安装依赖
```
cd backEnd
npm install
```
### 启动开发环境
```
npm run start
```
服务端的端口是8000,可自行修改。
### 数据库
使用到的数据库是mongodb,window下的mongodb下载路径如下:http://dl.mongodb.org/dl/win32/x86_64。
本人使用的是3.4.19版本的,并使用了robomongo可视化工具。
可视化工具下载地址:https://robomongo.org/download。
生产环境中的是在ubuntu下安装的。
## 生产环境搭建
本人是在ubuntu16.04下搭建的。
### 安装mongodb
```
sudo apt update
sudo apt install mongo -y
mongo -version
```
如果能出现对应的版本,那么就安装成功了,本人服务器上安装的是2.6.10版本。
安装完后的数据库默认是启动的。
### 启动koa2
本人是在服务端直接clone github上的代码,并启动node程序的。
#### 安装git
```
sudo apt-get install git
// 配置git账户
git config --global user.name "xxx"
git config --global user.email "你的邮箱地址"
```
#### 安装node与npm
```
sudo wget https://nodejs.org/dist/v11.9.0/node-v11.9.0-linux-x64.tar.xz
sudo tar -xvf node-v11.9.0-linux-x64.tar.xz
sudo mv node-v11.9.0-linux-x64 /usr/local
sudo ln -s /usr/local/node-v11.9.0-linux-x64/bin/node /usr/local/bin/node
sudo ln -s /usr/local/node-v11.9.0-linux-x64/bin/npm /usr/local/bin/npm
node -v
npm -v
```
node与npm都能输出正确的版本的话,即安装正确了。
#### 获取代码并启动服务
本人在/home/目录下克隆了github仓库中的代码。
```
sudo git clone https://github.com/2fps/blooog.git
cd blooog/backEnd/ && sudo npm install
sudo npm install pm2 -g
sudo ln -s /usr/local/node-v11.9.0-linux-x64/bin/pm2 /usr/local/bin
npm run prd
```
### 安装nginx并配置
前端build出的代码给nginx做静态资源的代理,而api则被代理到其他koa2的端口上。
```
sudo apt-get install nginx -y
cd /etc/nginx/sites-enabled/
sudo touch web
sudo vi web
```
将nginx的配置修改为:
```
server {
listen 3000;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 6;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
location / {
root /home/resource;
index index.html index.htm;
}
location /api {
proxy_redirect off;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8000/api;
}
}
```
重启nginx
```
sudo server nginx restart
```
#### 上传静态资源
本人是在本地build前端的资源文件,再上传到服务端上的。没有安装ftp,所以使用了rz命令。
进入build目录,压缩成 ***.zip,再用unzip命令进行解压。
```
sudo apt-get install lrzsz
sudo apt-get install unzip
```
安装完命令后,cd到 /home/resource 文件夹下,没有的话,请先创建。
接着选中需要上传的压缩文件。
```
sudo rz
suzo unzip ***.zip
```
## 最后一步
此时在浏览器的地址栏中输入,http://ip:3000 (自己有域名的话,可以挂上),可以访问到blooog了。
如果使用admin/admin密码的请登录后,再右上角点击修改密码。
为了博客的一些功能的正常使用,请在设置中增加正确的配置。
刚起步,其他功能正在加入或优化。
Have Fun!
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于node.js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,适合用作毕业设计、课程设计作业等,项目均经过测试,可快速部署运行! 基于node.js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,适合用作毕业设计、课程设计作业等,项目均经过测试,可快速部署运行! 基于node.js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,适合用作毕业设计、课程设计作业等,项目均经过测试,可快速部署运行!
资源推荐
资源详情
资源评论
收起资源包目录
基于material-ui+react+koa2+mongodb的个人博客系统.zip (117个子文件)
bootstrap.css 143KB
bootstrap.min.css 118KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
md.css 5KB
index.css 533B
App.css 508B
main.css 123B
style.css 111B
webfont.eot 6KB
.gitignore 310B
.gitignore 32B
.gitkeep 0B
index.html 2KB
favicon.ico 4KB
jsencrypt.js 128KB
jsencrypt.min.js 55KB
Default.js 24KB
tagSetting.js 13KB
Login.js 10KB
writearticle.js 8KB
article.js 7KB
showallarticle.js 7KB
articleDetail.js 5KB
header.js 5KB
serviceWorker.js 5KB
setting.js 4KB
http.js 4KB
paramsFormat.js 3KB
Index.js 3KB
welcome.js 3KB
login.js 3KB
articleBrief.js 3KB
tag.js 2KB
allArticles.js 2KB
newest.js 2KB
log4js.js 2KB
app.js 2KB
tag.js 2KB
tagsAction.js 2KB
middleware.js 2KB
tags.js 2KB
websiteAction.js 2KB
website.js 1KB
filterAction.js 1KB
filterReducer.js 1KB
footer.js 1KB
websiteReducer.js 1KB
security.js 1KB
App.js 1KB
tagsReducer.js 1KB
article.js 1KB
tool.js 818B
catalog.js 749B
errorCode.js 743B
userAction.js 622B
init.js 612B
config.js 586B
db.js 582B
authority.js 558B
userReducer.js 480B
index.js 477B
index.js 451B
store.js 389B
RSA.js 360B
filterActionType.js 340B
website.js 329B
user.js 303B
App.test.js 248B
tagsActionType.js 243B
websiteActionType.js 235B
Filter.js 216B
catalogModel.js 180B
articleModel.js 180B
websiteModel.js 180B
MD5.js 174B
userModel.js 162B
tagModel.js 156B
tools.js 146B
userActionType.js 133B
package-lock.json 710KB
package-lock.json 129KB
tsconfig.json 5KB
package.json 1KB
package.json 1KB
manifest.json 306B
LICENSE 11KB
bootstrap.min.css.map 529KB
bootstrap.css.map 380KB
bootstrap-theme.css.map 47KB
bootstrap-theme.min.css.map 25KB
README.md 5KB
README.md 3KB
2019-02-28_195226.png 3KB
Default.scss 2KB
main.scss 952B
articleBrief.scss 822B
Index.scss 683B
tags.scss 585B
header.scss 386B
共 117 条
- 1
- 2
资源评论
白话机器学习
- 粉丝: 8910
- 资源: 7681
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- keil2 + proteus + 8051.exe
- 1961ee27df03bd4595d28e24b00dde4e_744c805f7e4fb4d40fa3f695bfbab035_8(1).c
- mediapipe-0.9.0.1-cp37-cp37m-win-amd64.whl.zip
- windows注册表编辑工具
- mediapipe-0.9.0.1-cp37-cp37m-win-amd64.whl.zip
- 校园通行码预约管理系统20240522075502
- 车类型数据集6250张VOC+YOLO格式.zip
- The PyTorch implementation of STGCN.STGCN-main.zip
- 092300108.cpp
- 车类型数据集6000张VOC+YOLO格式.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功