《DjangoApp开发》第四集,部署nginx
2023年10月5日
https证书
https
对应的端口是:443
http
对应的端口是: 80
我们要开放端口,对于Dokcer
开放端口,比较复杂,我们直接把容器打包成镜像。
打包成镜像
1. 把容器里的进程都停掉。
通过指令,可以查到所有运行的端口的pid
:
ps aux | grep -i manage
然后我们再用sudo kill -9 端口pid
关掉端口即可。
2. 登录到装Docker
的服务器中
通过docker ps
可以看到运行的容器。
然后执行如下操作:
docker commit 【容器名】 镜像名 //然后就会多一个镜像,可通过:docker image查看
// 暂停并且删掉旧容器
docker stop jason
docker rm jason
// 再创建新的容器
docker run -p 20000:22 -p 8000:8000 -p 80:80 -p 443:443 -p 9528 --name jason -itd django_lesson:1.1
3. 然后去云服务器安全组开放端口即可
我这个是本地的服务器,就不改了。防火墙allow
一次即可。
4. 后面是对接Acapp我目前不需要
5. 部署nginx
按照y
总给的nginx
配置和key
等,我们直接改个域名即可。它可以把我们的域名代理到具有https
证书的域名上。
6. Django
项目的修改
- 需要把
settings
里面的DEBUG
改为False
2. 然后在Project
根目录下执行,把静态文件归档
python3 manage.py collectstatic
7. 配置uwsgi
这个就是连结Django
和nginx
,而且效率很高。
- 在
django
项目中添加uwsgi
的配置文件:scripts/uwsgi.ini,内容如下:
[uwsgi]
socket = 127.0.0.1:8000
chdir = /home/acs/acapp // 根目录
wsgi-file = acapp/wsgi.py // wsgi这个在哪里
master = true
processes = 2
threads = 5
vacuum = true
- 然后可以用
uwsgi
启动项目
uwsgi --ini scripts/uwsgi.ini
- 关闭
uswgi
pkill -f uwsgi -9