0 项目运行环境
0.1 获取软件安装包
软件安装包地址:https://share.weiyun.com/u3ZIjZfg
0.2 使用软件版本
操作系统:Windows10
MySQL:8.0.25
Redis:5.0.14
Mongodb:5.0.5
Mini-Conda Python 3.8
Node.js:16.13.1
前端IDE:WebStorm 2021.1
后端IDE:PyCharm Professional 2021.1
访问MySQL和Mongodb的数据库工具:DataGrip 2021.1
访问Redis的工具:redis-desktop-manager-0.9.9.99.exe
1 项目下载与IDE导入
项目地址:
https://github.com/datawhalechina/fun-rec
1.1 前端项目导入
使用WebStrom IDE工具,导入前端项目
1.2 后端项目导入
使用PyCharm IDE工具,导入后端项目
2 数据库安装与使用(Windows10)
2.1 MySQL数据库安装与使用
卸载mysql:帖子1、帖子2
参考胡瑞峰文档和帖子《Windows环境安装 安装mysql-8.0.18-winx64详细图解(zip包版本)》
2.0 centos装的mysql8无法启动,运行service mysql start
显示这个命令找不到
#不装这个下面安装报错,缺少安装包 |
2.1.1 MySQL数据库安装
(1)安装包下载
下载地址:https://dev.mysql.com/downloads/mysql/
安装包版本:8.0.25
(2)配置环境变量
变量名:MYSQL_HOME
变量值:D:\mysql-8.0.25-winx64
在桌面上点击”此电脑–右击–选择属性–选择高级–环境变量”,上方点新建系统变量
在下方环境变量PATH添加:%MYSQL_HOME%\bin
(3)生成data文件
在解压后mysql-8.0.18-winx64的文件下创建my.ini配置文件
具体内容如下
将下面的内容复制到刚创建的文件中 ,主要需要修改的字段为basedir和datadir
basedir=自己的mysql目录
datadir=mysql的data存储的目录
[mysqld] |
打开CMD,进入D:\mysql-8.0.25-winx64\bin目录,执行如下命令初始化创建data目录。
cd D:\mysql-8.0.25-winx64\bin
mysqld —initialize-insecure —user=mysql
(5)启动MySQL服务,并配置成系统服务
使用系统管理员身份,启动CMD,执行如下命令将MySQL配置成Windows系统服务:
mysqld -install --serviceName "MySQL" |
安装mysql服务方便以后启动:
D:\Java\Database\mysql-8.0.18-winx64\bin>mysqld.exe install mysql |
在服务列表中能找到刚刚安装的mysql服务,可设置其启动的方式
右键单击此电脑打开任务管理器的服务,启动MySQL服务。
net start mysql
:启动mysql服务net stop mysql
: 停止mysql服务
# 启动mysql服务需要使用管理员角色 |
2.1.2 设置root用户密码
(1)登录MySQL
在CMD中,输入以下命令登录MySQL(新安装的MySQL,可以无密码登录):mysql -u root
-p
(2)设置root用户密码
输入如下命令,键入回车后执行SQL语句,设置root用户密码为123456:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; |
(3)刷新保存配置
输入如下命令,保存配置并生效:flush privileges;
输入quit
退出数据库。
2.1.3 使用DataGrip连接MySQL数据库
DataGrip2021安装参考帖子1、帖子2。
(1)打开DataGrip工具,新建MySQL连接
(2)配置MySQL连接
(3)连接MySQL数据库
第一次连接mysql会报错,提示你缺少驱动,点击Download Driver Files就会自动帮你安装连接驱动。
(4)更换中文语言教程,参考此贴。
(5)创建userinfo和loginfo数据库
新建一个console窗口,在mysql窗口中输入如下SQL语句,创建数据库:
create database userinfo;
create database loginfo;
(此时不能创建mongodb连接,因为还没装mongodb,也没有启动。装了也连不上)
2.2 MongoDB数据库安装与使用
参考帖子《【2021/8/19-最新教程】Windows安装MongoDB及配置(超详细)》
2.2.1 MongoDB数据库安装
(1)安装包下载
下载地址:https://www.mongodb.com/try/download/community
安装包版本:5.0.5
(2)配置环境变量
在PATH下添加环境变量:D:\mongodb-win32-x86_64-windows-5.0.5\bin
(3)创建目录及配置文件
在bin目录同级的目录创建data目录,继续在data目录下创建db以及log,log目录中还需要创建mongod.log文件。
然后在bin目录的同级目录创建mongod.cfg文件:
systemLog: |
- path是配置打印日志的目录
- dbpath是配置数据的存储位置
- port是配置的端口号
(4)启动MongoDB服务,并配置成系统服务
使用系统管理员身份,启动CMD,在D:\mongodb-win32-x86_64-windows-5.0.5\bin目录下执行如下命令将MongoDB配置成Windows系统服务:mongod --config D:\mongodb-win32-x86_64-windows-5.0.5\mongod.cfg --install --serviceName "MongoDB"
打开任务管理器的服务,查看MongoDB服务。
此时就可以通过net start MongoDB
和net stop MongoDB
以及net delete MongoDB
开启、关闭、删除MongoDB。
2.2.2 使用DataGrip连接MongoDB数据库
(1)打开DataGrip工具,新建MongoDB连接
(2)配置MongoDB连接
(3)连接MongoDB数据库
连接MongoDB数据库,在console中输入语句创建两个库(由于库中没有数据,在MongoDB中还看不到这两个库,等完成项目部署并运行调试之后,刷新MongoDB之后会出来这两个库):
use NewsRecSys;
use SinaNews;
2.3 Redis数据库安装与使用
2.3.1 Redis数据库安装
(1)安装包下载
下载地址:https://github.com/tporadowski/redis/releases
安装包版本:5.0.14
(2)启动Redis服务,并配置成系统服务
使用系统管理员身份,启动CMD,执行如下命令将Redis配置成Windows系统服务:
cd D:\Redis-x64-5.0.14#命令地址 |
打开任务管理器的服务,查看Redis服务。
启动Redis:net start Redis
2.3.2 使用redis-desktop-manager连接Redis数据库
参考《Redis可视化工具Redis Desktop Manager使用教程》
《Redis DeskTop Manager 使用教程》
(1)安装Redis Desktop Manager软件
下载地址:从腾讯微云中获取,参见0.1节
(2)连接Redis数据库
最后点ok就行。点击左侧Redis-@localhost出现下拉列表:
3 前端项目运行
导入前端项目:open打开vue文件夹就行
3.1 安装依赖包
安装
安装node
首先安装淘宝的npm,在Terminal中执行如下命令:
npm install -g cnpm --registry=https://registry.npm.taobao.org |
3.2 修改前端访问IP和端口
打开文件package.json,修改第49行的IP和端口,修改内容如下:
"scripts": { |
127.0.0.1表示游览器的访问IP(也称为本地IP),8686表示访问端口
3.3 修改访问后端API接口的IP和端口
打开文件main.js,文件路径:src/main.js,修改第23行的IP和端口,修改内容如下:
// Vue.prototype.$http = axios |
127.0.0.1表示后端项目的访问IP(也称为本地IP),5000表示访问端口
3.4 运行前端项目
在Terminal中执行命令运行前端项目:npm run dev
浏览器会自动访问地址:http://127.0.0.1:8686/#/
通过打开“开发者工具”,调节设备工具栏,显示正常比例的页面
4 后端项目运行
4.1 配置环境,安装依赖
- 安装conda环境,并创建虚拟环境
创建指定路径的Python环境:conda create --prefix venv python=3.8
虚拟环境位置:
包装在libs下面的site-pakeages:
在PyCharm中,设置Python解释器
- 安装依赖文件
在Terminal中执行命令安装依赖包:pip install -r requirements.txt
4.2 修改端口,配置文件
- 修改后端项目的IP和端口
打开文件server.py,修改第233行的IP和端口,修改内容如下:
if __name__ == '__main__': |
127.0.0.1表示后端提供给前端的IP(也称为本地IP),5000表示端口。
- 修改项目路径配置文件proj_path.py
因为没有配置home路径,所以改为读取项目地址。修改项目路径配置文件proj_path.py,文件路径:conf/proj_path.py
# home_path = os.environ['HOME'] |
- 核对数据库配置文件dao_config.py
打开数据库配置文件dao_config.py,文件路径:conf/dao_config.py,核对以下配置:
# MySQL默认配置 |
4.3 启动雪花算法服务
在Terminal中执行命令启动雪花算法服务,用于生成用户ID,启动命令如下:
snowflake_start_server --address=127.0.0.1 --port=8910 --dc=1 --worker=1 |
4.4 创建logs目录
在根目录下,创建logs目录,如下图所示:
4.5 启动后端项目
启动server.py程序(注:在此之前,必须启动数据库并创建数据库,详见2.1.3节和2.2.2节),执行如下命令:
python server.py
5 项目整体运行与调试
注册用户
5.1 爬取新浪新闻
通过查看crawl_news.sh文件(文件路径:scheduler/crawl_news.sh),可知爬取新浪新闻的代码在如下目录
/materials/news_scrapy/sinanews/run.py
使用PyCharm的Run按钮,手动执行该代码,需要配置参数:
—pages=30
5.2 更新物料画像
通过查看offline_material_and_user_process.sh文件(文件路径:scheduler/offline_material_and_user_process.sh),可知更新物料画像的代码在如下目录:
materials/process_material.py
使用PyCharm的Run按钮,手动执行该代码
5.3 更新用户画像
通过查看offline_material_and_user_process.sh文件(文件路径:scheduler/offline_material_and_user_process.sh),可知更新用户画像的代码在如下目录:
materials/process_user.py
使用PyCharm的Run按钮,手动执行该代码
5.4 清除前一天redis中的数据,更新最新今天最新的数据
通过查看offline_material_and_user_process.sh文件(文件路径:scheduler/offline_material_and_user_process.sh),可知清除前一天redis中的数据,更新最新今天最新的数据的代码在如下目录:
materials/update_redis.py
使用PyCharm的Run按钮,手动执行该代码
5.5 离线将推荐列表和热门列表存入redis
通过查看run_offline.sh文件(文件路径:scheduler/run_offline.sh),可知离线将推荐列表和热门列表存入redis的代码在如下目录:
recprocess/offline.py
使用PyCharm的Run按钮,手动执行该代码
5.6 重新登录用户查看新闻