- 0 项目运行环境
- 1 项目下载与IDE导入
- 2 数据库安装与使用(Windows10)
- 2.1 MySQL数据库安装与使用
- 2.1.1 MySQL数据库安装
- 2.1.2 设置root用户密码
- 2.1.3 使用DataGrip连接MySQL数据库
- 2.3 Redis数据库安装与使用
- 2.3.2 使用redis-desktop-manager连接Redis数据库
- 3 前端项目运行
- 3.1 安装依赖包
- 3.2 修改前端访问IP和端口
- 3.3 修改访问后端API接口的IP和端口
- 3.4 运行前端项目
- 4 后端项目运行
- 4.1 配置环境,安装依赖
- 4.2 修改端口,配置文件
- 4.3 启动雪花算法服务
- 4.4 创建logs目录
- 4.5 启动后端项目
- 5 项目整体运行与调试
- 5.1 爬取新浪新闻
- 5.2 更新物料画像
- 5.3 更新用户画像
- 5.4 清除前一天redis中的数据,更新最新今天最新的数据
- 5.5 离线将推荐列表和热门列表存入redis
- 5.6 重新登录用户查看新闻
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工具,导入后端项目
参考胡瑞峰文档和帖子《Windows环境安装 安装mysql-8.0.18-winx64详细图解(zip包版本)》
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] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:/Java/Database/mysql-8.0.18-winx64 # 设置mysql数据库的数据的存放目录 (data文件夹如果没有的话会自动创建) datadir=D:/Java/Database/mysql-8.0.18-winx64/data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
打开CMD,进入D:mysql-8.0.25-winx64bin目录,执行如下命令初始化创建data目录。
cd D:mysql-8.0.25-winx64bin
mysqld --initialize-insecure --user=mysql
(5)启动MySQL服务,并配置成系统服务
使用系统管理员身份,启动CMD,执行如下命令将MySQL配置成Windows系统服务:
mysqld -install --serviceName "MySQL" Service successfully installed.
安装mysql服务方便以后启动:
D:JavaDatabasemysql-8.0.18-winx64bin>mysqld.exe install mysql Service successfully installed
在服务列表中能找到刚刚安装的mysql服务,可设置其启动的方式
右键单击此电脑打开任务管理器的服务,启动MySQL服务。
net start mysql:启动mysql服务
net stop mysql: 停止mysql服务
# 启动mysql服务需要使用管理员角色 # 通过net start命令启动mysql服务 (net stop mysql --终止mysql服务命令) D:JavaDatabasemysql-8.0.18-winx64bin>net start 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退出数据库。
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.5bin
(3)创建目录及配置文件
在bin目录同级的目录创建data目录,继续在data目录下创建db以及log,log目录中还需要创建mongod.log文件。
然后在bin目录的同级目录创建mongod.cfg文件:
systemLog: destination: file path: D:mongodb-win32-x86_64-windows-5.0.5datalogmongod.log storage: dbPath: D:mongodb-win32-x86_64-windows-5.0.5datadb net: port: 27017
- path是配置打印日志的目录
- dbpath是配置数据的存储位置
- port是配置的端口号
(4)启动MongoDB服务,并配置成系统服务
使用系统管理员身份,启动CMD,在D:mongodb-win32-x86_64-windows-5.0.5bin目录下执行如下命令将MongoDB配置成Windows系统服务:
mongod --config D:mongodb-win32-x86_64-windows-5.0.5mongod.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.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-server.exe --service-install redis.windows.conf --serviceName "Redis5.0.14" #或者运行下面这个 redis-server --service-install redis.windows.conf --loglevel verbose
打开任务管理器的服务,查看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出现下拉列表:
安装WebStorm-2021
导入前端项目:open打开vue文件夹就行
安装
安装node
首先安装淘宝的npm,在Terminal中执行如下命令:
npm install -g cnpm --registry=https://registry.npm.taobao.org cnpm install3.2 修改前端访问IP和端口
打开文件package.json,修改第49行的IP和端口,修改内容如下:
"scripts": { "test": "echo "Error: no test specified" && exit 1", "dev": "webpack-dev-server --open --port 8686 --contentbase src --hot --host 127.0.0.1", "start": "nodemon src/main.js" },
127.0.0.1表示游览器的访问IP(也称为本地IP),8686表示访问端口
3.3 修改访问后端API接口的IP和端口打开文件main.js,文件路径:src/main.js,修改第23行的IP和端口,修改内容如下:
// Vue.prototype.$http = axios Vue.use(VueAxios, axios); // axios公共基路径,以后所有的请求都会在前面加上这个路径 // axios.defaults.baseURL = "http://10.170.4.60:3000"; // axios.defaults.baseURL = "http://47.108.56.188:3000"; axios.defaults.baseURL = "http://127.0.0.1:5000"
127.0.0.1表示后端项目的访问IP(也称为本地IP),5000表示访问端口
3.4 运行前端项目在Terminal中执行命令运行前端项目:npm run dev
浏览器会自动访问地址:http://127.0.0.1:8686/#/
通过打开“开发者工具”,调节设备工具栏,显示正常比例的页面
- 安装conda环境,并创建虚拟环境
创建指定路径的Python环境:conda create --prefix venv python=3.8
虚拟环境位置:
包装在libs下面的site-pakeages:
在PyCharm中,设置Python解释器
- 安装依赖文件
在Terminal中执行命令安装依赖包:pip install -r requirements.txt
- 修改后端项目的IP和端口
打开文件server.py,修改第233行的IP和端口,修改内容如下:
if __name__ == '__main__': # 允许服务器被公开访问 # app.run(debug=True, host='0.0.0.0', port=3000, threaded=True) # 只能被自己的机子访问 app.run(debug=True, host='127.0.0.1', port=5000, threaded=True)
127.0.0.1表示后端提供给前端的IP(也称为本地IP),5000表示端口。
- 修改项目路径配置文件proj_path.py
因为没有配置home路径,所以改为读取项目地址。修改项目路径配置文件proj_path.py,文件路径:conf/proj_path.py
# home_path = os.environ['HOME'] # proj_path = home_path + "/fun-rec/codes/news_recsys/news_rec_server/" proj_path = os.path.join(sys.path[1], '')
- 核对数据库配置文件dao_config.py
打开数据库配置文件dao_config.py,文件路径:conf/dao_config.py,核对以下配置:
# MySQL默认配置 mysql_username = "root" mysql_passwd = "123456" mysql_hostname = "localhost" mysql_port = "3306" # MongoDB配置 mongo_hostname = "127.0.0.1" mongo_port = 27017 # Redis配置 redis_hostname = "127.0.0.1" redis_port = 63794.3 启动雪花算法服务
在Terminal中执行命令启动雪花算法服务,用于生成用户ID,启动命令如下:
snowflake_start_server --address=127.0.0.1 --port=8910 --dc=1 --worker=14.4 创建logs目录
在根目录下,创建logs目录,如下图所示:
启动server.py程序(注:在此之前,必须启动数据库并创建数据库,详见2.1.3节和2.2.2节),执行如下命令:
python server.py
注册用户
5.1 爬取新浪新闻通过查看crawl_news.sh文件(文件路径:scheduler/crawl_news.sh),可知爬取新浪新闻的代码在如下目录
/materials/news_scrapy/sinanews/run.py
使用PyCharm的Run按钮,手动执行该代码,需要配置参数:
—pages=30
通过查看offline_material_and_user_process.sh文件(文件路径:scheduler/offline_material_and_user_process.sh),可知更新物料画像的代码在如下目录:
materials/process_material.py
使用PyCharm的Run按钮,手动执行该代码
通过查看offline_material_and_user_process.sh文件(文件路径:scheduler/offline_material_and_user_process.sh),可知更新用户画像的代码在如下目录:
materials/process_user.py
使用PyCharm的Run按钮,手动执行该代码
通过查看offline_material_and_user_process.sh文件(文件路径:scheduler/offline_material_and_user_process.sh),可知清除前一天redis中的数据,更新最新今天最新的数据的代码在如下目录:
materials/update_redis.py
使用PyCharm的Run按钮,手动执行该代码
通过查看run_offline.sh文件(文件路径:scheduler/run_offline.sh),可知离线将推荐列表和热门列表存入redis的代码在如下目录:
recprocess/offline.py
使用PyCharm的Run按钮,手动执行该代码
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)