一、部署准备
MoreAPI_Pro
项目部署需要Linux
环境,服务器配置为2*2轻量型应用服务器。由于项目使用Python开发,所以需要Python环境。本次部署所需环境如下:
- CentOS 7.9.2009 x86_64(Py3.7.9) 宝塔面板8.0.5
- Python == 3.10.0
- MySQL 8.0
- Redis
二、环境搭建
准备一台全新的服务器,安装完宝塔面板后进入,安装nginx
和MySQL
。然后等待安装任务完成。在左侧菜单栏软件商店搜索redis
安装。
以上安装完成后,点击左侧菜单栏网站
,选择Python项目
安装Python环境,点击Python管理器,选择安装Python3.10.0
。等待Python安装完成。
三、安装项目
以上环境安装全部完成后,就可以上传源码并安装了。
上传源码
点击左侧菜单栏文件
,选择进入/www/
目录,新建文件夹并命名为MoreAPI_Pro
,然后将官网下载的MoreAPI_Pro
源码上传至新建的文件夹中解压缩。
安装
文件上传并解压后,点击菜单栏左侧的网站
–>点击Python项目
–>点击添加Python项目
,运行文件选择main.py
最后点击提交,开始自动创建虚拟环境,等待项目创建完成。下面开始配置项目
配置
进入项目目录,再进入项目目录中的applications
文件夹,找到config.py
文件,点击编辑文件,可以看到项目的MySQL配置、redis配置、开关配置都在此文件中。 (每次修改项目文件都要重启服务方可生效)
该配置文件中的内容如下:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
@Project :MoreAPI_Pro_2.0
@File :config.py
@IDE :PyCharm
@Author :多点部落 https://www.wouldmissyou.com
@Date :2024/5/7 14:27
@WebSite :https://www.wouldmissyou.com
'''
class BaseConfig:
# Sanic 拓展启用开关
AUTO_EXTEND = True
# 自动重载开关
AUTO_RELOAD = True
# 自动注册信号开关(开启后不存在的事件将会自动注册)
EVENT_AUTOREGISTER = True
# 异常返回格式
FALLBACK_ERROR_FORMAT = 'json'
REGISTER = True
REQUEST_BUFFER_QUEUE_SIZE = 100
REQUEST_ID_HEADER = "X-Request-ID"
REQUEST_MAX_SIZE = 100000000
REQUEST_MAX_HEADER_SIZE = 8192
REQUEST_TIMEOUT = 600
RESPONSE_TIMEOUT = 600
SECRET_KEY = ")ns9h-%fl^&ro=+-vgl*b-!+a%2=tuwc#&xbpmcavj0*ufpyjh"
# 超级管理员账号 ---- 该账号要确定已经存在于数据库中
SUPERADMIN = ""
# 阿里云短信配置
ALI_ACCESS_KEY_ID = "" # 用户ACCESS_KEY_ID
ALI_ACCESS_KEY_SECRET = "" # 用户ACCESS_KEY_SECRET
ALI_SIGN_NAME = "" # 签名名称
ALI_TEMPLATE_CODE = "" # 模板ID
# mysql 配置
MYSQL_USERNAME = "" # 数据库用户名
MYSQL_PASSWORD = "" # 数据库密码
MYSQL_HOST = "" # 数据库地址
MYSQL_PORT = 3306
MYSQL_DATABASE = "" # 数据库名
# redis 配置
REDIS_PASSWORD = "" # redis密码
REDIS_USERNAME = "" # redis用户名
REDIS_HOST = "127.0.0.1" # redis端口号
REDIS_PORT = 6379 # redis端口
REDIS_DATABASE = 5 # redis数据库号
REDIS = f"redis://{REDIS_USERNAME}:{REDIS_PASSWORD}@{REDIS_HOST}:{REDIS_PORT}/{REDIS_DATABASE}?max_connections=10"
# 流冠代理配置 https://www.hailiangip.com/personal/flow
LG_ORDER_ID = "" # 代理订单号
LG_ORDER_PASSWORD = "" # 代理订单密码
LG_ORDER_HOST = "flow.hailiangip.com" # 代理地址
LG_ORDER_PORT = "14223" # 代理端口号
# 巨量代理配置 https://www.juliangip.com/user/reg?inviteCode=1022456
JL_ORDER_ID = ""
JL_API_KEY = ""
JL_IP_NUM = "10"
# 稻壳代理配置--隧道代理--境内代理地址 https://www.docip.net/dashboard/tunnel_proxy
# 注意:哔哩哔哩 不可使用
DOC_PROXY_URL = ""
# 海外代理---自己随意选择
OVERSEAS_PROXY_URL = ""
# 系统功能设置 (需保证数据库配置正常 并迁移)
PROXY_NAME = "DOC" # JL:巨量代理 LG:流冠代理 DOC:稻壳代理
API_AUTHORIZATION = False # 开启API认证
ALLOWED_HOSTS = ["*"] # 接口白名单,*代表任意IP都可以请求,['xx.xx.xx.xx', 'xxx.xxx.xxx.xxx']代表只有列表里的IP才能请求
DISABLED_HOSTS = [] # 默认为空,黑名单内的IP无法访问任何接口,如果IP同时在黑名单和白名单,黑名单权重大于白名单
# 源码订单号
MOREAPI_ORDER_NUM = ""
·
配置文件默认关闭网络代理、系统认证等功能。
网络代理功能配置详见下方说明
认证功能和小红书cookie池需要MySQL支持,在上方配置上自己的MySQL数据库相关的就可以了
四、大工告成
以上操作完成后,返回Python项目,将启动用户改为root
(防止部分机器创建文件权限不足),重启服务即可,
我们找个API请求工具测试一下,完美运行。
注:常见问题
一、代理配置
项目分为多个代理可供选择:
- 流冠代理(隧道代理,每次请求更换IP,消耗流量)
- 巨量代理(不限量代理, 每30秒获取一次IP,每次获取10个,随机调用。依托于redis)
- 快代理 https://www.kuaidaili.com/?ref=51tpcq6i3nh1
快代理配置
项目配置文件中applications/config.py文件中快代理部分填写如下图的部分。另外配置文件中的代理方式要填写为K方可生效
流冠代理配置
进入流冠代理官网(杭州流冠科技有限公司-流冠IP代理-高匿HTTP-在线代理ip-隧道代理-千万IP服务供应商 (hailiangip.com)),注册账号并实名认证后,选择购买动态代理–流量计费方式
购买成功后,进入个人中心–>订单管理–>流量订单,找到刚才购买的代理,点击进入详情
进入详情后,点击配置订单密码,和配置白名单,将服务器IP填写进白名单中。
然后进入MoreAPI_Pro项目目录,进入applications
文件夹,找到config.py
配置文件,将刚刚购买的订单号和配置的订单密码填写进配置文件,然后将下方的代理功能打开。PROXY_NAME
填写LG
即可。重启MoreAPI_Pro服务即可。
巨量代理配置
进入巨量代理官网:https://www.juliangip.com/user/reg?inviteCode=1022456,注册账号并实名认证后,选择购买套餐,选择不限量代理套餐,根据个人需求选择。
购买后,进入个人中心–>产品管理–>动态代理(不限量)–>设置授权信息,设置白名单为自己的服务器IP
然后进入MoreAPI_Pro项目目录,进入applications
文件夹,找到config.py
配置文件,将刚刚购买的不限量套餐业务号和授权信息的API密钥填写进配置文件,然后将下方的代理功能打开。PROXY_NAME
填写JL
即可。重启MoreAPI_Pro服务即可。
Cookie池相关
MoreAPI_Pro
项目集成cookie池功能,cookie池功能默认关闭的,可通过进入MoreAPI_Pro项目目录,进入applications
文件夹,找到config.py
配置文件,将ENABLE_POOLS
设置为True
,然后重启服务即可。MoreAPI_Pro
接口文档中有cookie池相关API,通过API,可对相对应平台的cookie进行增删改查操作。
注:每个平台的cookie都需要在登录后,获取首页的cookie才能生效
项目目录讲解
--MoreAPI_PRO # 项目根目录
----applications # 程序主文件夹
------common # api通用工具目录
------extensions # api扩展工具目录
------models # 数据库文件目录
------views # 项目视图目录
------__init__.py # 程序主入口
------config.py # 程序配置文件
------tortoise.py # 数据ORM配置文件
----core # 核心目录
------listener # 监听目录
------middlewares # 中间件目录
------__init__.py
----libs # 程序工具目录
----app.py # 运行文件
暂无评论内容