httpbin用于回显http请求参数,对于api调试比较有帮助
如果偶尔使用,借助官网即可; 对于网络不好的,可以自己在局域网内搭建一个.源码在https://github.com/postmanlabs/httpbin
下面记录一下本地使用安装部署的步骤
- 安装miniconda(Miniconda3-py37_4.8.2-Linux-x86_64.sh)
miniconda安装包镜像
chmod +x Miniconda3-py37_4.8.2-Linux-x86_64.sh
sudo ./Miniconda3-py37_4.8.2-Linux-x86_64.sh
# 指定安装位置, 如 /opt/miniconda3
- 配置 pip 源和conda源(这里是清华的源)
vim ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
vim ~/.condarc
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
- 安装 httpbin
检查pip是不是刚刚安装的
sudo which pip
对于centos7, 安装完之后, 可能 sudo 找不到 pip, 或者pip不是刚刚安装的, 需要
sudo ln -s /opt/miniconda3/bin/pip /usr/bin/
sudo ln -s /opt/miniconda3/bin/conda /usr/bin/
sudo pip install gunicorn
sudo conda install gevent
或者使用绝对路径指定 pip
sudo /opt/miniconda3/bin/pip install gunicorn
sudo /opt/miniconda3/bin/conda install gevent
pip默认安装的是 httpbin 是0.7.0
使用源码安装最新版本(这里是0.9.2)
git clone https://github.com/postmanlabs/httpbin.git
cd httpbin
sudo /opt/miniconda3/bin/python setup.py install
如果缺少其他的依赖,用pip或者conda安装即可
- 测试安装(这里自己指定了绑定的IP和端口号,默认 127.0.0.1:8000,在本机外不能访问)
gunicorn -b 0.0.0.0:7501 httpbin:app
访问 http://<host-ip>:7501
![](https://img.haomeiwen.com/i1171969/f90f7c2de6886539.png)
- 如有防火墙,打开对应的端口
这里使用 firewall-cmd 管理防火墙
创建文件,内容如下
sudo vim /usr/lib/firewalld/services/httpbin.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>httpbin</short>
<description>httpin is a http requestion echo service, for http API test</description>
<port protocol="tcp" port="7501"/>
</service>
sudo firewall-cmd --permanent --add-service=httpbin # 配置开机启动
sudo systemctl restart firewalld.service # 重启防火墙(这里使用是systemd管理服务的)
- 使用 systemd 配置开机启动
在/lib/systemd/system/ 目录下,创建服务脚本:httpbin-server.service
sudo vim /lib/systemd/system/httpbin-server.service
[Unit]
Description=httpbin server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/bin/bash -c 'nohup /opt/miniconda3/bin/gunicorn -b 0.0.0.0:7501 httpbin:app &'
ExecStop=/bin/bash -c 'ps -ef | grep gunicorn | grep :7501 | awk '{print $2}' | xargs kill -s 9'
Restart=always
PrivateTmp=true
[Install]
WantedBy=multi-user.target
配置开机启动
sudo systemctl enable httpbin-server.service
sudo systemctl daemon-reload
网友评论