ECS安装archery服务
一、环境介绍:
阿里云ECS服务器演示环境:
CentOS Linux release 7.6.1810 (Core)
ECS安全组允许archery服务相关端口内网访问
此次演示安装archery主要是管理和审计MySQL服务
tidb04 172.16.0.59 部署前端nginx和静态static文件
tidb05 172.16.0.246 部署go环境version go1.16.6 linux/amd64;部署mysql5.7.32,redis-3.2.5, archery1.8.2,goinception(校验规则) inception(脱敏)
二、Python和virtualenv环境部署
1官网地址:
https://github.com/hhyo/archery/wiki/manual
2安装Python和virtualenv
Python和virtualenv采用编译方式安装:
#安装依赖
yum install wget gcc make zlib-devel openssl openssl-devel
wget "https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz"
tar -xvJf Python-3.6.5.tar.xz
#编译
cd Python-3.6.5
./configure prefix=/usr/local/python3
make && make install
ln -fs /usr/local/python3/bin/python3 /usr/bin/python3
ln -fs /usr/local/python3/bin/pip3 /usr/bin/pip3
#virtualenv
pip3 install virtualenv -i https://mirrors.ustc.edu.cn/pypi/web/simple/
ln -fs /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
Python和virtualenv 采用yum方式安装:
#安装EPEL源
yum install epel-release
#安装python36、pip36
yum install python36 python36-pip
#virtualenv
pip3.6 install virtualenv -i https://mirrors.ustc.edu.cn/pypi/web/simple/
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
三.安装Archery
3.1创建并切换python虚拟环境:
# Python和virtualenv编译安装python的使用下面的方式:
cd /data/soft/
virtualenv venv4archery --python=python3
[root@tidb05 ~]# cd /data/soft/
[root@tidb05 soft]# virtualenv venv4archery --python=python3
created virtual environment CPython3.6.5.final.0-64 in 1205ms
creator CPython3Posix(dest=/data/soft/venv4archery, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
added seed packages: pip==21.2.4, setuptools==58.1.0, wheel==0.37.0
activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
[root@tidb05 soft]# echo $?
0
# yum安装的Python和virtualenv使用下面的方式:
virtualenv venv4archery --python=python3.6
#切换python运行环境到虚拟环境
source /data/soft/venv4archery/bin/activate
[root@tidb05 soft]# source /data/soft/venv4archery/bin/activate
(venv4archery) [root@tidb05 soft]#
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
3.2 在virtualenv虚拟环境下操作安装下面一系列包
3.2.1安装 MS SQL Server 驱动(需要使用MsSQL的按需安装)
# CentOS 6
curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo
# CentOS 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
# 卸载冲突驱动
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
# 安装驱动
sudo ACCEPT_EULA=Y yum install msodbcsql17
sudo ACCEPT_EULA=Y yum install mssql-tools
# 更新环境变量
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# 安装ODBC依赖
sudo yum install unixODBC-devel
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
3.2.2 安装ORACLE驱动(需要使用ORACLE的按需安装)
3.2.3下载最新release包,安装依赖库
软件包1.8.2 源码包下载地址:
https://codeload.github.com/hhyo/Archery/tar.gz/refs/tags/v1.8.2
wget https://codeload.github.com/hhyo/Archery/tar.gz/refs/tags/v1.8.2
mv v1.8.2 Archery-1.8.2.tar.gz
tar xf Archery-1.8.2.tar.gz
# 安装系统依赖
yum -y install gcc gcc-c++ python-devel mysql-devel openldap-devel unixODBC-devel gettext
# 安装依赖库
# 切换python运行环境到虚拟环境(必须切换到虚拟环境,否则会导致最后执行python3 manage.py makemigrations sql 失败)
source /data/soft/venv4archery/bin/activate
[root@tidb05 soft]# source /data/soft/venv4archery/bin/activate
(venv4archery) [root@tidb05 soft]# cd Archery-1.8.2
(venv4archery) [root@tidb05 Archery-1.8.2]# pwd
/data/soft/Archery-1.8.2
cd /data/soft/Archery-1.8.2
pip3 install -r requirements.txt -i https://mirrors.ustc.edu.cn/pypi/web/simple/ 、
#提示:采用官网提供的地址安装过程中会提示404报错:
HTTP error 404 while getting https://mirrors.bfsu.edu.cn/pypi/web/packages/53/7b/e7831f6c025b41c17df5c6a9dd63b6967c68ac743ce2f28e76d280c95ab7/aliyun-python-sdk-core-v3-2.13.32.tar.gz#sha256=afe44fca89776623e4f75ab1684be13321655e17f689c4ec7f8091b51629a0a4 (from https://mirrors.bfsu.edu.cn/pypi/web/simple/aliyun-python-sdk-core-v3/)
Could not install requirement aliyun-python-sdk-core-v3>=2.3.5 from https://mirrors.bfsu.edu.cn/pypi/web/packages/53/7b/e7831f6c025b41c17df5c6a9dd63b6967c68ac743ce2f28e76d280c95ab7/aliyun-python-sdk-core-v3-2.13.32.tar.gz#sha256=afe44fca89776623e4f75ab1684be13321655e17f689c4ec7f8091b51629a0a4 (from aliyun-python-sdk-rds==2.1.1->-r requirements.txt (line 17)) because of error 404 Client Error: Not Found for url: https://mirrors.bfsu.edu.cn/pypi/web/packages/53/7b/e7831f6c025b41c17df5c6a9dd63b6967c68ac743ce2f28e76d280c95ab7/aliyun-python-sdk-core-v3-2.13.32.tar.gz
Could not install requirement aliyun-python-sdk-core-v3>=2.3.5 from https://mirrors.bfsu.edu.cn/pypi/web/packages/53/7b/e7831f6c025b41c17df5c6a9dd63b6967c68ac743ce2f28e76d280c95ab7/aliyun-python-sdk-core-v3-2.13.32.tar.gz#sha256=afe44fca89776623e4f75ab1684be13321655e17f689c4ec7f8091b51629a0a4 (from aliyun-python-sdk-rds==2.1.1->-r requirements.txt (line 17)) because of HTTP error 404 Client Error: Not Found for url: https://mirrors.bfsu.edu.cn/pypi/web/packages/53/7b/e7831f6c025b41c17df5c6a9dd63b6967c68ac743ce2f28e76d280c95ab7/aliyun-python-sdk-core-v3-2.13.32.tar.gz for URL https://mirrors.bfsu.edu.cn/pypi/web/packages/53/7b/e7831f6c025b41c17df5c6a9dd63b6967c68ac743ce2f28e76d280c95ab7/aliyun-python-sdk-core-v3-2.13.32.tar.gz#sha256=afe44fca89776623e4f75ab1684be13321655e17f689c4ec7f8091b51629a0a4 (from https://mirrors.bfsu.edu.cn/pypi/web/simple/aliyun-python-sdk-core-v3/)
You are using pip version 9.0.3, however version 21.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
具体执行过程如下:
(venv4archery) [root@tidb05 Archery-1.8.2]# pip3 install -r requirements.txt -i https://mirrors.ustc.edu.cn/pypi/web/simple/
Looking in indexes: https://mirrors.ustc.edu.cn/pypi/web/simple/
Collecting Django==3.1.13
Downloading https://mirrors.bfsu.edu.cn/pypi/web/packages/ba/52/6d9ff9141e2eca84c94e4939c2a7666096ee7c64ce57d8bc65aa0c95fa7a/Django-3.1.13-py3-none-any.whl (7.8 MB)
|████████████████████████████████| 7.8 MB 5.8 MB/s
Collecting mysqlclient==2.0.1
Downloading https://mirrors.bfsu.edu.cn/pypi/web/packages/a5/e1/e5f2b231c05dc51d9d87fa5066f90d1405345c54b14b0b11a1c859020f21/mysqlclient-2.0.1.tar.gz (87 kB)
|████████████████████████████████| 87 kB 5.6 MB/s
Collecting requests==2.24.0
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/45/1e/0c169c6a5381e241ba7404532c16a21d86ab872c9bed8bdcd4c423954103/requests-2.24.0-py2.py3-none-any.whl (61 kB)
Collecting simplejson==3.17.2
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/73/96/1e6b19045375890068d7342cbe280dd64ae73fd90b9735b5efb8d1e044a1/simplejson-3.17.2-cp36-cp36m-manylinux2010_x86_64.whl (127 kB)
Collecting mybatis_mapper2sql==0.1.9
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/da/22/015884abeea5e9c27e5b6c466d7a9a07f5a4b6fc117b74a75f65a8b02103/mybatis-mapper2sql-0.1.9.tar.gz (8.7 kB)
Collecting django-auth-ldap==2.2.0
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/e3/49/2297161849f1133ddafd8f81e6e48323db100fda7b4cd211cf7a9a453d2f/django_auth_ldap-2.2.0-py3-none-any.whl (20 kB)
Collecting python-dateutil==2.8.1
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting pymongo==3.11.0
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/64/fc/b126cbe001f875c0444224102c2f783cb02ead6e3efb47ad526c08833cc2/pymongo-3.11.0-cp36-cp36m-manylinux2014_x86_64.whl (508 kB)
Collecting psycopg2-binary==2.8.6
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/f2/1b/720b36697158113ca1b2221a8e96a470088ccf3770d182214689d1a96a07/psycopg2_binary-2.8.6-cp36-cp36m-manylinux1_x86_64.whl (3.0 MB)
Collecting pymysql==0.9.3
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/ed/39/15045ae46f2a123019aa968dfcba0396c161c20f855f11dea6796bcaae95/PyMySQL-0.9.3-py2.py3-none-any.whl (47 kB)
Collecting mysql-replication==0.22
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/4d/24/82eadb049a34e041d89f66855eaffc5979435b5fd7b0a670e1a58a9932ed/mysql-replication-0.22.tar.gz (38 kB)
Collecting django-q==1.3.4
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/5e/c8/c677a02e8edb362b3f87328ea5d7bb725bb979f31d9a2fbabe6210bbc3d5/django_q-1.3.4-py3-none-any.whl (67 kB)
Collecting django-redis==4.12.1
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/c0/4c/9044b873ef1cc136b8057453ea1d75ba1c9f24f6e88c7bbf2c3d083e0caf/django_redis-4.12.1-py3-none-any.whl (19 kB)
Collecting pyodbc==4.0.30
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/81/0d/bb08bb16c97765244791c73e49de9fd4c24bb3ef00313aed82e5640dee5d/pyodbc-4.0.30.tar.gz (266 kB)
Collecting gunicorn==20.0.4
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/69/ca/926f7cd3a2014b16870086b2d0fdc84a9e49473c68a8dff8b57f7c156f43/gunicorn-20.0.4-py2.py3-none-any.whl (77 kB)
Collecting pyecharts==1.7.1
Downloading https://mirrors.bfsu.edu.cn/pypi/web/packages/8b/87/d358d00c8e7837da835869afa34cf556dc743a20d92d67abe02529c7b1d8/pyecharts-1.7.1-py3-none-any.whl (128 kB)
|████████████████████████████████| 128 kB 77.0 MB/s
Collecting aliyun-python-sdk-rds==2.1.1
Downloading https://mirrors.bfsu.edu.cn/pypi/web/packages/69/89/2c864d8c8a4144fd804132acb38de33d1782731fceaa83f6a3d122ace324/aliyun-python-sdk-rds-2.1.1.tar.gz (22 kB)
Collecting cx-Oracle==7.3.0
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/d5/15/d38862a4bd0e18d8ef2a3c98f39e743b8951ec5efd8bc63e75db04b9bc31/cx_Oracle-7.3.0-cp36-cp36m-manylinux1_x86_64.whl (737 kB)
Collecting supervisor==4.1.0
Downloading https://mirrors.bfsu.edu.cn/pypi/web/packages/ca/1f/07713b0e1e34c312450878801d496bce8b9eff5ea9e70d41ff4e299b2df5/supervisor-4.1.0-py2.py3-none-any.whl (318 kB)
|████████████████████████████████| 318 kB 84.0 MB/s
Collecting phoenixdb==0.7
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/db/4a/a706c21457c057dc6abd81820cc566390310c080b7348f524d3ee96c79cc/phoenixdb-0.7.tar.gz (41 kB)
Collecting django-mirage-field==1.1.6
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/67/52/5ba81a8052e2d332248a5f2c6ffe5056832f73b0cc6f013b234efa9eafaa/django-mirage-field-1.1.6.tar.gz (6.3 kB)
Collecting schema-sync==0.9.7
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/82/b9/0760636264314af31b0f1e21b37b0544e11a286f91a348ef36d9db5677ff/Schema-Sync-0.9.7.tar.gz (10 kB)
Collecting parsedatetime==2.4
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/e3/b3/02385db13f1f25f04ad7895f35e9fe3960a4b9d53112775a6f7d63f264b6/parsedatetime-2.4.tar.gz (58 kB)
Collecting sshtunnel==0.1.5
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/38/7d/6f19be1ee49cee9593c5ac3aa1fb38fe30eaf1520114e08dee2ab2a45855/sshtunnel-0.1.5-py2.py3-none-any.whl (23 kB)
Collecting uvloop==0.14.0
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/41/48/586225bbb02d3bdca475b17e4be5ce5b3f09da2d6979f359916c1592a687/uvloop-0.14.0-cp36-cp36m-manylinux2010_x86_64.whl (3.9 MB)
Collecting httptools==0.1.1
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/b1/a6/dc1e7e8f4049ab70d52c9690ec10652e268ab2542853033cc1d539594102/httptools-0.1.1-cp36-cp36m-manylinux1_x86_64.whl (216 kB)
Collecting uvicorn==0.12.2
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/30/cc/01cc4cb980dfcf04eb283b6497c7f280928a0b02c68c0f85b6901e7716ae/uvicorn-0.12.2-py3-none-any.whl (45 kB)
Collecting pycryptodome==3.10.1
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/ad/16/9627ab0493894a11c68e46000dbcc82f578c8ff06bc2980dcd016aea9bd3/pycryptodome-3.10.1-cp35-abi3-manylinux2010_x86_64.whl (1.9 MB)
Collecting asgiref<4,>=3.2.10
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/fe/66/577f32b54c50dcd8dec38447258e82ed327ecb86820d67ae7b3dea784f13/asgiref-3.4.1-py3-none-any.whl (25 kB)
Collecting pytz
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/d3/e3/d9f046b5d1c94a3aeab15f1f867aa414f8ee9d196fae6865f1d6a0ee1a0b/pytz-2021.3-py2.py3-none-any.whl (503 kB)
Collecting sqlparse>=0.2.2
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/05/40/d836d55fb3f467243ee839ab7b814822fda522cd395fa41e282684e71ee5/sqlparse-0.4.2-py3-none-any.whl (42 kB)
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/56/aa/4ef5aa67a9a62505db124a5cb5262332d1d4153462eb8fd89c9fa41e5d92/urllib3-1.25.11-py2.py3-none-any.whl (127 kB)
Collecting chardet<4,>=3.0.2
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting idna<3,>=2.5
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/a2/38/928ddce2273eaa564f6f50de919327bf3a00f091b5baba8dfa9460f3a8a8/idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting certifi>=2017.4.17
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/37/45/946c02767aabb873146011e665728b680884cd8fe70dde973c640e45b775/certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting python-ldap>=3.1
Downloading https://mirrors.bfsu.edu.cn/pypi/web/packages/41/e2/6b12190c171b78d1cd8c9d0d3380d18b85959aecb2b1267f7bdd5b66cd8f/python-ldap-3.4.0.tar.gz (376 kB)
|████████████████████████████████| 376 kB 76.4 MB/s
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Collecting six>=1.5
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting arrow
Downloading https://mirrors.bfsu.edu.cn/pypi/web/packages/f4/97/a6b394b0ee6c9a7f645308f3a205c6cfe4fc804aac1bf29e4aebb5cd5a16/arrow-1.2.1-py3-none-any.whl (63 kB)
|████████████████████████████████| 63 kB 2.4 MB/s
Collecting django-picklefield
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/59/d4/28d05a25f5d8dcb2f5f73b64badf278ae29a27ad8334a0022730a4ca3eb4/django_picklefield-3.0.1-py3-none-any.whl (9.4 kB)
Collecting blessed
Using cached https://mirrors.bfsu.edu.cn/pypi/web/packages/d4/f3/73c8e1b77396663e2a5121c78f1278d64d7806cade710abe28b65979aced/blessed-1.19.0-py2.py3-none-any.whl (57 kB)
Collecting redis>=3.0.0
Downloading https://mirrors.bfsu.edu.cn/pypi/web/packages/bf/ae/426f5c20c8e6daab1676c87071ce3d804d5574e1d656b03daf87916b6b19/redis-4.1.0-py3-none-any.whl (171 kB)
|████████████████████████████████| 171 kB 9.8 MB/s
Requirement already satisfied: setuptools>=3.0 in /data/soft/venv4archery/lib/python3.6/site-packages (from gunicorn==20.0.4->-r requirements.txt (line 15)) (58.1.0)
Collecting prettytable
Downloading https://mirrors.bfsu.edu.cn/pypi/web/packages/9e/6d/40a24eaa03ea4418129708fd3f0f17eda73d568f16d4d4fd412566168b4c/prettytable-2.5.0-py3-none-any.whl (24 kB)
Collecting jinja2
Downloading https://mirrors.bfsu.edu.cn/pypi/web/packages/20/9a/e5d9ec41927401e41aea8af6d16e78b5e612bca4699d417f646a9610a076/Jinja2-3.0.3-py3-none-any.whl (133 kB)
|████████████████████████████████| 133 kB 87.4 MB/s
Collecting aliyun-python-sdk-core-v3>=2.3.5
ERROR: HTTP error 404 while getting https://mirrors.bfsu.edu.cn/pypi/web/packages/53/7b/e7831f6c025b41c17df5c6a9dd63b6967c68ac743ce2f28e76d280c95ab7/aliyun-python-sdk-core-v3-2.13.32.tar.gz#sha256=afe44fca89776623e4f75ab1684be13321655e17f689c4ec7f8091b51629a0a4 (from https://mirrors.bfsu.edu.cn/pypi/web/simple/aliyun-python-sdk-core-v3/)
ERROR: Could not install requirement aliyun-python-sdk-core-v3>=2.3.5 from https://mirrors.bfsu.edu.cn/pypi/web/packages/53/7b/e7831f6c025b41c17df5c6a9dd63b6967c68ac743ce2f28e76d280c95ab7/aliyun-python-sdk-core-v3-2.13.32.tar.gz#sha256=afe44fca89776623e4f75ab1684be13321655e17f689c4ec7f8091b51629a0a4 (from aliyun-python-sdk-rds==2.1.1->-r requirements.txt (line 17)) because of HTTP error 404 Client Error: Not Found for url: https://mirrors.bfsu.edu.cn/pypi/web/packages/53/7b/e7831f6c025b41c17df5c6a9dd63b6967c68ac743ce2f28e76d280c95ab7/aliyun-python-sdk-core-v3-2.13.32.tar.gz for URL https://mirrors.bfsu.edu.cn/pypi/web/packages/53/7b/e7831f6c025b41c17df5c6a9dd63b6967c68ac743ce2f28e76d280c95ab7/aliyun-python-sdk-core-v3-2.13.32.tar.gz#sha256=afe44fca89776623e4f75ab1684be13321655e17f689c4ec7f8091b51629a0a4 (from https://mirrors.bfsu.edu.cn/pypi/web/simple/aliyun-python-sdk-core-v3/)
WARNING: You are using pip version 21.2.4; however, version 21.3.1 is available.
You should consider upgrading via the '/data/soft/venv4archery/bin/python -m pip install --upgrade pip' command.
(venv4archery) [root@tidb05 Archery-1.8.2]#
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
- 90.
- 91.
- 92.
- 93.
- 94.
- 95.
- 96.
- 97.
- 98.
- 99.
- 100.
- 101.
- 102.
- 103.
- 104.
- 105.
- 106.
解决办法: 把安装地址更换成如下地址:
具体执行过程如下:
具体执行过程如下:
(venv4archery) [root@tidb05 Archery-1.8.2]# pip3 install -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
Looking in indexes: https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
Collecting Django==3.1.13
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/ba/52/6d9ff9141e2eca84c94e4939c2a7666096ee7c64ce57d8bc65aa0c95fa7a/Django-3.1.13-py3-none-any.whl (7.8 MB)
|████████████████████████████████| 7.8 MB 10.5 MB/s
Collecting mysqlclient==2.0.1
Using cached mysqlclient-2.0.1-cp36-cp36m-linux_x86_64.whl
Collecting requests==2.24.0
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/45/1e/0c169c6a5381e241ba7404532c16a21d86ab872c9bed8bdcd4c423954103/requests-2.24.0-py2.py3-none-any.whl (61 kB)
Collecting simplejson==3.17.2
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/73/96/1e6b19045375890068d7342cbe280dd64ae73fd90b9735b5efb8d1e044a1/simplejson-3.17.2-cp36-cp36m-manylinux2010_x86_64.whl (127 kB)
Collecting mybatis_mapper2sql==0.1.9
Using cached mybatis_mapper2sql-0.1.9-py3-none-any.whl
Collecting django-auth-ldap==2.2.0
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/e3/49/2297161849f1133ddafd8f81e6e48323db100fda7b4cd211cf7a9a453d2f/django_auth_ldap-2.2.0-py3-none-any.whl (20 kB)
Collecting python-dateutil==2.8.1
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting pymongo==3.11.0
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/64/fc/b126cbe001f875c0444224102c2f783cb02ead6e3efb47ad526c08833cc2/pymongo-3.11.0-cp36-cp36m-manylinux2014_x86_64.whl (508 kB)
Collecting psycopg2-binary==2.8.6
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/f2/1b/720b36697158113ca1b2221a8e96a470088ccf3770d182214689d1a96a07/psycopg2_binary-2.8.6-cp36-cp36m-manylinux1_x86_64.whl (3.0 MB)
Collecting pymysql==0.9.3
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/ed/39/15045ae46f2a123019aa968dfcba0396c161c20f855f11dea6796bcaae95/PyMySQL-0.9.3-py2.py3-none-any.whl (47 kB)
Collecting mysql-replication==0.22
Using cached mysql_replication-0.22-py3-none-any.whl
Collecting django-q==1.3.4
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/5e/c8/c677a02e8edb362b3f87328ea5d7bb725bb979f31d9a2fbabe6210bbc3d5/django_q-1.3.4-py3-none-any.whl (67 kB)
Collecting django-redis==4.12.1
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/c0/4c/9044b873ef1cc136b8057453ea1d75ba1c9f24f6e88c7bbf2c3d083e0caf/django_redis-4.12.1-py3-none-any.whl (19 kB)
Collecting pyodbc==4.0.30
Using cached pyodbc-4.0.30-cp36-cp36m-linux_x86_64.whl
Collecting gunicorn==20.0.4
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/69/ca/926f7cd3a2014b16870086b2d0fdc84a9e49473c68a8dff8b57f7c156f43/gunicorn-20.0.4-py2.py3-none-any.whl (77 kB)
Collecting pyecharts==1.7.1
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/8b/87/d358d00c8e7837da835869afa34cf556dc743a20d92d67abe02529c7b1d8/pyecharts-1.7.1-py3-none-any.whl (128 kB)
Collecting aliyun-python-sdk-rds==2.1.1
Using cached aliyun_python_sdk_rds-2.1.1-py3-none-any.whl
Collecting cx-Oracle==7.3.0
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/d5/15/d38862a4bd0e18d8ef2a3c98f39e743b8951ec5efd8bc63e75db04b9bc31/cx_Oracle-7.3.0-cp36-cp36m-manylinux1_x86_64.whl (737 kB)
Collecting supervisor==4.1.0
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/ca/1f/07713b0e1e34c312450878801d496bce8b9eff5ea9e70d41ff4e299b2df5/supervisor-4.1.0-py2.py3-none-any.whl (318 kB)
Collecting phoenixdb==0.7
Using cached phoenixdb-0.7-py3-none-any.whl
Collecting django-mirage-field==1.1.6
Using cached django_mirage_field-1.1.6-py3-none-any.whl
Collecting schema-sync==0.9.7
Using cached Schema_Sync-0.9.7-py3-none-any.whl
Collecting parsedatetime==2.4
Using cached parsedatetime-2.4-py3-none-any.whl
Collecting sshtunnel==0.1.5
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/38/7d/6f19be1ee49cee9593c5ac3aa1fb38fe30eaf1520114e08dee2ab2a45855/sshtunnel-0.1.5-py2.py3-none-any.whl (23 kB)
Collecting uvloop==0.14.0
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/41/48/586225bbb02d3bdca475b17e4be5ce5b3f09da2d6979f359916c1592a687/uvloop-0.14.0-cp36-cp36m-manylinux2010_x86_64.whl (3.9 MB)
Collecting httptools==0.1.1
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/b1/a6/dc1e7e8f4049ab70d52c9690ec10652e268ab2542853033cc1d539594102/httptools-0.1.1-cp36-cp36m-manylinux1_x86_64.whl (216 kB)
Collecting uvicorn==0.12.2
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/30/cc/01cc4cb980dfcf04eb283b6497c7f280928a0b02c68c0f85b6901e7716ae/uvicorn-0.12.2-py3-none-any.whl (45 kB)
Collecting pycryptodome==3.10.1
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/ad/16/9627ab0493894a11c68e46000dbcc82f578c8ff06bc2980dcd016aea9bd3/pycryptodome-3.10.1-cp35-abi3-manylinux2010_x86_64.whl (1.9 MB)
Collecting asgiref<4,>=3.2.10
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/fe/66/577f32b54c50dcd8dec38447258e82ed327ecb86820d67ae7b3dea784f13/asgiref-3.4.1-py3-none-any.whl (25 kB)
Collecting pytz
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/d3/e3/d9f046b5d1c94a3aeab15f1f867aa414f8ee9d196fae6865f1d6a0ee1a0b/pytz-2021.3-py2.py3-none-any.whl (503 kB)
Collecting sqlparse>=0.2.2
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/05/40/d836d55fb3f467243ee839ab7b814822fda522cd395fa41e282684e71ee5/sqlparse-0.4.2-py3-none-any.whl (42 kB)
Collecting idna<3,>=2.5
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/a2/38/928ddce2273eaa564f6f50de919327bf3a00f091b5baba8dfa9460f3a8a8/idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting chardet<4,>=3.0.2
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/56/aa/4ef5aa67a9a62505db124a5cb5262332d1d4153462eb8fd89c9fa41e5d92/urllib3-1.25.11-py2.py3-none-any.whl (127 kB)
Collecting certifi>=2017.4.17
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/37/45/946c02767aabb873146011e665728b680884cd8fe70dde973c640e45b775/certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting python-ldap>=3.1
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/41/e2/6b12190c171b78d1cd8c9d0d3380d18b85959aecb2b1267f7bdd5b66cd8f/python-ldap-3.4.0.tar.gz (376 kB)
|████████████████████████████████| 376 kB 1.8 MB/s
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Collecting six>=1.5
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting blessed
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/d4/f3/73c8e1b77396663e2a5121c78f1278d64d7806cade710abe28b65979aced/blessed-1.19.0-py2.py3-none-any.whl (57 kB)
Collecting arrow
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/f4/97/a6b394b0ee6c9a7f645308f3a205c6cfe4fc804aac1bf29e4aebb5cd5a16/arrow-1.2.1-py3-none-any.whl (63 kB)
|████████████████████████████████| 63 kB 1.5 MB/s
Collecting django-picklefield
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/59/d4/28d05a25f5d8dcb2f5f73b64badf278ae29a27ad8334a0022730a4ca3eb4/django_picklefield-3.0.1-py3-none-any.whl (9.4 kB)
Collecting redis>=3.0.0
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/bf/ae/426f5c20c8e6daab1676c87071ce3d804d5574e1d656b03daf87916b6b19/redis-4.1.0-py3-none-any.whl (171 kB)
|████████████████████████████████| 171 kB 2.6 MB/s
Requirement already satisfied: setuptools>=3.0 in /data/soft/venv4archery/lib/python3.6/site-packages (from gunicorn==20.0.4->-r requirements.txt (line 15)) (58.1.0)
Collecting jinja2
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/20/9a/e5d9ec41927401e41aea8af6d16e78b5e612bca4699d417f646a9610a076/Jinja2-3.0.3-py3-none-any.whl (133 kB)
|████████████████████████████████| 133 kB 2.6 MB/s
Collecting prettytable
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/9e/6d/40a24eaa03ea4418129708fd3f0f17eda73d568f16d4d4fd412566168b4c/prettytable-2.5.0-py3-none-any.whl (24 kB)
Collecting aliyun-python-sdk-core-v3>=2.3.5
Using cached aliyun_python_sdk_core_v3-2.13.32-py3-none-any.whl
Collecting protobuf>=3.0.0
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/95/35/ddae33187bb5c7b6a39cab5b59f07951f1fc3e5c72dd522b8d5f52d112c0/protobuf-3.19.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)
|████████████████████████████████| 1.1 MB 3.4 MB/s
Collecting cryptography
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/a7/9f/a725c8f434d24ae656b61539b3c3d22325e8b65331c3f8f943c4cf8858d4/cryptography-36.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB)
|████████████████████████████████| 3.8 MB 9.2 MB/s
Collecting tqdm
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/63/f3/b7a1b8e40fd1bd049a34566eb353527bb9b8e9b98f8b6cf803bb64d8ce95/tqdm-4.62.3-py2.py3-none-any.whl (76 kB)
Collecting Schema-Object>=0.5.10
Using cached Schema_Object-0.5.11-py3-none-any.whl
Collecting future
Using cached future-0.18.2-py3-none-any.whl
Collecting paramiko>=1.15.2
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/60/3e/84c52fb09db84548c5d366bac8863125c6db099b87495e04c8af5527e6f1/paramiko-2.9.2-py2.py3-none-any.whl (210 kB)
|████████████████████████████████| 210 kB 46.7 MB/s
Collecting click==7.*
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/d2/3d/fa76db83bf75c4f8d338c2fd15c8d33fdd7ad23a9b5e57eb6c5de26b430e/click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting h11>=0.8
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/60/0f/7a0eeea938eaf61074f29fed9717f2010e8d0e0905d36b38d3275a1e4622/h11-0.12.0-py3-none-any.whl (54 kB)
Collecting typing-extensions
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/05/e4/baf0031e39cf545f0c9edd5b1a2ea12609b7fcba2d58e118b11753d68cf0/typing_extensions-4.0.1-py3-none-any.whl (22 kB)
Collecting jmespath<1.0.0,>=0.9.3
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/07/cb/5f001272b6faeb23c1c9e0acc04d48eaaf5c862c17709d20e3469c6e0139/jmespath-0.10.0-py2.py3-none-any.whl (24 kB)
Collecting cffi>=1.12
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/49/7b/449daf9cacfd7355cea1b4106d2be614315c29ac16567e01756167f6daab/cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (405 kB)
|████████████████████████████████| 405 kB 11.3 MB/s
Collecting pycparser
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl (118 kB)
|████████████████████████████████| 118 kB 17.6 MB/s
Collecting pynacl>=1.0.1
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/66/28/ca86676b69bf9f90e710571b67450508484388bfce09acf8a46f0b8c785f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)
|████████████████████████████████| 1.1 MB 6.2 MB/s
Collecting bcrypt>=3.1.3
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/c0/75/323f3e9e051726cef8a1d71d340a208ed5fe9dbdebc13b83428355c1382e/bcrypt-3.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (61 kB)
|████████████████████████████████| 61 kB 767 kB/s
Collecting pyasn1>=0.3.7
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/62/1e/a94a8d635fa3ce4cfc7f506003548d0a2447ae76fd5ca53932970fe3053f/pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
Collecting pyasn1-modules>=0.1.5
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/95/de/214830a981892a3e286c3794f41ae67a4495df1108c3da8a9f62159b9a9d/pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)
Collecting importlib-metadata>=1.0
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/a0/a1/b153a0a4caf7a7e3f15c2cd56c7702e2cf3d89b1b359d1f1c5e59d68f4ce/importlib_metadata-4.8.3-py3-none-any.whl (17 kB)
Collecting packaging>=21.3
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl (40 kB)
|████████████████████████████████| 40 kB 183 kB/s
Collecting deprecated>=1.2.3
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/51/6a/c3a0408646408f7283b7bc550c30a32cc791181ec4618592eec13e066ce3/Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)
Collecting wrapt<2,>=1.10
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/e2/0f/89c9c2d8ba06709a3d471507a78be443e2c2d9f1321d3e1154c76f44150c/wrapt-1.13.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (78 kB)
|████████████████████████████████| 78 kB 2.1 MB/s
Collecting zipp>=0.5
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/bd/df/d4a4974a3e3957fd1c1fa3082366d7fff6e428ddb55f074bf64876f8e8ad/zipp-3.6.0-py3-none-any.whl (5.3 kB)
Collecting pyparsing!=3.0.5,>=2.0.2
Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/a0/34/895006117f6fce0b4de045c87e154ee4a20c68ec0a4c9a36d900888fb6bc/pyparsing-3.0.6-py3-none-any.whl (97 kB)
|████████████████████████████████| 97 kB 2.1 MB/s
Collecting wcwidth>=0.1.4
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/59/7c/e39aca596badaf1b78e8f547c807b04dae603a433d3e7a7e04d67f2ef3e5/wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Collecting MarkupSafe>=2.0
Using cached https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/e2/a9/eafee9babd4b3aed918d286fbe1c20d1a22d347b30d2bddb3c49919548fa/MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (30 kB)
Building wheels for collected packages: python-ldap
Building wheel for python-ldap (PEP 517) ... done
Created wheel for python-ldap: filename=python_ldap-3.4.0-cp36-cp36m-linux_x86_64.whl size=293215 sha256=688409a1c7161e3312b875e270852a4f62e61138d7965ec1c8ad2381fc32f49a
Stored in directory: /root/.cache/pip/wheels/0b/3d/7b/948c9253ddc20f6e3dbf407d69aa9f54b8c24cf535d783597f
Successfully built python-ldap
Installing collected packages: typing-extensions, pycparser, zipp, wrapt, sqlparse, six, pytz, pyparsing, pyasn1, cffi, asgiref, wcwidth, python-dateutil, pynacl, pymysql, pyasn1-modules, packaging, MarkupSafe, jmespath, importlib-metadata, Django, deprecated, cryptography, bcrypt, urllib3, tqdm, simplejson, Schema-Object, redis, python-ldap, protobuf, prettytable, paramiko, jinja2, idna, h11, future, django-picklefield, click, chardet, certifi, blessed, arrow, aliyun-python-sdk-core-v3, uvloop, uvicorn, supervisor, sshtunnel, schema-sync, requests, pyodbc, pymongo, pyecharts, pycryptodome, psycopg2-binary, phoenixdb, parsedatetime, mysqlclient, mysql-replication, mybatis-mapper2sql, httptools, gunicorn, django-redis, django-q, django-mirage-field, django-auth-ldap, cx-Oracle, aliyun-python-sdk-rds
Successfully installed Django-3.1.13 MarkupSafe-2.0.1 Schema-Object-0.5.11 aliyun-python-sdk-core-v3-2.13.32 aliyun-python-sdk-rds-2.1.1 arrow-1.2.1 asgiref-3.4.1 bcrypt-3.2.0 blessed-1.19.0 certifi-2021.10.8 cffi-1.15.0 chardet-3.0.4 click-7.1.2 cryptography-36.0.1 cx-Oracle-7.3.0 deprecated-1.2.13 django-auth-ldap-2.2.0 django-mirage-field-1.1.6 django-picklefield-3.0.1 django-q-1.3.4 django-redis-4.12.1 future-0.18.2 gunicorn-20.0.4 h11-0.12.0 httptools-0.1.1 idna-2.10 importlib-metadata-4.8.3 jinja2-3.0.3 jmespath-0.10.0 mybatis-mapper2sql-0.1.9 mysql-replication-0.22 mysqlclient-2.0.1 packaging-21.3 paramiko-2.9.2 parsedatetime-2.4 phoenixdb-0.7 prettytable-2.5.0 protobuf-3.19.1 psycopg2-binary-2.8.6 pyasn1-0.4.8 pyasn1-modules-0.2.8 pycparser-2.21 pycryptodome-3.10.1 pyecharts-1.7.1 pymongo-3.11.0 pymysql-0.9.3 pynacl-1.5.0 pyodbc-4.0.30 pyparsing-3.0.6 python-dateutil-2.8.1 python-ldap-3.4.0 pytz-2021.3 redis-4.1.0 requests-2.24.0 schema-sync-0.9.7 simplejson-3.17.2 six-1.16.0 sqlparse-0.4.2 sshtunnel-0.1.5 supervisor-4.1.0 tqdm-4.62.3 typing-extensions-4.0.1 urllib3-1.25.11 uvicorn-0.12.2 uvloop-0.14.0 wcwidth-0.2.5 wrapt-1.13.3 zipp-3.6.0
WARNING: You are using pip version 21.2.4; however, version 21.3.1 is available.
You should consider upgrading via the '/data/soft/venv4archery/bin/python -m pip install --upgrade pip' command.
(venv4archery) [root@tidb05 Archery-1.8.2]#
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
- 90.
- 91.
- 92.
- 93.
- 94.
- 95.
- 96.
- 97.
- 98.
- 99.
- 100.
- 101.
- 102.
- 103.
- 104.
- 105.
- 106.
- 107.
- 108.
- 109.
- 110.
- 111.
- 112.
- 113.
- 114.
- 115.
- 116.
- 117.
- 118.
- 119.
- 120.
- 121.
- 122.
- 123.
- 124.
- 125.
- 126.
- 127.
- 128.
- 129.
- 130.
- 131.
- 132.
- 133.
- 134.
- 135.
- 136.
- 137.
- 138.
- 139.
- 140.
- 141.
- 142.
- 143.
- 144.
- 145.
- 146.
- 147.
- 148.
- 149.
- 150.
- 151.
- 152.
- 153.
- 154.
- 155.
- 156.
- 157.
- 158.
- 159.
- 160.
- 161.
- 162.
- 163.
- 164.
- 165.
- 166.
- 167.
- 168.
出现警告可以按照提示升级pip:
(venv4archery) [root@tidb05 Archery-1.8.2]# /data/soft/venv4archery/bin/python -m pip install --upgrade pip
Looking in indexes: http://mirrors.cloud.aliyuncs.com/pypi/simple/
Requirement already satisfied: pip in /data/soft/venv4archery/lib/python3.6/site-packages (21.2.4)
Collecting pip
Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl (1.7 MB)
|████████████████████████████████| 1.7 MB 4.6 MB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 21.2.4
Uninstalling pip-21.2.4:
Successfully uninstalled pip-21.2.4
Successfully installed pip-21.3.1
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
3.3 准备MySQL、Redis实例
MySQL相关:
MySQL推荐版本>=5.6
Redis提供任务队列和缓存
mysql采用二进制安装包5.7.32
创建archery库和授权连接账户:
root@tidb05 13:57: [(none)]> create database archery;
Query OK, 1 row affected (0.00 sec)
root@tidb05 13:57: [(none)]> grant all on archery.* to root@'127.0.0.1' identified by '8ek1QD0LU56zpa0E';flush privileges;
Query OK, 0 rows affected, 1 warning (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
Redis实例 采用一键安装脚本tidb05服务器本地安装:
redis一键安装脚本内容install_redis.sh如下
/usr/bin/wget -P /tmp http://download.redis.io/releases/redis-3.2.12.tar.gz
cd /tmp
tar xf redis-3.2.12.tar.gz
cd /tmp/redis-3.2.12
make MANIFESTO=jemalloc
make PREFIX=/usr/local/redis install
echo "export PATH=/usr/local/redis/bin:$PATH" >> /etc/profile
source /etc/profile
[ ! -d /usr/local/redis/conf ]&&mkdir /usr/local/redis/conf -p
[ ! -d /data/redis ]&&mkdir /data/redis -p
[ ! -d /usr/local/redis/log ]&&mkdir /usr/local/redis/log -p
if [ -s /usr/local/redis/conf/redis.conf ]; then
mv /usr/local/redis/conf/redis.conf /usr/local/redis/conf/redis.conf.`date +%Y%m%d%H%M%S`.bak
cp /tmp/redis-3.2.12/redis.conf /usr/local/redis/conf/
fi
>/usr/local/redis/conf/redis.conf
cat << EOF > /usr/local/redis/conf/redis.conf
bind 127.0.0.1
protected-mode yes
port 10201
tcp-backlog 8192
timeout 300
tcp-keepalive 300
daemonize yes
supervised no
pidfile /var/run/redis_10201.pid
loglevel warning
logfile "/usr/local/redis/log/10201.log"
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /data/redis/
#slaveof 192.168.1.10 102098
masterauth YHu222tuEq
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
min-slaves-to-write 0
min-slaves-max-lag 30
requirepass YHu222tuEq
maxclients 100000
maxmemory 8g
maxmemory-policy noeviction
maxmemory-samples 5
#appendonly yes
#appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 256
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 256
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
EOF
######
echo 8192 >/proc/sys/net/core/somaxconn
echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 'redis-server /usr/local/redis/conf/redis.conf ' >>/etc/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >>/etc/rc.local
source /etc/profile
redis-server /usr/local/redis/conf/redis.conf
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
- 90.
- 91.
- 92.
- 93.
3.4 编辑配置文件settings.py配置mysql 和redis信息
# 该项目本身的mysql数据库地址
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'archery',
'USER': 'root',
'PASSWORD': '8ek1QD0LU56zpa0E',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
'charset': 'utf8mb4'
},
'TEST': {
'NAME': 'test_archery',
'CHARSET': 'utf8mb4',
},
}
}
# 缓存配置
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:10201/0",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PASSWORD": "YHu222tuEq"
}
},
"dingding": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:10201/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PASSWORD": "YHu222tuEq"
}
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
3.5 启动准备
3.5.1数据库初始化
具体过程如下:
(venv4archery) [root@tidb05 Archery-1.8.2]# python3 manage.py makemigrations sql
Migrations for 'sql':
sql/migrations/0001_initial.py
- Create model SlowQuery
- Create model SlowQueryHistory
- Create model ArchiveConfig
- Create model CloudAccessKey
- Create model Config
- Create model DataMaskingRules
- Create model Instance
- Create model InstanceTag
- Create model Permission
- Create model QueryLog
- Create model ResourceGroup
- Create model SqlWorkflow
- Create model Tunnel
- Create model WorkflowAuditDetail
- Create model WorkflowLog
- Create model WorkflowAuditSetting
- Create model WorkflowAudit
- Create model SqlWorkflowContent
- Create model QueryPrivilegesApply
- Create model ParamTemplate
- Create model ParamHistory
- Add field instance_tag to instance
- Add field resource_group to instance
- Add field tunnel to instance
- Create model DataMaskingColumns
- Create model ArchiveLog
- Add field dest_instance to archiveconfig
- Add field resource_group to archiveconfig
- Add field src_instance to archiveconfig
- Create model AliyunRdsConfig
- Create model Users
- Create model QueryPrivileges
- Create model InstanceDatabase
- Create model InstanceAccount
(venv4archery) [root@tidb05 Archery-1.8.2]# python3 manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, django_q, sessions, sql
Running migrations:
Applying contenttypes.0001_initial... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0001_initial... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sql.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying django_q.0001_initial... OK
Applying django_q.0002_auto_20150630_1624... OK
Applying django_q.0003_auto_20150708_1326... OK
Applying django_q.0004_auto_20150710_1043... OK
Applying django_q.0005_auto_20150718_1506... OK
Applying django_q.0006_auto_20150805_1817... OK
Applying django_q.0007_ormq... OK
Applying django_q.0008_auto_20160224_1026... OK
Applying django_q.0009_auto_20171009_0915... OK
Applying django_q.0010_auto_20200610_0856... OK
Applying django_q.0011_auto_20200628_1055... OK
Applying django_q.0012_auto_20200702_1608... OK
Applying django_q.0013_task_attempt_count... OK
Applying sessions.0001_initial... OK
(venv4archery) [root@tidb05 Archery-1.8.2]#
# 创建管理用户
python3 manage.py createsuperuser
具体执行过程:
(venv4archery) [root@tidb05 Archery-1.8.2]# python3 manage.py createsuperuser
用户名: admin
电子邮件地址: 604480554@qq.com
Password:
Password (again):
Superuser created successfully.
(venv4archery) [root@tidb05 Archery-1.8.2]#
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
3.5.2数据初始化
具体执行过程:
(venv4archery) [root@tidb05 Archery-1.8.2]# python3 manage.py dbshell<sql/fixtures/auth_group.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
(venv4archery) [root@tidb05 Archery-1.8.2]# python3 manage.py dbshell<src/init_sql/mysql_slow_query_review.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
3.5.3创建管理用户
四、启动archery
采用supervisord进程管理服务管理 archery服务,goinception,inception服务
具体supervisord.conf文件内容如下:
(venv4archery) [root@tidb05 Archery-1.8.2]# cat /data/soft/Archery-1.8.2/supervisord.conf
[unix_http_server]
file=supervisor.sock
[supervisord]
logfile=logs/supervisord.log
nodaemon=false
[supervisorctl]
serverurl=unix://supervisor.sock
[rpcinterface:supervisor]
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface
[program:archery]
command=gunicorn -w 4 -b 172.16.0.246:8888 --timeout 600 archery.wsgi:application
autorestart=true
stopasgroup=true
killasgroup=true
redirect_stderr=true
[program:qcluster]
command=python manage.py qcluster
autorestart=true
stopasgroup=true
killasgroup=true
redirect_stderr=true
[program:goinception]
command=/data/soft/goInception -config=/opt/goInception/config/config.toml
autorestart=true
stopasgroup=true
killasgroup=true
redirect_stderr=true
[program:inception]
command=/data/soft/inception --defaults-file=/opt/goInception/config/inc.cnf
autorestart=true
stopasgroup=true
killasgroup=true
redirect_stderr=true
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
采用脚本startup.sh 来启动supervisord 服务,首次启动会自动收集archery服务静态文件到/data/soft/Archery-1.8.2/static/
(venv4archery) [root@tidb05 Archery-1.8.2]# which supervisord
/data/soft/venv4archery/bin/supervisord
(venv4archery) [root@tidb05 Archery-1.8.2]# cat startup.sh
# 收集所有的静态文件到STATIC_ROOT
python3 manage.py collectstatic -v0 --noinput
# 启动服务
supervisord -c supervisord.conf
(venv4archery) [root@tidb05 Archery-1.8.2]# sh startup.sh
(venv4archery) [root@tidb05 Archery-1.8.2]# ll /data/soft/Archery-1.8.2/static/
total 96
drwxr-xr-x 3 root root 4096 Jan 9 14:35 ace
drwxr-xr-x 6 root root 4096 Jan 9 14:35 admin
drwxr-xr-x 5 root root 4096 Jan 9 14:35 bootstrap
drwxr-xr-x 5 root root 4096 Jan 9 14:35 bootstrap-editable
drwxr-xr-x 5 root root 4096 Jan 9 14:35 bootstrap-fileinput
drwxr-xr-x 4 root root 4096 Jan 9 14:35 bootstrap-select
drwxr-xr-x 4 root root 4096 Jan 9 14:35 bootstrap-switch
drwxr-xr-x 6 root root 4096 Jan 9 14:35 bootstrap-table
drwxr-xr-x 2 root root 4096 Jan 9 14:35 css
drwxr-xr-x 4 root root 4096 Jan 9 14:35 daterangepicker
drwxr-xr-x 4 root root 4096 Jan 9 14:35 datetimepicker
drwxr-xr-x 4 root root 4096 Jan 9 14:35 dist
drwxr-xr-x 2 root root 4096 Jan 9 14:35 echarts
drwxr-xr-x 4 root root 4096 Jan 9 14:35 font-awesome
drwxr-xr-x 2 root root 4096 Jan 9 14:35 jquery
drwxr-xr-x 4 root root 4096 Jan 9 14:35 metisMenu
drwxr-xr-x 4 root root 4096 Jan 9 14:35 sb-admin-2
drwxr-xr-x 2 root root 4096 Jan 9 14:35 sql-formatter
-rw-r--r-- 1 root root 20955 Jan 9 14:35 staticfiles.json
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
使用 supervisorctl管理相关的服务
(venv4archery) [root@tidb05 Archery-1.8.2]# supervisorctl status archery
archery RUNNING pid 32560, uptime 0:00:03
(venv4archery) [root@tidb05 Archery-1.8.2]# supervisorctl status qcluster
qcluster RUNNING pid 32401, uptime 0:01:44
(venv4archery) [root@tidb05 Archery-1.8.2]# supervisorctl status goinception
goinception RUNNING pid 32399, uptime 0:01:53
(venv4archery) [root@tidb05 Archery-1.8.2]# supervisorctl status inception
inception RUNNING pid 32400, uptime 0:01:56
关闭所有的服务:
(venv4archery) [root@tidb05 Archery-1.8.2]# supervisorctl -c supervisord.conf stop all
goinception: stopped
qcluster: stopped
archery: stopped
inception: stopped
开启所有的服务
(venv4archery) [root@tidb05 Archery-1.8.2]# supervisorctl -c supervisord.conf start all
archery: started
goinception: started
inception: started
qcluster: started
(venv4archery) [root@tidb05 Archery-1.8.2]# ss -lntup|egrep "8888|6669|4000"
tcp LISTEN 0 2048 172.16.0.246:8888 *:* users:(("gunicorn",pid=825,fd=5),("gunicorn",pid=821,fd=5),("gunicorn",pid=820,fd=5),("gunicorn",pid=819,fd=5),("gunicorn",pid=803,fd=5))
tcp LISTEN 0 151 :::6669 :::* users:(("inception",pid=348,fd=4))
tcp LISTEN 0 8192 :::4000 :::* users:(("goInception",pid=347,fd=12))
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
修改完成配置文件supervisord.conf,需要重启 supervisord服务才能生效,需要kill掉进程。然后删除之前的supervisord.pid和supervisor.sock,执行脚本 startup.sh 或者执行直接执行supervisord -c supervisord.conf 就可以
(venv4archery) [root@tidb05 Archery-1.8.2]# ps -ef|grep sup
root 760 27883 0 14:50 pts/2 00:00:00 grep --color=auto sup
root 32397 1 0 14:35 ? 00:00:00 /data/soft/venv4archery/bin/python /data/soft/venv4archery/bin/supervisord -c supervisord.conf
(venv4archery) [root@tidb05 Archery-1.8.2]# sh -x startup.sh
+ python3 manage.py collectstatic -v0 --noinput
+ supervisord -c supervisord.conf
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
五、nginx配置文件如下:
nginx配置文件如下:
[root@tidb04 vhost]# cat testarchery.nginxno.cn.conf
server{
listen 80; # 监听的端口
listen 9123; # 监听的端口
server_name testarchery.nginxno.cn;
client_max_body_size 20M; # 处理Request Entity Too Large
proxy_read_timeout 600s; # 超时时间与Gunicorn超时时间设置一致,主要用于在线查询
location / {
proxy_pass http://172.16.0.246:8888;
proxy_set_header Host $host:9123; # 解决重定向404的问题,和listen端口保持一致,如果是docker则和宿主机映射端口保持一致
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /static {
#alias /opt/archery/static; # 此处指向settings.py配置项STATIC_ROOT目录的绝对路径,用于nginx收集静态资源
alias /data/soft/Archery-1.8.2/static; # 此处指向settings.py配置项STATIC_ROOT目录的绝对路径,用于nginx收集静态资源
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
本地hosts文件绑定主机名和ip进行测试
http://testarchery.nginxno.cn/login/
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
五、测试登陆
到此时安装完成。感兴趣的网友可以继续关注,后面会继续更新相关的应用配置