近期有关注到 zerorunner 这个测试平台,可惜文档较少,在部署环境和使用过程遇到了不少问题。这里记录下我的学习使用过程,希望能帮助于其他人在 linux 下部署开展。
项目原文见:zerorunner 感谢项目作者 小白 的无私奉献。
这篇主要讲解如何在 Centos7 进行 zerorunner 的环境配置和部署,其中 mysql、redis 在不同 centos 版本的安装过程都有所不同,如果出现问题的话可以用 centos6 如何安装 mysql8 这样的关键字去搜索,也欢迎大家留言。
yum update
yum install gcc
yum install lrzsz
#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
#安装依赖
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/
#安装依赖(跟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
#安装依赖
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
#进入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 端口即可。