开源接口测试平台部署实践
前端
项目地址:https://github.com/pencil1/ApiTestWeb
1、 从官网下下载最新的nodejs,https://nodejs.org/en/download/
2、 通过ftp工具上传到linux服务/home,解压安装包:tar -xvf node-v10.16.0-linux-x64.tar.xz
3、 让npm和node命令全局生效
方式一:环境变量方式(这种方式似乎只对登录用户有效?)
1)、加入环境变量,在 /etc/profile 文件末尾增加配置
vi /etc/profile
export PATH=$PATH:/usr/local/nodejs/bin
2)、执行命令使配置文件生效
source /etc/profile
方式二:软链接方式(推荐)
ln -s /usr/local/nodejs/bin/npm /usr/local/bin/
ln -s /usr/local/nodejs/bin/node /usr/local/bin/
4、 验证
5、 下载前端项目zip包上传至/usr/local/src,unzip解压缩,进入项目根目录执行npm install -g yarn
再更改npm镜像
6、 执行yarn install ,安装时报错 node-sass 和node-loader未找到(如图),先安装node-loader:yarn add node-loader ,再安装node-sass: yarn add node-sass@4.14.1
安装成功
7、 yarn serve
上图是没有node-sass引起报错,再执行yarn add node-sass@4.14.1
再执行yarn serve
8、 项目目录下yarn build(自动打包到dist目录,下面Nginx会用到)
9、 使用nginx解析,修改nginx配置文件,配置文件为conf下的nginx.conf,修改nginx.conf中的server配置片段
server {
listen 8888;#默认端口是80,如果端口没被占用可以不用修改
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
root E:/vue/my_project/dist;#vue项目的打包后的dist
location / {
try_files $uri $uri/ @router;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404
index index.html index.htm;
}
#对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
#因此需要rewrite到index.html中,然后交给路由在处理请求资源
location @router {
rewrite ^.*$ /index.html last;
}
#.......其他部分省略
}
如下图
9、进入Nginx安装目录启动Nginx服务,浏览器访问ip:80/#/login,展示登录页
后端
1、安装python3 以上版本并设置为默认。
1.1安装依赖
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-deve
1.2下载安装包
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
1.3解压tar -zxvf Python-3.6.5.tgz
1.4进入文件夹cd Python-3.6.5
1.5编译 ./configure
1.6安装 make && make install
2、下载项目包上传到/usr/local/src并解压出来
3、进入项目目录,执行pip install -r requirements.txt,如下图
结果:
4、 设置flask的app(windows和linux的环境变量命令不一样,项目根目录下执行)
set FLASK_APP=manage.py(windows)
export FLASK_APP=manage.py(linux)
5、初始化
flask initdata(创建管理员账号(账号:admin,密码:123456)
6、 开发环境:python3 manage.py
7、进入Nginx安装目录,修改nginx.conf,如图
location / api{
proxy_pass http://localhost:8888;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header Host $http_host;
}
8、浏览器访问ip:80/#/login,输入admin/123456登录
9、 Linux下后台运行python程序,并输出日志文件
一般使用:
nohup python -u Job.py > log.log 2>&1 &
只记录异常日志(推荐):
# nohup python -u Job.py >/dev/null 2>error.log 2>&1 &
不记录任何日志:
# nohup python -u Job.py >/dev/null 2>&1 &
说明:
① 末尾的“&”:表示后台运行程序
② “nohup” :保证程序不被挂起
③“python”:是执行python代码的命令
④“-u”:表示不启用缓存,实时输出打印信息到日志文件(如果不加-u,则会导致日志文件不会实时刷新代码中的print函数的信息)
⑤“Job.py”:是python的源代码文件
⑥“log.log”:是输出的日志文件
⑦“>”:是指将打印信息指定到日志文件
⑧“2>&1”:将标准错误输出转变化标准输出,可以将错误信息也输出到日志文件中(0-> stdin, 1->stdout, 2->stderr)
10、关闭命令
① 、查看进程
ps -ef|grep python
② 、关闭进程
kill -9 19913
③、检查
ps -ef|grep python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)