《DjangoApp开发》第四集,部署nginx

2023年10月5日

https证书

https 对应的端口是:443
http 对应的端口是: 80
我们要开放端口,对于Dokcer开放端口,比较复杂,我们直接把容器打包成镜像。

打包成镜像

1. 把容器里的进程都停掉。

通过指令,可以查到所有运行的端口的pid

ps aux | grep -i manage

然后我们再用sudo kill -9 端口pid关掉端口即可。
1.png

2. 登录到装Docker的服务器中

通过docker ps可以看到运行的容器。
2.png
然后执行如下操作:

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项目的修改

  1. 需要把settings里面的DEBUG改为False

3.png
2. 然后在Project根目录下执行,把静态文件归档

python3 manage.py collectstatic

7. 配置uwsgi

这个就是连结Djangonginx,而且效率很高。

  • 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
posted @ 2023-10-05 15:19  wxzcch  阅读(6)  评论(0编辑  收藏  举报