zerorunner 在 Centos 的環境配置和部署

杨腾發表於2024-03-20

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 埠即可。

相關文章