Guide

近期有关注到 zerorunner 这个测试平台,可惜文档较少,在部署环境和使用过程遇到了不少问题。这里记录下我的学习使用过程,希望能帮助于其他人在 linux 下部署开展。

项目原文见:zerorunner 感谢项目作者 小白 的无私奉献。

这篇主要讲解如何在 Centos7 进行 zerorunner 的环境配置和部署,其中 mysql、redis 在不同 centos 版本的安装过程都有所不同,如果出现问题的话可以用 centos6 如何安装 mysql8 这样的关键字去搜索,也欢迎大家留言。

Centos 环境准备

更新 yum

yum update

安装 gcc

yum install gcc

安装 lrzsz

yum install lrzsz

安装 mysql

#mysql下载
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
#安装rpm包
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
#导入最新的mysql GPG
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
#安装mysql
yum install mysql-server
#修改mysql配置
#zerorunner对应的配置文件在zerorunner\backend\db_script\my.cnf,替换掉etc\my.cnf即可
#确认替换成功
cat my.cnf
#相应文件夹授权
chown root /var/lib/mysql/

#启用服务
service mysqld start
#检查服务
service mysqld status
#查看初始密码
cat /var/log/mysqld.log | grep password
#使用上边获得的初始密码登录mysql
mysql -u root -p

#设定密码并退出
mysql > alter user 'root'@'localhost' identified by '你的密码';
mysql > flush privileges;
mysql > exit;
#重启mysql服务让改动生效
service mysqld restart

安装 python

#安装依赖
yum -y install zlib zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
#下载python,跟文档建议版本一致
wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
#解压到当前目录
tar -zxvf Python-3.9.6.tgz
cd Python-3.9.6

#安装python
mkdir -p /usr/local/Python3
./configure --prefix=/usr/local/Python3
make
make install

#创建软连接
ln -s /usr/local/Python3/bin/python3 /usr/bin/python3

#添加环境变量
vi ~/.bash_profile
#在export PATH前添加
PATH=$PATH:$HOME/bin:/usr/local/Python3/bin

#刷新生效
source ~/.bash_profile

#检查安装
python3 -V
pip3 -V

#更新pip3
pip3 install --upgrade pip

#准备虚拟环境
pip3 install virtualenv
mkdir -p /pyenv
virtualenv -p /usr/local/Python3/bin/python3 /pyenv/

安装 nginx

#安装依赖(跟python环境同个应用则不需要)
yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel
#下载解压
wget http://nginx.org/download/nginx-1.20.2.tar.gz
tar -zxvf nginx-1.20.2.tar.gz -C /usr/local/src/
#进入目录
cd /usr/local/src/nginx-1.20.2

#编译安装
./configure
make
make install

#进入安装目录,启动服务
cd /usr/local/nginx
./sbin/nginx

#检查服务
ps -ef | grep nginx

#配置防火墙,永久放行
firewall-cmd --add-port=80/tcp --permanent

安装 redis

#安装依赖
yum -y install centos-release-scl && yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils && scl enable devtoolset-9 bash
#下载解压redis,跟文档建议版本一致
wget https://download.redis.io/releases/redis-6.0.9.tar.gz
tar xzf redis-6.0.9.tar.gz

#进入目录
cd redis-6.0.9

#编译安装
make
make install

#默认安装在 /usr/local/bin/目录
cd /usr/local/redis/bin/
#拷贝配置文件
cp /root/redis-6.0.9/redis.conf /usr/local/redis/bin/
#daemonize 的值从 no 修改成 yes
vi redis.conf

#启动服务
./redis-server redis.conf
#检查
ps -ef |grep redis

Zerorunner 部署

初始化 mysql

#进入mysql
mysql -u root -p
#新建数据库
CREATE DATABASE zerorunner;
exit;
#进入后端数据库文件夹
cd zerorunner/backend/db_script
mysql -u root -p zerorunner < zerorunner.sql

后端部署

#进入后端文件夹
cd zerorunner/backend
#进入虚拟环境
source /pyenv/bin/activate
#更新setuptools wheel
pip install --upgrade pip setuptools wheel
#安装依赖
pip install -r requirements
#启用服务
gunicorn main:app --workers 2 --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:8101

前端部署

#在本地进入后端文件夹
cd zerorunner/frontend
#打包发布,拿到dist
cnpm run build
#将dist文件夹放在nginx目录下的html里面
#进入nginx安装目录
cd /usr/local/nginx/conf
vi nginx.conf
#将root指向dist文件夹即可
![](/uploads/photo/2024/485b3eba-c3c5-441f-a99c-14099fceb891.png!large)

备注

至此部署完成,访问 IP 对应的 80 端口即可。


↙↙↙阅读原文可查看相关链接,并与作者交流