《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

浙公网安备 33010602011771号