zoukankan      html  css  js  c++  java
  • 空服务器搭建Django上线环境

    !!!注意:一定要全程在服务器同一用户下操作!!!


    文中服务器环境:Ubuntu 18.04 + python 3.8 + django 2.2.24 + mysql 5.7 + uwsgi 2.0.18 + nginx


    按以下流程走,可以在一台新的服务器(如从阿里云等厂商新购入 或 自己的虚拟机)中搭建出能够将Django跑起来的环境,有问题可评论交流。


    vim

    sudo apt install vim
    

    python

    如果不需要root用户跑项目,建议不要sudo,不然容易和自带python版本混乱

    01、以root用户或具有sudo访问权限的用户身份运行以下命令,以更新软件包列表并安装必备组件:

    sudo apt update
    sudo apt install software-properties-common
    

    02、将deadsnakes PPA添加到系统的来源列表中:

    sudo add-apt-repository ppa:deadsnakes/ppa
    

    出现提示时,按Enter继续

    03、启用存储库后,请使用以下命令安装Python 3.8:

    sudo apt install python3.8
    

    django

    直接安装:

    sudo pip3 install django==2.2.24
    

    备用命令:

    apt install python-django-common
    python3 -m pip install
    

    mysql

    软件安装

    sudo apt-get install mysql-server
    apt-get isntall mysql-client
    sudo apt-get install libmysqlclient-dev
    

    django连接依赖

    sudo apt-get install python3-dev default-libmysqlclient-dev
    sudo pip3 install mysqlclient
    

    创建数据库(mysql命令行执行)

    create database 数据库名 default charset utf8
    

    注:数据库名通常与项目名保持一致

    python3生成后台管理系统数据库表

    python3 manage.py makemigrations
    python3 manage.py migrate
    

    添加admin用户(在项目目录下)

    python3 manage.py createsuperuser
    

    uwsgi

    sudo pip3 install uwsgi==2.0.18
    修改uwsgi.ini

    ...
    socket=你的主机ip:8000
    chdir=/.../my_projiect(项目绝对路径)
    wsgi-file=my_project/wsgi.py
    

    启动uwsgi:uwsgi --ini uwsgi.ini
    停止uwsgi:uwsgi --stop uwsgi.pid
    查看进程:ps aux|grep ‘uwsgi’


    nginx

    sudo apt-get install nginx
    

    修改nginx配置

    sudo vim /etc/nginx/sites-enabled/default
    
        location / {
            uwsgi_pass 你的主机ip:8000;
            include /etc/nginx/uwsgi_params;
        }
    
    sudo /etc/init.d/nginx restart
    

    静态文件

    新建文件夹 mkdir /home/用户名/项目名_static/
    在项目 settings.py 中添加新配置
    STATIC_ROOT = ‘/home/用户名/项目名_static/static’

    进入项目目录,执行

    python3 manage.py collectstatic
    

    在nginx配置中添加static文件路径,否则nginx访问不到静态资源

    sudo vim /etc/nginx/sites-enabled/default
    
        location / {
            uwsgi_pass 你的主机ip:8000;
            include /etc/nginx/uwsgi_params;
        }
        location /static {
            root /home/用户名/项目名_static;
        }
    

    重启nginx

    sudo /etc/init.d/nginx restart
    

    问题排查路径(看日志):

    cat var/log/nginx/error.log
    cat 项目路径/同名文件夹/uwsgi.log
    
  • 相关阅读:
    Mbs Framework 简介
    回应老赵: 适合C# Actor的消息执行方式 中看也中用的解决方案
    Mini 容器学习笔记5—— 组件的获取
    JS控制文本框只能输入N个字符.
    【转】外挂编写原理
    【转】集合小节
    CSS样式的filter(滤镜效果)
    系统变量(%SystemRoot% ,%windir% ,%temp%,%system%)的表示方法
    客户端调用服务器控件
    Flash MX 认证考试(样题)
  • 原文地址:https://www.cnblogs.com/yunet/p/14967487.html
Copyright © 2011-2022 走看看