diff --git a/bin/docker_start.sh b/bin/docker_start.sh index d7c957e..ddada3a 100644 --- a/bin/docker_start.sh +++ b/bin/docker_start.sh @@ -1,33 +1,34 @@ #!/bin/bash - NAME="djangoblog" # Name of the application -DJANGODIR=/var/www/DjangoBlog # Django project directory -SOCKFILE=/var/www/DjangoBlog/run/gunicorn.sock # we will communicte using this unix socket +DJANGODIR=/code/DjangoBlog # Django project directory USER=root # the user to run as GROUP=root # the group to run as -NUM_WORKERS=3 # how many worker processes should Gunicorn spawn -DJANGO_SETTINGS_MODULE=DjangoBlog.settings # which settings file should Django use +NUM_WORKERS=1 # how many worker processes should Gunicorn spawn +#DJANGO_SETTINGS_MODULE=DjangoBlog.settings # which settings file should Django use DJANGO_WSGI_MODULE=DjangoBlog.wsgi # WSGI module name + echo "Starting $NAME as `whoami`" # Activate the virtual environment cd $DJANGODIR -source /var/www/dev/python3/bin/activate -export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE -export PYTHONPATH=$DJANGODIR:$PYTHONPATH - -# Create the run directory if it doesn't exist -RUNDIR=$(dirname $SOCKFILE) -test -d $RUNDIR || mkdir -p $RUNDIR +export PYTHONPATH=$DJANGODIR:$PYTHONPATH +#pip install -Ur requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com && \ +# pip install gunicorn -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com +python manage.py makemigrations && \ + python manage.py migrate && \ + python manage.py collectstatic --noinput && \ + python manage.py compress --force && \ + python manage.py build_index && \ # Start your Django Unicorn # Programs meant to be run under supervisor should not daemonize themselves (do not use --daemon) -exec /var/www/dev/python3/bin/gunicorn ${DJANGO_WSGI_MODULE}:application \ - --name $NAME \ - --workers $NUM_WORKERS \ - --user=$USER --group=$GROUP \ - --bind=unix:$SOCKFILE \ - --log-level=debug \ - --log-file=- - +exec gunicorn ${DJANGO_WSGI_MODULE}:application \ +--name $NAME \ +--workers $NUM_WORKERS \ +--user=$USER --group=$GROUP \ +--bind 0.0.0.0:8000 \ +--log-level=debug \ +--log-file=- \ +--worker-class gevent \ +--threads 4 \ No newline at end of file diff --git a/docker-compose.es.yml b/docker-compose.es.yml index fa0114c..dcffaa3 100644 --- a/docker-compose.es.yml +++ b/docker-compose.es.yml @@ -5,6 +5,9 @@ services: image: liangliangyy/elasticsearch-analysis-ik:7.13.2 container_name: es restart: always + environment: + - discovery.type=single-node + - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ports: - 9200:9200 volumes: @@ -14,6 +17,8 @@ services: image: kibana:7.13.2 restart: always container_name: kibana + ports: + - 5601:5601 environment: - ELASTICSEARCH_HOSTS=http://es:9200 diff --git a/docs/docker.md b/docs/docker.md index 3de2cf3..761e448 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -19,7 +19,13 @@ docker-compose up -d ``` 本方式生成的mysql数据文件在 `bin/datas/mysql` 文件夹。 等启动完成后,访问 [http://127.0.0.1](http://127.0.0.1) 即可。 - +### 使用es +如果你期望使用es来作为后端的搜索引擎,那么可以使用如下命令来启动: +```shell +docker-compose -f docker-compose.yml -f docker-compose.es.yml build +docker-compose -f docker-compose.yml -f docker-compose.es.yml up -d +``` +本方式生成的es数据文件在 `bin/datas/es` 文件夹。 ## 配置说明: 本项目较多配置都基于环境变量,所有的环境变量如下所示: