• 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

  • 相关阅读:
    面试(乐观锁和悲观锁)
    Windows10/11显示文件扩展名 修改文件后缀名教程
    [附源码]java毕业设计小说网站的设计与实现1
    二进制部署1.23.4版本k8s集群-2-安装DNS服务
    技术管理实战之全貌
    蓝桥杯备赛第四篇(高级数据结构)
    工业边缘网关-03安装操作系统
    电脑中的opencl.dll丢失怎么办,三步解决opencl.dll丢失
    Python3中map()、reduce()、filter()的用法
    Python数据攻略-Hadoop集群中PySpark数据处理
  • 原文地址:https://blog.csdn.net/weixin_45750721/article/details/133090151