# 数据统计 **Repository Path**: hjh10915/data-statistics ## Basic Information - **Project Name**: 数据统计 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-19 - **Last Updated**: 2024-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 创建容器Dockerfile ================= Docker安装 ---------- ``` shell ~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - ~$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" ~$ sudo apt update ~$ sudo apt install docker-ce docker-ce-cli containerd.io ~$ docker version ``` 构建Docker镜像 ============= 在Dockerfile的同级目录打开终端, 输入以下命令来创建名为 testnlp 的镜像: ~$ sudo docker build -t 'test' . 删除镜像 -------------- ``` shell docker images docker image rm [image] ``` 删除容器 ------- ``` sh docker ps -a docker rm 容器名 ``` 查看容器ip --------- ``` shell docker ps docker inspect CONTAINER ID ``` 执行 ---- ~$ sudo docker run -it test 启动 ---- ~$ docker logs -f --tail 10 test (查看日志信息) 测试 ==== 利用pytest进行单元测试 ``` py pytest -k test_get_datas tests/test_datas.py -s ``` gunicorn+supervisor部署 ======================= 安装 ---- ``` sh $ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gunicorn $ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple supervisor ``` 测试gunicorn ------------ ``` sh $ gunicorn -w 4 -b 0.0.0.0:5000 server:app ``` 访问接口测试,测试完kill掉 生成supervisor配置文件(如果由pip安装的supervisor管理则需要以下步骤) ------------------------------------------------------------- ``` sh $ cd 项目 $ mkdir supervisor $ echo_supervisord_conf > supervisor/supervisord.conf ``` 取消注释 ------- ``` ini [inet_http_server] port=127.0.0.1:9001 username=user password=123 ``` 添加 ---- ``` ini [program:flask] ; 名字随便取 directory = /home/jonna/data-analysis command=gunicorn -w 4 -b 0.0.0.0:5000 server:app user=jonna autostart=true startsecs=3 startretries=3 autorestart=true redirect_stderr=true ; 重定向输出的日志 stdout_logfile=/home/jonna/data-analysis/logs/flask_out.log ; 这里指定了日志文件路径 stderr_logfile=/home/jonna/data-analysis/logs/flask_error.log ; 这里指定了错误日志文件路径 stdout_logfile_backups=5 stderr_logfile_backups=5 ``` 启动项目 ------- 在项目目录下执行: ``` sh $ supervisord -c supervisor/supervisord.conf ``` 停止 ---- ``` sh $ ps aux | grep supervisord $ kill -9 xxx ```