Nginx教程

Ubuntu18.04搭建Django+nginx上线环境问题解决

本文主要是介绍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即可解决

这篇关于Ubuntu18.04搭建Django+nginx上线环境问题解决的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!