文章目录
- 1 mysql版本太低的bug
- 安装一些需要的应用
- <1> 退出虚拟环境
- <2> supervisor
- <3> 在虚拟环境安装 gunicorn
- <4> 在项目根目录下创建一个 gunicorn_start.sh 文件
- <5>修改权限
- <6> 运行
- <7> 3. 配置 Nginx
- <8> 配置Supervisor
- <10> 关于后台静态样式丢失问题
- else
- 参考
1 mysql版本太低的bug
<1> 宝塔的mysql版本要是8.0 要高一点的,不然有些已经不用了
<2> mysql的权限设置为所有人
<3> 在vscode里面进行数据库同步
(1)环境激活
(2)进入mysql里面查看表
(3)查看数据库
(4) 查看表
(5)应用同步
这里是因为已经做了,所以 NO migrations to apply
安装一些需要的应用
<1> 退出虚拟环境
deactivate
<2> supervisor
sudo apt install supervisor -y
<3> 在虚拟环境安装 gunicorn
要在有env的虚拟状态下安装
pip install gunicorn
我这是因为我已经装过了
<4> 在项目根目录下创建一个 gunicorn_start.sh 文件
#!/bin/bash
NAME="MyBlog"
DJANGODIR=/home/tango/Desktop/DjangoDev/www/MyBlog #Django project directory
USER=tango # the user to run as
GROUP=tango # 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/tango/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/tango/Desktop/DjangoDev/env/bin/gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--workers $NUM_WORKERS \
--user=$USER --group=$GROUP \
--log-level=debug \
--log-file=-
USER=server # the user to run as GROUP=server # the group to run as
这里的用户名要改为自己的比如:tango
更改成当前路径
<5>修改权限
chmod +x gunicorn_start.sh
<6> 运行
./gunicorn_start.sh
<7> 3. 配置 Nginx
location /static/ {
alias /home/tango/Desktop/DjangoDev/www/MyBlog/static/;
expires max;
access_log off;
log_not_found off;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://127.0.0.1:8000;
break;
}
}
<8> 配置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
user = server
同样也要修改成为自己的用户名
最后要更新一下下
sudo supervisorctl update
sudo supervisorctl reload
<10> 关于后台静态样式丢失问题
修改 settings.py
STATIC_ROOT = os.path.join(BASE_DIR, "static")
并在项目目录下新建一个 static 的文件夹
运行如下命令进行静态文件收集
python manage.py collectstatic
else
1 进去网页
python manage.py runserver 0.0.0.0:8000
2 杀死进程