安装部署sosotest服务

安装部署sosotest服务

部署环境支持linux、windows、mac等

*推荐使用linux系统部署

1、下载sosotest代码

2、安装mysql 5.7

推荐版本: mysql Ver 14.14 Distrib 5.7.22

3、安装redis

推荐版本:Redis server v=4.0.2

4、创建mysql数据库

创建数据库 sosotest_data(名称与配置文件config.ini一致即可) 使用字符集utf8mb4,命令:

  1. CREATE DATABASE sosotest_data DEFAULT CHARACTER SET utf8mb4 collate utf8mb4_unicode_ci;

5、安装python

推荐版本:3.6.5 https://www.python.org/downloads/release/python-365/

6、安装python相关依赖。

由于嵌入了ldap的依赖,需要按照说明安装ldap相关。

LDAP相关依赖安装

windows: https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap

install the .whl file

  1. pip3 install python_ldap-3.1.0-cp36-cp36m-win_amd64.whl

linux: yum install openldap-devel python-devel

Windows下启动master(main.py)和slave(run.py)的话,还需要安装pywin32:

  1. pip3 install pywin32==224

最后,安装相关依赖的requirement文件,在install/require.txt中,安装命令:

  1. pip3 install -r require.txt

7、修改配置文件

配置根目录目录下的config.ini,具体配置参考config.ini中的注释说明。

8、初始化数据库表结构

进入AutotestWebD目录,执行

  1. python3 manage.py migrate

9、初始化数据库数据

进入AutotestWebD/apps/scripts/initial目录,执行

  1. python3 A0000_init_myadmin_account.py
  2. python3 A0000_init_myadmin_add_adminManagePermissionData.py
  3. python3 A0000_init_tb_exec_python_attrs.py
  4. python3 A0000_init_sources.py
  5. python3 A0001_init_permission_data.py

10、启动相关工程

启动说明:

1、启动web服务(django)。

  1. python3 AutotestWebD/manage.py runserver 0.0.0.0:8000

2、启动master服务(main.py)

  1. python3 AutotestFramework/test_run/main.py

3、启动slave服务(run.py)

  1. python3 AutotestFramework/test_run/run.py

*注:bin目录下有对应的启动脚本,配置bin.ini,windows下配置windows.ini,然后选择对应的脚本启动即可。

4、将Chrome扩展放入下载目录:

a. 修改AutotestWebD/sosotest-chrome-extension/panel.js中的serviceHost为你的域名。
b. 对目录sosotest-chrome-extension进行zip压缩后,将压缩文件sosotest-chrome-extension.zip放入AutotestWebD/static/soso_extensions目录。

11、正式使用

参考使用文档

12、其他注意事项

一些异常的解决方案,都是系统配置问题或者数据库配置问题

Linux系统配置TIME_WAIT问题,由于多次tcp请求可能存在TIME_WAIT过多问题。

需要对系统做如下配置:

(1) vim /etc/sysctl.conf

输入如下内容:

  1. net.ipv4.tcp_syncookies = 1
  2. net.ipv4.tcp_tw_reuse = 1
  3. net.ipv4.tcp_tw_recycle = 0
  4. net.ipv4.tcp_fin_timeout = 5
  5. net.ipv4.ip_local_port_range = 1024 65535

(2) 让修改生效。命令:

  1. /sbin/sysctl -p

解决多任务并发的连接错误异常

参考链接:https://blog.csdn.net/duan19056/article/details/51210110

(1) vim /etc/security/limits.conf

  1. mysql soft nofile 10240
  2. mysql hard nofile 10240

(2) /etc/pam.d/login

  1. session required /lib/security/pam_limits.so
  2. echo "ulimit -HSn 10240" >> /etc/rc.local
  3. echo "ulimit -HSn 10240" >> /root/.bash_profile
  4. ulimit -HSn 10240
  5. ulimit -n

(3) 最后 ulimit -a 查看 open files 10240即可

[Errno 111] Connection refused 错误

尝试如下配置:

400 bad request

ALLOWED_HOSTS没有加host,在配置文件config.ini的allowed_host中加入允许请求的域名或者ip。

mysql的一些配置问题

修改my.cnf,再就是关闭打开的mysql连接。 编辑/etc/my.cnf文件,加入如下参数,重启mysql

  1. [mysqld]
  2. open_files_limit = 65535
  3. max_connections = 10000
  4. sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"

results matching ""

No results matching ""