Ubuntu18.04搭建Django+nginx上線環境問題解決
阿新 • • 發佈:2021-07-03
伺服器環境為 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即可解決