1、概念 1、Django项目(Web应用) 2、Web服务 1、nginx :高并发处理的好 2、apache :稳定 LAMP :Linux、Apache、MySQL、Python/Php/Perl LNMP :Linux、Nginx、MySQL、Python/Php/Perl 3、uwsgi 是Web服务器与Web框架之间一种简单而通用的接口 2、单项目部署(nginx+uwsgi+django) 1、确保Django项目能够运行 2、安装nginx 1、安装 :sudo apt-get install nginx 2、启动 : sudo /etc/init.d/nginx restart 3、验证 : 打开浏览器,输入127.0.0.1:80 Welcome to nginx 3、安装uwsgi(用pip3去安装) 1、安装 :sudo pip3 install uwsgi 2、验证 uwsgi --http :9998 --chdir /home/tarena/myproject/friutday_1/ --module friutday.wsgi 4、部署 1、配置uwsgi(配置文件) 1、mkdir uwsgi 2、cd uwsgi 3、vi fruitday_uwsgi.ini [uwsgi] # 指定和nginx通信的端口 socket=127.0.0.1:8001 # 项目路径 chdir=/home/tarena/myproject/friutday_1 # wsgi.py路径 wsgi-file=friutday/wsgi.py # 进程数 processes=4 # 线程数 thread=2 # 本项目占用uwsgi的端口 stats=127.0.0.1:8081 2、配置nginx(配置文件) 1、sudo -i 2、cd /etc/nginx/sites-enabled 3、vi project_nginx.conf server{ listen 8201; server_name frituday.com; charset utf-8; location /static{ alias /home/tarena/myproject/friutday_1/static; } location /{ include uwsgi_params; uwsgi_pass 127.0.0.1:8001; } } 4、重启nginx服务 sudo /etc/init.d/nginx restart 5、拷贝uwsgi_params文件到项目路径下 sudo cp /etc/nginx/uwsgi_params /home/tarena/myproject/friutday_1 3、收集静态文件 1、在settings.py中添加路径(STATIC_ROOT) STATIC_ROOT = '/home/tarena/myproject/friutday_1/static/' 2、收集静态文件 python3 manage.py collectstatic 4、uwsgi启动项目 cd /home/tarena/uwsgi uwsgi --ini fruitday_uwsgi.ini 3、多项目部署 1、uwsgi 每个项目需要单独创建uwsgi配置文件,选用不同端口 2、nginx 更改配置文件,1个就可以,添加 server{} 3、部署个人博客项目 1、浏览器访问端口 : 8202 vi /etc/nginx/sites-enabled/project_nginx.conf server{ listen 8202 ... ... } 2、uwsgi和nginx互相通信的端口 : 8002 1、修改uwsgi cd uwsgi vi blog_uwsgi.ini [uwsgi] socket=127.0.0.1:8002 2、修改nginx配置文件 server{ ... ... location /{ include uwsgi_params; uwsgi_pass 127.0.0.1:8002 } } 3、uwsgi启动个人博客项目占用端口 : 8082 blog_uwsgi.ini [uwsgi] ... ... stats=127.0.0.1:8082 docker部署django项目 Django-Docker容器化部署:Django-Docker部署 - 杜赛的博客 docker部署Django项目(前后端分离项目)_菜鸟猿小天-CSDN博客_docker部署django项目
项目部署nginx+uwsgi+django docker部署
于 2022-03-02 15:45:15 首次发布