MoreAPI_PRO项目部署方式

一、部署准备

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

二、环境搭建

准备一台全新的服务器,安装完宝塔面板后进入,安装nginxMySQL。然后等待安装任务完成。在左侧菜单栏软件商店搜索redis安装。

image-20240131094511065
image-20240131100210902

以上安装完成后,点击左侧菜单栏网站,选择Python项目安装Python环境,点击Python管理器,选择安装Python3.10.0。等待Python安装完成。

image-20240131101007255

三、安装项目

以上环境安装全部完成后,就可以上传源码并安装了。

上传源码

点击左侧菜单栏文件,选择进入/www/目录,新建文件夹并命名为MoreAPI_Pro,然后将官网下载的MoreAPI_Pro源码上传至新建的文件夹中解压缩。

image-20240131101505753
image-20240131101523658

安装

文件上传并解压后,点击菜单栏左侧的网站–>点击Python项目–>点击添加Python项目,运行文件选择main.py

image-20240131101935274

最后点击提交,开始自动创建虚拟环境,等待项目创建完成。下面开始配置项目

配置

进入项目目录,再进入项目目录中的applications文件夹,找到config.py文件,点击编辑文件,可以看到项目的MySQL配置、redis配置、开关配置都在此文件中。 (每次修改项目文件都要重启服务方可生效)

image-20240131102410154

该配置文件中的内容如下:

#!/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(防止部分机器创建文件权限不足),重启服务即可,

image-20240131105034590
image-20240131105101759

我们找个API请求工具测试一下,完美运行。

image-20240131105223783

注:常见问题

一、代理配置

项目分为多个代理可供选择:

  • 流冠代理(隧道代理,每次请求更换IP,消耗流量)
  • 巨量代理(不限量代理, 每30秒获取一次IP,每次获取10个,随机调用。依托于redis)
  • 快代理 https://www.kuaidaili.com/?ref=51tpcq6i3nh1

快代理配置

项目配置文件中applications/config.py文件中快代理部分填写如下图的部分。另外配置文件中的代理方式要填写为K方可生效

图片[11]-MoreAPI_PRO项目部署方式-多点部落

流冠代理配置

进入流冠代理官网(杭州流冠科技有限公司-流冠IP代理-高匿HTTP-在线代理ip-隧道代理-千万IP服务供应商 (hailiangip.com)),注册账号并实名认证后,选择购买动态代理–流量计费方式

image-20240131105720855

购买成功后,进入个人中心–>订单管理–>流量订单,找到刚才购买的代理,点击进入详情

image-20240131105903762

进入详情后,点击配置订单密码,和配置白名单,将服务器IP填写进白名单中。

image-20240131110048411

然后进入MoreAPI_Pro项目目录,进入applications文件夹,找到config.py配置文件,将刚刚购买的订单号和配置的订单密码填写进配置文件,然后将下方的代理功能打开。PROXY_NAME填写LG即可。重启MoreAPI_Pro服务即可。

image-20240131110349067

巨量代理配置

进入巨量代理官网:https://www.juliangip.com/user/reg?inviteCode=1022456,注册账号并实名认证后,选择购买套餐,选择不限量代理套餐,根据个人需求选择。

image-20240131110627959

购买后,进入个人中心–>产品管理–>动态代理(不限量)–>设置授权信息,设置白名单为自己的服务器IP

image-20240131111015818

然后进入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                   # 运行文件
© 版权声明
THE END
喜欢就支持一下吧
点赞6赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容