安装一些应用
安装suppervisor
- 需要在虚拟环境外安装
sudo apt install supervisor -y
安装gunicorn
- 在虚拟环境中安装
pip install gunicorn
- 使用起来比uwsgi方便
MyWeb文件夹下新建gunicorn_start.sh并修改其内容
#!/bin/bash
NAME="MyBlog"
DJANGODIR=/home/hadoop01/Desktop/DjangoDev/www/MyBlog #Django project directory
USER=hadoop01 # the user to run as
GROUP=hadoop01 # the group to run as
NUM_WORKERS=1 # how many worker processes should Gunicorn spawn
DJANGO_SETTINGS_MODULE=config.settings # which settings file should Django use
DJANGO_WSGI_MODULE=config.wsgi # WSGI module name
echo "Starting $NAME as `whoami`"
# Activate the virtual environment
cd $DJANGODIR
source /home/hadoop01/Desktop/DjangoDev/env/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
# Start your Django Unicorn
# Programs meant to be run under supervisor should not daemonize themselves (do not use --daemon)
exec /home/hadoop01/Desktop/DjangoDev/env/bin/gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--workers $NUM_WORKERS \
--user=$USER --group=$GROUP \
--log-level=debug \
--log-file=-
修改gunicorn_start.sh的权限
- 找到这个文件所在的位置
chmod +x gunicorn_start.sh
运行gunicorn_start.sh
正确的路径下 ./gunicorn_start.sh
关于后台静态样式丢失问题
- 1 . 修改settings.py
# 下面这个是自己添加的 -- 这是用来存放图片的,此时前端页面显示正常,但是Django后台显示不正常
STATICFILES_DIRS = [
os.path.join(BASE_DIR,"static")
]
# 这个也是自己写的,指定static_root,用于收集admin静态文件
# STATIC_ROOT = os.path.join(BASE_DIR,"static")
- 2 MyWeb(根目录)目录下新建static文件夹,并新建了一个img文件夹存放图片,用指令
python manage.py collectstatic
自动生成了admin文件夹
配置 Supervisor并写入内容
- 配置
sudo vim /etc/supervisor/conf.d/myblog.conf
- 写入以下内容
[program:myblog]
command = *******/gunicorn_start.sh
user = server
autostart=true
autorestart=true
redirect_stderr = true
stdout_logfile = /var/log/myblog.log
stderr_logfile=/var/log/myblog.err
- 进行更新和重新加载
sudo supervisorctl update
sudo supervisorctl reload