From 801ebb2663bbd8a155464f215d33291952c7a73d Mon Sep 17 00:00:00 2001 From: kongfp Date: Wed, 7 Jun 2023 15:59:26 +0800 Subject: [PATCH] modify project name and add dockerfile --- Dockerfile | 33 ++++++++++++++++++ TP_Api/asgi.py | 4 +-- TP_Api/settings.py | 8 ++--- TP_Api/wsgi.py | 4 +-- app/migrations/0001_initial.py | 30 ---------------- app/migrations/0002_auto_20230526_1003.py | 23 ------------- app/migrations/0003_auto_20230529_1446.py | 35 ------------------- app/migrations/0004_auto_20230531_1032.py | 23 ------------- app/migrations/0005_alter_tp_event_type.py | 18 ---------- app/migrations/0006_auto_20230531_1757.py | 28 --------------- app/migrations/0007_auto_20230601_1042.py | 23 ------------- db.sqlite3 | Bin 163840 -> 0 bytes logs/.gitkeep | 0 manage.py | 2 +- pip.conf | 6 ++++ requirements.txt | Bin 0 -> 582 bytes start.sh | 8 +++++ uwsgi.ini | 38 +++++++++++++++++++++ 18 files changed, 94 insertions(+), 189 deletions(-) create mode 100644 Dockerfile delete mode 100644 app/migrations/0001_initial.py delete mode 100644 app/migrations/0002_auto_20230526_1003.py delete mode 100644 app/migrations/0003_auto_20230529_1446.py delete mode 100644 app/migrations/0004_auto_20230531_1032.py delete mode 100644 app/migrations/0005_alter_tp_event_type.py delete mode 100644 app/migrations/0006_auto_20230531_1757.py delete mode 100644 app/migrations/0007_auto_20230601_1042.py delete mode 100644 db.sqlite3 create mode 100644 logs/.gitkeep create mode 100644 pip.conf create mode 100644 requirements.txt create mode 100644 start.sh create mode 100644 uwsgi.ini diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..58435c5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +# 建立 python 3.7环境 +FROM python:3.7 + +# 安装netcat +RUN apt-get update && apt install -y netcat + +# 可选:设置镜像源为国内 +COPY pip.conf /root/.pip/pip.conf + +# 容器内创建 myproject 文件夹 +ENV APP_HOME=/home/myproject +RUN mkdir -p $APP_HOME +WORKDIR $APP_HOME + +# 将当前目录加入到工作目录中(. 表示当前目录) +ADD . $APP_HOME + +# 更新pip版本 +RUN /usr/local/bin/python -m pip install --upgrade pip + +# 安装项目依赖 +RUN pip install -r requirements.txt + +# 移除\r in windows +RUN sed -i 's/\r//' ./start.sh + +# 给start.sh可执行权限 +RUN chmod +x ./start.sh + +EXPOSE 8000 + +# 数据迁移,并使用uwsgi启动服务 +ENTRYPOINT /bin/bash ./start.sh \ No newline at end of file diff --git a/TP_Api/asgi.py b/TP_Api/asgi.py index 4d2c0ee..29f5acb 100644 --- a/TP_Api/asgi.py +++ b/TP_Api/asgi.py @@ -1,5 +1,5 @@ """ -ASGI config for TP_Api project. +ASGI config for TP_API project. It exposes the ASGI callable as a module-level variable named ``application``. @@ -11,6 +11,6 @@ import os from django.core.asgi import get_asgi_application -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TP_Api.settings') +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TP_API.settings') application = get_asgi_application() diff --git a/TP_Api/settings.py b/TP_Api/settings.py index 5a2a2af..b26eba1 100644 --- a/TP_Api/settings.py +++ b/TP_Api/settings.py @@ -1,5 +1,5 @@ """ -Django settings for TP_Api project. +Django settings for TP_API project. Generated by 'django-admin startproject' using Django 3.2.19. @@ -49,13 +49,13 @@ MIDDLEWARE = [ 'django.contrib.sessions.middleware.SessionMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', - # 'django.middleware.csrf.CsrfViewMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] -ROOT_URLCONF = 'TP_Api.urls' +ROOT_URLCONF = 'TP_API.urls' TEMPLATES = [ { @@ -73,7 +73,7 @@ TEMPLATES = [ }, ] -WSGI_APPLICATION = 'TP_Api.wsgi.application' +WSGI_APPLICATION = 'TP_API.wsgi.application' # Database diff --git a/TP_Api/wsgi.py b/TP_Api/wsgi.py index 6ce5333..c70609e 100644 --- a/TP_Api/wsgi.py +++ b/TP_Api/wsgi.py @@ -1,5 +1,5 @@ """ -WSGI config for TP_Api project. +WSGI config for TP_API project. It exposes the WSGI callable as a module-level variable named ``application``. @@ -11,6 +11,6 @@ import os from django.core.wsgi import get_wsgi_application -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TP_Api.settings') +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TP_API.settings') application = get_wsgi_application() diff --git a/app/migrations/0001_initial.py b/app/migrations/0001_initial.py deleted file mode 100644 index e6709aa..0000000 --- a/app/migrations/0001_initial.py +++ /dev/null @@ -1,30 +0,0 @@ -# Generated by Django 3.2.19 on 2023-05-25 08:07 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='MyModel', - fields=[ - ('uid', models.AutoField(primary_key=True, serialize=False)), - ('video_hash', models.CharField(max_length=50)), - ('record_time', models.DateTimeField()), - ('police_id', models.CharField(max_length=50)), - ('event_type', models.IntegerField()), - ('is_violation', models.BooleanField()), - ('small_image', models.CharField(max_length=50)), - ('relative_time', models.IntegerField()), - ('video_dir', models.CharField(max_length=50)), - ('car_number', models.CharField(max_length=50)), - ('ai_analysis', models.CharField(max_length=50)), - ], - ), - ] diff --git a/app/migrations/0002_auto_20230526_1003.py b/app/migrations/0002_auto_20230526_1003.py deleted file mode 100644 index 8a62cd8..0000000 --- a/app/migrations/0002_auto_20230526_1003.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.19 on 2023-05-26 10:03 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('app', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='mymodel', - name='ai_analysis', - field=models.CharField(max_length=255), - ), - migrations.AlterField( - model_name='mymodel', - name='relative_time', - field=models.FloatField(), - ), - ] diff --git a/app/migrations/0003_auto_20230529_1446.py b/app/migrations/0003_auto_20230529_1446.py deleted file mode 100644 index 91603ed..0000000 --- a/app/migrations/0003_auto_20230529_1446.py +++ /dev/null @@ -1,35 +0,0 @@ -# Generated by Django 3.2.19 on 2023-05-29 14:46 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('app', '0002_auto_20230526_1003'), - ] - - operations = [ - migrations.CreateModel( - name='TP_Api', - fields=[ - ('uid', models.AutoField(primary_key=True, serialize=False)), - ('video_hash', models.CharField(max_length=50)), - ('record_time', models.DateTimeField()), - ('police_id', models.CharField(max_length=50)), - ('event_type', models.IntegerField()), - ('is_violation', models.BooleanField()), - ('small_image', models.CharField(max_length=50)), - ('relative_time', models.FloatField()), - ('video_dir', models.CharField(max_length=50)), - ('car_number', models.CharField(max_length=50)), - ('ai_analysis', models.CharField(max_length=255)), - ('add_time', models.DateTimeField()), - ('update_time', models.DateTimeField()), - ('is_display', models.BooleanField()), - ], - ), - migrations.DeleteModel( - name='MyModel', - ), - ] diff --git a/app/migrations/0004_auto_20230531_1032.py b/app/migrations/0004_auto_20230531_1032.py deleted file mode 100644 index 86bdddc..0000000 --- a/app/migrations/0004_auto_20230531_1032.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.19 on 2023-05-31 10:32 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('app', '0003_auto_20230529_1446'), - ] - - operations = [ - migrations.AlterField( - model_name='tp', - name='small_image', - field=models.CharField(max_length=100), - ), - migrations.AlterField( - model_name='tp', - name='video_dir', - field=models.CharField(max_length=100), - ), - ] diff --git a/app/migrations/0005_alter_tp_event_type.py b/app/migrations/0005_alter_tp_event_type.py deleted file mode 100644 index 7a8312a..0000000 --- a/app/migrations/0005_alter_tp_event_type.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.19 on 2023-05-31 14:21 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('app', '0004_auto_20230531_1032'), - ] - - operations = [ - migrations.AlterField( - model_name='tp', - name='event_type', - field=models.CharField(max_length=50), - ), - ] diff --git a/app/migrations/0006_auto_20230531_1757.py b/app/migrations/0006_auto_20230531_1757.py deleted file mode 100644 index 6608e93..0000000 --- a/app/migrations/0006_auto_20230531_1757.py +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by Django 3.2.19 on 2023-05-31 17:57 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('app', '0005_alter_tp_event_type'), - ] - - operations = [ - migrations.AlterField( - model_name='tp', - name='add_time', - field=models.DateTimeField(auto_now=True), - ), - migrations.AlterField( - model_name='tp', - name='is_display', - field=models.BooleanField(default=True), - ), - migrations.AlterField( - model_name='tp', - name='update_time', - field=models.DateTimeField(auto_now_add=True), - ), - ] diff --git a/app/migrations/0007_auto_20230601_1042.py b/app/migrations/0007_auto_20230601_1042.py deleted file mode 100644 index 2e68c39..0000000 --- a/app/migrations/0007_auto_20230601_1042.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.19 on 2023-06-01 10:42 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('app', '0006_auto_20230531_1757'), - ] - - operations = [ - migrations.AlterField( - model_name='tp', - name='add_time', - field=models.DateTimeField(auto_now_add=True), - ), - migrations.AlterField( - model_name='tp', - name='update_time', - field=models.DateTimeField(auto_now=True), - ), - ] diff --git a/db.sqlite3 b/db.sqlite3 deleted file mode 100644 index fa0417118e2d80bbd3a79ec0a8335721422fbfad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163840 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 ry_>4NWL{VPgy<8y7ORbvyWE<(2;jNd#TH diff --git a/logs/.gitkeep b/logs/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/manage.py b/manage.py index 1a237fd..366b772 100644 --- a/manage.py +++ b/manage.py @@ -6,7 +6,7 @@ import sys def main(): """Run administrative tasks.""" - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TP_Api.settings') + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TP_API.settings') try: from django.core.management import execute_from_command_line except ImportError as exc: diff --git a/pip.conf b/pip.conf new file mode 100644 index 0000000..c969f0d --- /dev/null +++ b/pip.conf @@ -0,0 +1,6 @@ +[global] +index-url = https://pypi.tuna.tsinghua.edu.cn/simple +[install] +trusted-host = https://pypi.tuna.tsinghua.edu.cn +[list] +format=columns \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..1697ec3007bfaffd51ce4ed9310657f2f5d06a72 GIT binary patch literal 582 zcmZva-A=+#5QOL2#78Ny1^+I*<5CigPf&$Qu@vOA@#o>yZ})H-h^9GddS-TZXSP4z zrGj2mYpw8{iVH literal 0 HcmV?d00001 diff --git a/start.sh b/start.sh new file mode 100644 index 0000000..91c5dd5 --- /dev/null +++ b/start.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +python manage.py makemigrations&& +python manage.py migrate&& +uwsgi --ini /home/myproject/uwsgi.ini&& +echo 'TP项目启动完成' + +exec "$@" \ No newline at end of file diff --git a/uwsgi.ini b/uwsgi.ini new file mode 100644 index 0000000..da33f84 --- /dev/null +++ b/uwsgi.ini @@ -0,0 +1,38 @@ +[uwsgi] + +project=myproject +uid=www-data +gid=www-data +base=/home + +chdir=%(base)/%(project) +module=TP_API.wsgi:application +master=True +processes=2 + +http=0.0.0.0:8000 + +chown-socket=%(uid):www-data +chmod-socket=664 + +vacuum=True +max-requests=5000 + +pidfile=%(base)/%(project)/logs/%(project)-master.pid +daemonize=%(base)/%(project)/logs/%(project)-uwsgi.log + +#设置一个请求的超时时间(秒),如果一个请求超过了这个时间,则请求被丢弃 +harakiri = 60 +post buffering = 8192 +buffer-size= 65535 +#当一个请求被harakiri杀掉会,会输出一条日志 +harakiri-verbose = true + +#开启内存使用情况报告 +memory-report = true + +#设置平滑的重启(直到处理完接收到的请求)的长等待时间(秒) +reload-mercy = 10 + +#设置工作进程使用虚拟内存超过N MB就回收重启 +reload-on-as= 1024 \ No newline at end of file