在CentOS 7上部署nginx以及使用werobot实现微信公众号自动回复

随着微信公众号的广泛应用,越来越多的开发者开始利用这一平台为自己的项目或服务增加互动性和功能性。本文将详细介绍如何在CentOS 7系统上部署Python开发环境、Nginx服务器,并使用werobot框架实现微信公众号的订阅回复和关键词回复功能,同时搭建一个Nginx图片服务器来支持图片消息的发送。

一、部署Python开发环境

  1. 打开终端,使用yum包管理器安装Python 3:

    sudo yum install -y python3
    sudo yum install -y python3-pip

安装完成后,你可以通过python3pip3命令来运行Python 3程序或安装第三方库。

  1. 接下来,使用pip3安装werobot:
bash 复制代码
# pip3 install werobot

二、搭建Nginx服务器

Nginx是一个高性能的HTTP和反向代理服务器,我们可以使用它来托管静态文件或作为反向代理来转发请求到我们的Python应用。

  1. 安装Nginx依赖环境:
r 复制代码
yum install gcc-c++ 
yum install -y openssl openssl-devel
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel

2.安装nginx

下载nginx压缩包,找个文件夹放压缩包

arduino 复制代码
wget https://nginx.org/download/nginx-1.14.0.tar.gz

解压压缩包并进入目录

bash 复制代码
tar -zxvf nginx-1.14.0.tar.gz 
cd nginx-1.14.0/

使用nginx默认配置并编译安装

go 复制代码
./configure
make 
make install

进入 /usr/local/nginx/sbin 目录执行启动命令并查看是否启动成功

bash 复制代码
./nginx
ps -ef | grep nginx

网页访问 http://你的ip地址:80 即可看到nginx的欢迎页面

3.创建一个图片服务器 在这个目录下创建一个images.conf文件

文件的代码为,同时把你的图片资源放到指定目录下

server 复制代码
    listen 80;  
    server_name _; # 使用 _ 匹配任何域名  

    location /images/ {  
        root /usr/share/nginx/html/images; # 你的网站根目录,图片目录应该是这个目录下的子目录  
        try_files $uri $uri/ =404; # 尝试直接访问文件,如果文件不存在则返回404  
    }  

    # 其他配置...  

    # 错误处理页面(可选)  
    error_page 404 /404.html;  
    location = /404.html {  
        root /path/to/your/webroot; # 你的网站根目录  
    }  
}

保存后重新运行nginx

bash 复制代码
sudo ./nginx -s reload

在浏览器上输入:IP地址+:端口号(默认80)+/images/img.jpg 就能访问到图片了

三、python实现公众号自动回复

使用werobot完成公众号自动回复逻辑

python 复制代码
import random
import werobot
from werobot.replies import ArticlesReply, Article, ImageReply, TextReply, MusicReply
robot=werobot.WeRoBot(token='你的微信token')
# 订阅后的回复
@robot.subscribe
def subscribe():
    return "***欢迎关注公众号[愉快][愉快][愉快]***\n" \
           "***输入任意内容开始与我聊天!\n" \
           "***输入'博客'关注我的博客!\n" \
           "***输入'音乐'推荐一首音乐!\n"
# 关键字 博客 回复
@robot.filter('博客')
def blog(message):
    reply = ArticlesReply(message=message)
    article = Article(
        title="Python",
        description="我的个人博客",
        img="https://werobot.readthedocs.io/zh_CN/latest/_static/qq.png",
        url="https://juejin.cn/user/3283580644764608"
    )
    reply.add_article(article)
    return reply
@robot.image
def blog(message,session):
    print("\n"+message.MediaId)
    changdu = str(len(session))
    session[changdu] = message.MediaId
    reply = ImageReply(message=message, media_id=message.MediaId)
    return reply
# 随机一首音乐
def music_data():
    music_list = [
            ['童话镇','陈一发儿','https://e.coka.la/wlae62.mp3','https://e.coka.la/wlae62.mp3'],
            ['都选C','缝纫机乐队','https://files.catbox.moe/duefwe.mp3','https://files.catbox.moe/duefwe.mp3'],
            ['精彩才刚刚开始','易烊千玺','https://e.coka.la/PdqQMY.mp3','https://e.coka.la/PdqQMY.mp3']
            ]
    num = random.randint(0,2)
    return music_list[num]
@robot.filter('音乐')
def music(message):
    return music_data()
robot.config['HOST']='0.0.0.0'
robot.config['PORT']=80
robot.run()

在这里进行微信配置

把你的代码放到服务器上运行,然后就可以对公众号进行测试了

相关推荐
写bug写bug1 小时前
11个提高生产力的Go小技巧
后端·go
markix1 小时前
springboot 配置加密,jasypt加解密命令
java·spring boot·后端·jasypt
nbplus_0071 小时前
golang go-bindata打包配置文件嵌入到二进制文件
开发语言·后端·golang·个人开发·go配置文件
努力的小雨2 小时前
解码技术债:AI代码助手与智能体的革新之道
后端·aigc
LiamHong_2 小时前
简单了解 HTTP 请求方法
前端·后端·http·学习方法·web
Lucifer三思而后行2 小时前
Centos 7.9 一键安装 Oracle 12CR2 单机
后端·oracle
Flying_Fish_roe2 小时前
spring-08
java·后端·spring
爱分享的码瑞哥2 小时前
Rust 基础教程
开发语言·后端·rust
辣码甄源3 小时前
“让爷看看”!开源智能坐姿守护者:PoseMonitor
后端·开源·github
LightOfNight3 小时前
【后端面试题】【中间件】【NoSQL】ElasticSearch的优化方案2(减少字段、冷热分离、参数优化)
分布式·后端·elasticsearch·中间件·架构·nosql