1. 程式人生 > 其它 >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即可解決