部署django到Linux服务器上

本文详细介绍如何将Django项目部署到服务器,包括文件传输、虚拟环境搭建、依赖安装、uwsgi和nginx配置等关键步骤,确保项目稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

部署Django到服务器

1. 传送文件到服务器上

scp xxx/xxx/xxx.xx username@ip:/xxx/xxx/xxx # 传送文件到服务器上
scp ~/sychen/blog.zip ubuntu@62.233.256.122:home/sychen/blog 

scp ubuntu@62.233.256.122:home/sychen/blog /home/sychen/xxx # 从服务器下载文件 

2.设置虚拟环境

# 创建虚拟环境
python -m venv venv_django_blog
# 进入虚拟环境
source venv_django_blog bin/activate
# 安装项目所需的包
pip install -r requirements.txt
# 在虚拟环境中安装uwsgi
pip install uwsgi

3.配置uwsgi

  • django自带一个wsgi,但是性能较差,在正式部署的时候往往使用uwsgi进行部署,因此需要对uwsgi进行配置

  • 首先安装uwsgi,pip install uwsgi,uwsgi 需要安装两次,主环境中安装一次,虚拟环境中也要安装一次。

  • 设置uwsgi配置文件

    # 进入你的项目主目录下
    touch uwsgi.ini # 配置文件写法如下
    vim uwsgi.ini # 按照下面配置配置文件
    uwsgi --ini uwsgi.ini
    
    # uwsgi 启动成功
    
    #添加配置选择
    [uwsgi]
    
    #指定IP端口  // 直接外部访问
    #http-socket = 127.0.0.1:8080
    
    #项目目录
    chdir = /www/wwwroot/web/
    
    #指定项目的application
    module = web.wsgi:application
    
    #uwsgi启动用户名和用户组
    uid = www
    gid = www
    
    #启用主进程
    master = true
    
    #指定Socket路径  //内部访问  #权限和nginx一样
    socket = /www/wwwroot/web/script/uwsgi.sock
    #socket = :8080
    
    #socket权限设置
    chmod-socket = 755
    
    #进程个数
    processes = 5
    pidfile = /www/wwwroot/web/script/uwsgi.pid
    
    #自动移除unix Socket 和 Pid 文件 当服务停止的时候
    vacuum = true
    
    #序列化接受的内容,如果可能的话
    thunder-lock = true
    
    #启用线程
    enable-threads = true
    
    #设置自动中断时间
    harakiri = 30
    
    #设置缓冲
    post-buffering = 4096
    
    #设置静态文件
    #static-map = /static=//www/wwwroot/mysite/static
    
    #设置日志目录
    #daemonize = /www/wwwroot/mysite/uwsgi.log
    

``

4.配置nginx

  • 先解释下为什么需要nginx
    在这里插入图片描述
  • 配置nginx
cd /etc/nginx # 到你的nginx的目录下
# 然后配置nginx.conf,配置文件如下
# 配置完成之后重启nginx
nginx -s reload 
server {
        listen 8848;
        server_name  127.0.0.1:8848; #改为自己的域名,没域名修改为127.0.0.1:80
        charset utf-8;
        location / {
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:8997;  #端口要和uwsgi里配置的一样
           uwsgi_param UWSGI_SCRIPT sychen_blog.wsgi;  #wsgi.py所在的目录名+.wsgi
           uwsgi_param UWSGI_CHDIR /data/wwwroot/sychen_blog/; #项目路径
           
        }
        location /static/ {
        alias /data/wwwroot/mysite/static/; #静态资源路径,这个路径是要在django的settings.py中设置 STATIC_ROOT = 'xxx/xxx/xxx'
        # 然后将这个路径写在这里
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值