• linux部署Django项目


    linux部署Django项目

    一、虚拟环境

    1.更新依赖包

    CentOS或者Red Hat系统:

    yum -y install gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel
    
    • 1

    Ubuntu或者Debian系统:

    apt-get update
    
    apt-get install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
    
    • 1
    • 2
    • 3
    2.下载python3

    在/usr/local下创建一个python3文件夹,然后执行:

    cd /usr/local/python3
    wget https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz
    
    • 1
    • 2
    3.解压python3并安装

    解压的文件

    tar -zxvf Python-3.11.5.tgz
    
    • 1

    配置编译环境

    cd Python-3.11.5
    ./configure --prefix=/usr/local/python3/Python-3.11.5 --with-ssl
    
    ./configure --enable-optimizations
    
    • 1
    • 2
    • 3
    • 4

    编译并安装

    make && make install
    
    • 1
    4.创建软链接

    创建软链接方便使用Python3和pip3命令

    ln -s /usr/local/python3/Python-3.11.5/python /usr/bin/py3115
    
    • 1

    升级linux环境依赖

    创建虚拟环境

    cd /www/wwwroot/myweb

    py3115 -m venv venv

    5.运行项目

    将代码上传到Linux服务器

    在项目的配置文件settings.py文件中修改静态文件路径

    STATIC_ROOT = ‘/var/www/django-blog/static/’

    py3115 manage.py runserver
    
    • 1

    二、非虚拟环境

    1.更新环境依赖

    CentOS或者Red Hat系统:

    sudo yum update

    Ubuntu或者Debian系统:

    sudo apt update

    由于强哥安装的centos自带的python是3.6.8。django等依赖需要降低版本。

    # requirements.txt
    asgiref==3.4.1
    Django==3.2.21
    Pillow==8.4.0
    sqlparse==0.4.3
    tzdata==2022.7
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    由于强哥使用的博客数据库是sqlite3,服务器sqlite版本需要升级。

    #下载
    wget https://www.sqlite.org/snapshot/sqlite-snapshot-202309111527.tar.gz
    #解压
    tar -zxvf sqlite-snapshot-202309111527.tar.gz
    cd sqlite-snapshot-202309111527/
    #编译
    ./configure --prefix=/usr/local/sqlite
    make && make install
    #添加软链接
    ln -s /usr/local/sqlite/bin/sqlite3 /usr/bin/sqlite3
    #修改共享库,添加到/etc/profile的最后一行
    vim /etc/profile
    export LD_LIBRARY_PATH="/usr/local/sqlite/lib"
    source /etc/profile
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    切换到博客目录

    cd /xxx/mysite

    python3 manage.py runserver

    2.安装uwsgi
    • linux-CentOS安装uwsgi

    sudo yum install python3-dev

    sudo yum install python3-pip

    sudo pip3 install uwsgi

    • linux-ubuntu安装uwsgi

    sudo apt-get install python3-dev

    sudo apt-get install python3-pip

    sudo pip3 install uwsgi

    3.在博客目录新建deploy文件夹

    创建uwsgi.ini

    mkdir deploy

    cd deploy

    touch uwsgi.ini

    vim uwsgi.ini

    三、后台运行

    1.后台运行

    python3 your_script.py & disown

    nohup python3 your_script.py &

    2.结束运行:

    ps aux | grep “python3 manage.py”

    kill -9 12345

    3.查看端口占用

    netstat -tuln | grep 8080

  • 相关阅读:
    11.< tag-动态规划和子序列, 子数组>lt.115. 不同的子序列 + lt. 583. 两个字符串的删除操作 dbc
    Flutter 焦点管理 FocusScope 组件
    VMware——WindowServer2012R2环境mysql5.7.14解压版安装主从复制(图解版)
    Oracle数据库:创建、修改、删除、使用同义词synonym和索引index
    AdaBoost:提升机器学习的力量
    Ubuntu下ESP-IDF的环境搭建
    C Primer Plus(6) 中文版 第14章 结构和其他数据形式 14.7 向函数传递结构的信息
    第2-3-1章 文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
    maven报错:[ERROR] 不再支持源选项 7。请使用 8 或更高版本。
    linux 安装jdk
  • 原文地址:https://blog.csdn.net/weixin_45750721/article/details/133090151