part2:服务器接收企业微信用户消息
流程概括:
PART1:阿里云服务器配置
①购买并配置阿里云服务器(这里选择的是ESC云服务器 centOS7操作系统)
②配置安全组,开放端口(允许外部访问你的服务器)
③购买域名并解析到服务器端
④申请ssl证书并下载
PART2:远程操作服务器
①下载工具软件xshell和xftp,远程连接服务器并将相关文件(ssl证书、要部署的项目文件包)从本地上传服务器
②安装nginx(反向代理)并配置ssl证书
③搭建项目所需环境(python环境、flask所需虚拟环境[我们的项目中用到python的轻量级web框架flask,flask正常运行需要虚拟环境])
④在服务器防火墙开放服务端口
⑤使用终端命令让项目后台运行
PART 1:阿里云相关配置
1.服务器:
服务器是计算机的一种,它比普通计算机性能更好。服务器在网络中为其它客户机提供计算或者应用服务。
云服务器(Elastic Compute Service, ECS)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效,无需购买硬件,即可迅速创建或释放任意多台云服务器
阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
登录阿里云管理后台:
地址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
在云服务器概览查看我的资源——概览,单击实例名称查看详细信息
可以在详细信息中暂时关闭服务器,更改操作系统
购买好服务器后在操作栏中点击更多,设置/更改远程连接密码
2.安全组:
阿里云服务器后台→右侧选项卡:安全组→创建安全组→操作选项卡:配置规则
手动添加:协议类型TCP;端口范围(特殊端口:如443为SSL协议端口;也有可以自定义服务的端口);授权对象0.0.0.0/0即为对所有访问方开放
3.域名:
购买域名,完成实名认证
点击操作选项卡中的解析设置将域名解析到服务器
添加记录→两条记录类型分别为:@;www(一级/二级);记录值为主机IP地址;其他默认→状态正常即可
(域名备案:手机端下载APP搜索域名备案按提示操作即可)
检测解析结果:阿里云网站运维检测平台
PING 命令是用于确定本地主机(也就是你的机器)是否能与另一台主机(服务器和个人计算机)成功交换数据包,再根据返回的信息你就可以推断TCP/IP参数(因为现在网络一般都是通过TCP/IP传送数据的)是否设置,网络是否通畅等。
但不是PING成功就代表TCP/IP配置正确,你有可能要执行大量的本地主机与远程主机的数据包交换,才能确信TCP/IP配置的正确性.
打开终端(cmd),输入ping chichibomm.com,检测连接
4.ssl证书:
阿里云搜索ssl证书,可以免费申请ssl证书
申请后配置到服务器,如果不能检测到服务器,自行下载相关版本ssl证书后通过服务器终端命令将证书配置到服务器
数字证书&ssl证书:
数字证书是指在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份。
SSL证书是数字证书的一种,遵守ssl协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能 ,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。
PART2:远程操作服务器
1.Xshell和xftp:
下载地址:家庭/学校免费 - NetSarang Website
Xshell用于远程连接服务器,Xftp用于传输本地文件到服务器
点击新建→使用ssh协议,默认端口号22,主机填写服务器公网IP,用户名(默认为root)密码(在阿里云服务器端设置/更改的服务器密码)方式登录进入终端
SSH协议:SSH为 Secure Shell 的缩写,是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH客户端适用于多种平台。几乎所有UNIX平台—包括LHP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
终端页面如下(使用Linux命令)
几乎同样的方式用xftp远程连接到服务器并传输本地项目文件和ssl证书文件到主机(注意存放的目录[Linux基本目录结构:Linux目录结构和常用命令_Linux教程_Linux公社-Linux系统门户网站])
2.nginx安装和ssl证书配置:
Nginx 安装配置 | 菜鸟教程
大致分为以下步骤:
①nginx所需环境安装(编译工具及库文件等);②nginx安装;③配置nginx.conf;④启动nginx
配置nginx.conf时要注意更改域名信息,监听端口改为443,<http>部分配置ssl证书(文件位置及文件名)
"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。
443端口和80端口的区别?_weixin_39979119的博客-CSDN博客_443端口和80端口
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
Nginx是一个高性能的HTTP和反向代理服务器
关于正向代理服务器与反向代理服务器的区别问题_lyar1225的博客-CSDN博客_正向代理服务器
3.搭建项目所需环境:
python环境:(flask支持python3.6及以上版本)
python之(6)如何把python项目部署到linux服务器上 - 大码王 - 博客园
Linux部署Django:报错 nohup: ignoring input and appending output to ‘nohup.out’ - Tester北柯郡 - 博客园
centOS7自带python3环境,可跳过python环境的搭建
flask虚拟环境:
方法①:flask官方文档对虚拟环境下安装依赖的要求:安装 — Flask 中文文档 (2.0.2)
官方文件执行到python3 -m venv venv命令行时可能会报错,复制报错关键词搜索得到解决方案:加参数
python3 -m venv venv --system-site-packages --without-pip
方法②:virtualenv安装:virtualenv的介绍及基本使用(所有命令解释)_墨痕诉清风的博客-CSDN博客_virtualenv
#!/bin/bash
cd /opt
pip install virtualenv //安装虚拟环境软件
virtualenv flask //创建虚拟环境flask
. flask/bin/activate //激活虚拟环境
退出虚拟环境是deactivate命令
虚拟环境无所谓安装在哪个目录,只要为flask或其他项目依赖包搭建好虚拟环境保证其正常运行即可;
虚拟环境之间不会起冲突,但两个虚拟环境不能同时运行一个程序,因为程序运行占用同一个端口(在本项目中,两个环境唯一冲突的就是,两个不能时运行main.py,为什么呢?因为他们都跑了https的服务监听了443端口。);但可以分别运行不同的程序
4.在服务器防火墙开放服务端口:
Linux 防火墙 | Linux 服务器如何开放端口 配置防火墙_weixin_30399871的博客-CSDN博客
5.部署服务并在后台运行项目:
开源项目包 Huang-Shijie-SDUWH/Helpdesk
使用前阅读说明文件README.md
main.py为主程序,其他为主程序依赖函数等;需要更改的部分为main.py里的域名和ssl证书文件位置及证书名,新建config.yaml文件,用于放AESkey Stoken corpid secret参数(新建.py更改扩展名为yaml即可)
在文件资源管理器——查看中可以显示文件扩展名
更改完成后将项目文件上传到服务器(位置一般为opt文件夹)
使用nohup命令使项目在后台运行
Linux nohup 命令 | 菜鸟教程
cd project
nohup python main.py > /dev/null 2> /dev/null &
查看后台程序是否重复运行:
ps -ef|grep python
可以看出虚拟环境下的python主程序文件运行重复,杀掉32070
kill -s 9 (程序号)
前台运行测试:
cd /opt/project python main.py
出现error字段:address already in use,即前面提到过的程序运行重复,端口被占用问题
杀掉之前运行的程序再开启新的即可
last step:登陆企业微信后台→应用管理→验证url请求通过即可实现接收消息!
part2:服务器接收企业微信用户消息相关推荐
- Python实现接收企业微信接收消息
想接收企业微信的消息,首先得开启验证信息API(GET请求)以及接收消息服务(POST请求). GET的请求参考: 企业微信验证接口API 第一部分解析POST请求: 并且解析msg_signatur ...
- 一台云服务器绕过企业微信域名验证本地开发
背景 如今的企业微信应用接入开发,一定要有域名和云服务以及网站备案(国内需要) 但本人通过申请域名后发现还要等3天才能进行网站备案,而且大概了解了一下网站备案审核期间大概半个月~一个月,时间特别久 我 ...
- 快递打印云服务器_企业微信支持寄快递查快递,实现员工寄件自由
企业微信作为一款独立的APP,与私人微信分开,除了基础类似微信的聊天功能,还集成了公告.考勤.请假.报销等简单OA功能:具有简约.易用的沟通体验,还可以通过第三方应用来更好实现企业多样化办公场景. 企 ...
- 微信同步通讯录服务器繁忙,企业微信同步通讯录时提示 mobile existed
本帖最后由 dr琅琊人 于 2020-3-26 10:47 编辑 http://XXXX.com"},"process":"/SA/weixin/process ...
- 企业微信 接收消息服务器,接收消息与事件
[TOC] 关于接收消息 为了能够让自建应用和企业微信进行双向通信,企业可以在应用的管理后台开启接收消息模式. 开启接收消息模式的企业,需要提供可用的接收消息服务器URL. 开启接收消息模式后,用户在 ...
- 企业微信消息推送(一)接收消息服务器URL
1.点击左上角头像,打开微信管理平台 2.创建应用 3.获取五个参数 3.1获取应用的AgentId.Secret 3.2获取企业ID 配置接收消息服务器URL 企业微信限制过多,公司域名所有权检验不 ...
- Nodejs版本的企业微信中接收消息与腾讯对接之验证URL 代码已经上传,可以去下载
1 当我们开发企业微信中的消息推送的时候,如果要接收来自用户的信息,需要提供一个接收消息的服务器地址来对接,如果使用nodejs来开发的话,按照文档说明,你可能不会成功.下面总结下我自己的步骤,已经成 ...
- 对接企业微信4:接收消息与事件
关于接收消息 为了能够让自建应用和企业微信进行双向通信,企业可以在应用的管理后台开启接收消息模式. 开启接收消息模式的企业,需要提供可用的接收消息服务器URL. 开启接收消息模式后,用户在应用里发送的 ...
- 企业微信下班后能收到通知吗?不接收消息怎么设置?
很多企业使用企业微信来运营客户,为了将工作与生活分开,用户可以将企业微信设置为下班状态. 前言 现在越来越多的企业使用企业微信来运营客户,而员工经常能在半夜收到客户的消息,深受困扰,感觉工作与生活分不 ...
- 企业微信通讯录回调请求验证及接收
首先:企业微信回调要求的路径验证 代码: /*** 回调路径验证* @param request* @return*/@Overridepublic String verificationUrl(Ht ...
最新文章
- Android项目实战(二十七):数据交互(信息编辑)填写总结
- 30分钟正则表达式入门。
- mqtt 获取所有topic_MQTT协议解析
- java——File类常用方法
- android创建类的包名称,如何知道/配置Xamarin Android生成的程序包名...
- Rosie's Frankly Speaking
- 华为不可参与 IEEE 审稿但可继续提供赞助;谷歌限制 Chrome 接口惹非议;Mozilla 号召用户换火狐 | 开发者周刊...
- 7 win 卸载node_如何从windows中完全删除node.js_windows彻底卸载node教程
- aspose word 删除空行_Word:删除空行
- jdk1.8下载与安装教程
- 文库系统 文库网站建设仿百度文库 道客巴巴 豆丁
- 小知识·OTG工作原理
- NoClassDefFoundError: Could not initialize class
- 中华第一考----系统架构设计师考试
- html做一个条码扫描页面,vue h5页面如何实现扫一扫功能,扫条形码获取编码
- Goroutines和线程对比
- html电视剧网页模板,电视剧列表.html
- Node.js快速入门
- ACM竞赛第12题:游戏问题
- 运算放大器(一)简介