该项目以迁移到 https://github.com/yanthink/pingfan.blog ,今后不再维护
- 产品名称:个人博客系统api接口
- 项目代号:blog-api
- 演示地址:https://www.einsition.com
- 前端源码:https://github.com/yanthink/blog-v2
该项目基于 Laravel7.0 开发。
- 文章列表 -- Elasticsearch搜索;
- 文章详情;
- 微信小程序评论、回复、收藏、点赞;
- 消息通知 -- 在线时 websocket 广播,离线是邮件通知;
- 用户认证 -- 登录、退出,小程序扫码登录;
- 多角色权限管理;
- 附件上传 -- 支持清除无效的附件;
- 文章管理 -- 列表、详情、发布、修改、删除;
- 用户管理 -- 列表、添加、修改、分配角色、分配权限;
- 在线用户 -- 实时查看在线用户数据;
- 定时清除无用的附件;
- Debugbar;
- Nginx 1.8
- PHP >= 7.2.5
- MySQL 8.0
- Redis 3.0
- Elasticsearch 7.0
本项目代码使用 PHP 框架 Laravel 7.0 开发,本地开发环境使用 Laravel Valet。
克隆 blog-api
源代码到本地:
git clone https://github.com/yanthink/blog-api.git
composer install
cp .env.example .env
你可以根据情况修改 .env
文件里的内容,如数据库连接、缓存、邮件设置等:
APP_URL=http://api.blog.test
...
DB_HOST=localhost
DB_DATABASE=blog
DB_USERNAME=root
DB_PASSWORD=
php artisan key:generate
php artisan storage:link
php artisan telescope:install
php artisan telescope:publish
telescope 需要安装 bcmath 扩展,否则程序无报错但也无法运行(可以选择不启用,或者注释掉
config/app.php
下面的TelescopeServiceProvider
服务提供注册)
php artisan migrate --seed
php artisan passport:install
初始的用户角色权限已使用数据迁移生成。
管理员账号密码如下:
username: admin
password: 888888
查看 https://www.einsition.com/articles/3
php artisan es:init
npm install -g laravel-echo-server
laravel-echo-server client:add
根据情况修改 laravel-echo-server.json
和 .env
配置,最后启动 laravel-echo server
laravel-echo-server start
nginx 配置
location /socket.io {
proxy_pass http://127.0.0.1:6001;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_redirect off;
proxy_read_timeout 60s;
}
至此, 安装完成 ^_^。