您的位置:首页 > 编程语言 > Go语言

Django项目的部署

2020-07-15 18:03 113 查看

Django的项目部署方式有多种,本文主要讲的是基于wsgi协议的部署
即 django + uwsgi + nginx 手动部署

部署项目的准备工作

  1. 在项目的根下,新建一个requirements.txt文件,文件的内容是项目需要安装的依赖
Django == 3.0.7
PyMySQL == 0.9.3
mysqlclient == 1.4.6
  1. 不使用Git版本工具的情况下,需要手动复制项目
    去掉项目中的 .idea, venv等不相干的文件
  2. 修改项目的配置文件settings.py
DEBUG = True

ALLOWED_HOSTS = ["*"]

DATABASES = [
需要的话做修改即可
]
  1. 打开Linux操作系统
    将调整好的项目,放到Linux服务器上
    在ssh工具中alt+p进入之后用put上传文件

  2. 设置pip镜像
    在当前用户的根下,新建一个.pip文件 mkdir ~/.pip

  3. 在Linux操作系统下进入项目的根
    cd ~/app/project_name
    在项目的根下安装虚拟环境

    sudo apt install python3-vene

    python3 -m venv venv

  4. 激活虚拟环境

    source ./app/bin/activate

  5. 安装django项目所需依赖

    pip install -r requirements.txt

  6. 安装uwsgi
    在项目的根下查看是否安装了uwsgi

    uwsgi
    ,如果没有,则选择安装

sudo apt install uwsgi-core
sudo apt install uwsgi-plugin-python3
  1. 配置uwsgi
    在项目的根下新建一个uwsgi.ini文件,并配置其内容
[uwsgi]
# 设置django项目的位置
chdir=/home/sun/app/learn_test_backup
# 设置wsgi协议的入口位置
module=learn_test_backup.wsgi:application
# 设置是否开启主进程
master=True
# 设置主进程的启动的程序文件
pidfile=learn_test_backup.pid
# 设置真空环境 用于清除uwsgi服务器在运行过程中产生的垃圾
vacoum=True
# 设置允许的最大请求数量
max-requests = 5000
# 设置uwsgi服务器在运行过程中产生的日志存放的位置
daemonize=learn_test_backup.log
# 设置django的环境(配置文件)
env='DJANGO_SETTINGS_MODULE=learn_test_backup.settings
# 设置访问django项目的ip和端口号
socket=192.168.18.54:8000
# 设置http的访问方式 **要注意socket和http要二选其一**
# http = http://192.168.18.54:8000
# 设置启动uwsgi的进程数
processes=5
# 设置项目的虚拟环境
venv=/home/sun/app/learn_test_backup/venv
# 设置python关联项
plugin=python3
  1. 启动uwsgi服务器
# 启动uwsgi服务器
uwsgi --ini uwsgi.ini

# 关闭uwsgi服务器
uwsgi --stop learn_test_backup.pid

# 重启uwsgi服务器
uwsgi --reload learn_test_backup

# 查看uwsgi服务进程
ps -ef|grep uwsgi

# 杀死uwsgi进程
sudo kill -9 进程号

# 查看启动日志
tail -f learn_test_backup.log

nginx的服务

nginx可以提供的一些服务:
1. 反向代理
2. 负载均衡
3. 动静分离
4. 地址重定向,主要用于地址的迁移
5. 防盗链,用于防止别人盗取网站的资源
6. 正向代理,多用于实现访问一些国内受限制的网址

nginx的安装

  1. 安装nginx
    sudo apt install nginx
  2. 访问nginx
    直接进入linux的ip地址,如出现如下图片,则说明安装成功且ngnix正在工作
  3. 查看nginx的位置
/var/log/nginx  存放nginx的运行日志

/usr/sbin/nginx  nginx的启动命令

/etc/nginx  nginx配置文件所在的位置
  1. nginx的配置文件 nginx.conf
# include /etc/nginx/conf.d/*.conf;
# include /etc/nginx/sites-enabled/
#
server{
listen 80 ;
server_name IP地址 ;
location / {
uwsgi_pass IP地址:8000 ;
include uwsgi_params ;
}
}
  1. 重启nginx服务
    sudo nginx -s reload
  2. 配置静态资源的位置
# include /etc/nginx/conf.d/*.conf;
# include /etc/nginx/sites-enabled/
#
server{
listen 80 ;
server_name IP地址 ;
location / {
uwsgi_pass IP地址:8000 ;
include uwsgi_params ;
}
location /static/ {
alias 静态资源目录存放的地址
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: