zoukankan      html  css  js  c++  java
  • Ubuntu18.04搭建Django+nginx上线环境问题解决

    服务器环境为 Ubuntu18.04+python3.8+Django2.2.24+mysql5.7

    这两天在阿里云租了个服务器,将Django项目部署上去,耗时一整天成功部署,记录期间遇到的问题与解决办法,供大家参考。


    启动uwsgi时报错:ImportError: No module named ‘django’

    解决方法:
    在uwsgi.ini中添加

    pythonpath=/usr/local/lib/python3.8/dist-packages
    

    Django忘记管理密码:

    python3 manage.py shell
    >>> from django.contrib.auth.models import User
    >>> user = User.objects.get(username='test')
    >>> user.set_password('666666')
    >>> user.save()
    

    阿里云服务器公网ip无法访问:

    安全策略里添加策略放行80端口

    获取 Django版本号:

    python -m django --version

    在Ubuntu 18.04 下安装mysql,没有初始密码,重设root密码:

    1、找到安装时默认生成的默认账户在终端上输入

    sudo cat /etc/mysql/debian.cnf
    

    2、用得到的账户和密码登录mysql,这里的密码一定要用查到的那个密码
    3、修改密码

    use mysql;  #连接到mysql数据库
    update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost';    #修改密码123456是密码
    update user set plugin="mysql_native_password";
    flush privileges;
    quit;
    

    重启mysql服务器后,直接可以用root账户进行登录了

    ubuntu删除django,安装django

    删除安装路径下的django与egg文件
    Open the python shell

    >> import django
    >> django.__path__
    
    sudo rm -rf django
    sudo rm Django-1.3.1.egg-info
    


    从终端:

    pip3 uninstall Django
    

    修改python默认版本

    home路径下终端输入:

    echo alias python=python3 >> ~/.bashrc
    

    如果是python3.7和python3.8共存,但是想默认是3.8,需要执行

    echo alias python3=python3.8 >> ~/.bashrc
    

    然后source一下:

    source ~/.bashrc
    

    阿里云服务器中uwsgi报错bind error : Cannot assign requested address

    修改uwsgi.ini文件中的socket为阿里云服务器管理中给的内网ip

    NAT模式物理机无法ping通虚拟机

    若安装了VirtualBox,将其在物理机对应的网卡禁用

    启动uwsgi出现!!! no internal routing support, rebuild with pcre support !!!

    pip uninstall uwsgi
    sudo apt-get install libpcre3 libpcre3-dev
    pip install uwsgi --no-cache-dir
    

    not a regular file问题

    可以用scp -r来进行传输

    简单更改Django Admin登录页面

    可通过修改应用的admin.py文件,改变后台登陆的header和title

    from django.contrib import admin
    admin.site.site_header = '运维管理系统'  # 设置header
    admin.site.site_title = 'OSS'          # 设置title
    

    no python application found, check your startup logs for errors

    一般是多版本兼容的问题,或者uwsgi和python环境不符合,注意pip的时候需不需要pip3

    Django错误unsupported operand type(s) for +: ‘PosixPath‘ and ‘str‘

    将settings中的'DIRS': [BASE_DIR+'templates',],改为:

    'DIRS': [BASE_DIR,'templates',],
    

    创建Django工程出现:Cannot find installed version of python-django or python3-django

    大概率是由于pip的路径和当前python版本不对应,安装对应版本的django即可解决

  • 相关阅读:
    O(n)回文子串(Manacher)算法
    LightOJ 1282
    LightOJ
    LightOJ
    POJ-2563
    POJ-2398
    POJ-2318
    ZOJ-3318
    [svc]ftp协议数据连接的2种模式
    [py]python中的特殊类class type和类的两面性图解
  • 原文地址:https://www.cnblogs.com/yunet/p/14967509.html
Copyright © 2011-2022 走看看