Django学习笔记《一》图书管理系统项目挂载到阿里云
項目示例
pycharm編譯好的項目
阿里云服務器域名
成果展示
如果不能訪問,可能端口已經關閉。
遇到的問題一大堆,大量使用網上文章,如有問題,進行留言聯系。
簡單做一個記錄供自己查閱和檢索,以備下次服務器搭建,這樣可以減少時間成本。
僅供個人記錄使用!本文不是教程
僅供個人記錄使用!本文不是教程
僅供個人記錄使用!本文不是教程
選擇的是cento7的云系統
Linux yun 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux首先默認沒有python3,用官網的安裝,安裝好了有沒有pip3沒辦法安裝django和pymysql。親測成功!
解決方案:https://www.aliyun.com/jiaocheng/527141.html
1.安裝依賴包bzip2安裝anaconda前,要先安裝個解壓縮工具bzip2,打開阿里云ECS實例的遠程連接,輸入下面命令,即可完成安裝:
yum install bzip2
2.安裝anaconda3(1)下載anaconda3安裝包,輸入命令:
wget https://repo.continuum.io/archive/Anaconda3-4.3.1-Linux-x86_64.sh
如果速度慢的話,可以在本地下載后,上傳到服務器root目錄里。
(2)安裝anaconda3,根據以下屏幕提示依次完成。
輸入命令:sh Anaconda3-4.3.1-Linux-x86_64.sh
慢敲回車ENTER鍵,47下左右,屏幕提示是否接受許可協議?輸入yes。
輸入指定安裝路徑:/usr/local/anaconda3
屏幕提示是否將安裝路徑寫入PATH環境變量,輸入yes,回車,安裝完成。
重新登錄遠程連接,輸入python,默認即是python3.6版本啦,是不是極其簡單呢?
TIPS:1.安裝python的依賴包。參考鏈接
安裝python或者anaconda前,可能需要先安裝一些依賴包(例如解壓工具bzip2),否則會報錯。
已知的一些常用依賴包如下,可根據需要選擇安裝:
在 CentOS/RHEL/Fedora 下:
sudo yum install readline readline-devel readline-static
sudo yum install openssl openssl-devel openssl-static
sudo yum install sqlite-devel
sudo yum install bzip2-devel bzip2-libs
在 Ubuntu下:
sudo apt-get update
sudo apt-get install make build-essential libssl-dev zlib1g-dev
sudo apt-get install libbz2-dev libreadline-dev libsqlite3-dev wget curl
sudo apt-get install llvm libncurses5-dev libncursesw5-dev
答案是:Automake工具定義了下面的一組變量:
Directory?variable??Default?value
prefix??/usr/local
exec_prefix???${prefix}
bindir??${exec_prefix}/bin
libdir??${exec_prefix}/lib
…
includedir????${prefix}/include
datarootdir???${prefix}/share
datadir?${datarootdir}
mandir??${datarootdir}/man
infodir?${datarootdir}/info
docdir??${datarootdir}/doc/${PACKAGE}
…
而GUN下面絕大部分應用的編譯系統都是用automake。
于是乎,你看到的很多很多應用都安裝在了/usr/local/目錄下。
解決了python3的問題以后mysql默認也沒安裝!
到官網下載好rpm安裝包,附贈我的鏈接,下載名字的包
RPM Package, MySQL Server
安裝教程:https://www.cnblogs.com/shuangzikun/p/taotao_linux_mysql_install.html
較有參考價值的文章:https://blog.csdn.net/a774630093/article/details/79270080
從第四步開始
4、安裝之前卸載以前的版本 [root@localhost soft]# rpm -qa | grep mysql pcp-pmda-mysql-3.10.6-2.el7.x86_64 [root@localhost soft]# rpm -e --nodeps pcp-pmda-mysql-3.10.6-2.el7.x86_64 [root@localhost soft]# rpm -qa | grep mysql 5、開始安裝rpm文件 ,順序是先安裝依賴文件再安裝client再安裝server 安裝過程出現如下錯誤 就需要刪除mariadb-libs 執行刪除[root@localhost soft]# yum remove mariadb-libs 刪除完畢。 安裝第一個依賴 mysql-community-common-5.7.21-1.el7.x86_64.rpm 安裝第二個依賴 mysql-community-libs-5.7.21-1.el7.x86_64.rpm 安裝客戶端 mysql-community-client-5.7.21-1.el7.x86_64.rpm 安裝服務端 mysql-community-server-5.7.21-1.el7.x86_64.rpm 6、安裝完畢開始查看是否啟動 [root@localhost soft]# systemctl status mysqld.service 沒有啟動。 開始啟動服務 [root@localhost soft]# systemctl start mysqld [root@localhost soft]# systemctl status mysqld 看到顏色很深的地方表示啟動ok了。 7、查初始root密碼 [root@localhost soft]# cat /var/log/mysqld.log | grep 'password' 冒號后面的那一坨就是密碼。 8、進入mysql,開始重新設置密碼 如果直接輸入mysql不行,重新連接xshell試試,我一開始也一直報錯,就是進入不了mysql,很尷尬。 就像這樣。我斷開連接之后,后面不知道咋的又好了。 [root@localhost ~]# netstat -tulpn 查看mysql運行狀態,如果有33006端口表示服務正在運行 --------進入mysql mysql -uroot -p 輸入上面的初始密碼。 現在還不能做別的操作,先修改初始密碼 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '117949255'; 如果遇到這種問題 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 執行 mysql> set global validate_password_policy=0; mysql> global validate_password_length=1; 再次執行 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '117949255'; ok,密碼就改成了后面的了。 可以退出重新登錄看看。 mysql> quit 8、設置遠程連接 [root@localhost ~]# systemctl restart mysqld 重新啟動服務 [root@localhost ~]# GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '117949' WITH GRANT OPTION; 設置遠程連接,后面的數字是密碼,可以改變。 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 遇到同樣的問題同樣的解決方法。 設置ok之后,可以連接試試 ok啦。 心得:剛開始安裝的時候走了彎路,拿起哥教程就開始搞,高了很久一直報錯,后來才發現數據庫版本不對,解壓之后也沒有安裝mysql,去花費了大量時間去配置/etc/my.cnf ,到頭來還是沒有鳥用,哎,開頭都錯了,怎么搞都是gg。安裝的環境基本搞定了!再就是使用navicat連接阿里云mysql
這里需要配置的比較多,很容易出錯
首先開放端口,添加用戶,添加安全組,如果有防火墻也要關閉
https://blog.csdn.net/antony9118/article/details/77835715
首先創建安全組,然后再安全組中添加規則,如下所示,詳情可以參考官方文檔
https://helpcdn.aliyun.com/document_detail/25471.html?spm=5176.doc25468.2.4.RfJyPU
添加規則之后,再用navicat連,報另一條錯誤
1045 access denied for user'root'@'localhost' using password yes- 1
猜想是因為我本地使用root用戶登錄navicat,而root用戶并沒有開放外部的訪問權限,而是只能localhost訪問
下一步登陸mysql數據庫,使用命令
果然root用戶的訪問權限是localhost,并不能從外部進行訪問,需要手動賦權
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;- 1
好了,這下又報錯
Your password does not satisfy the current policy requirements- 1
也就是密碼強度不符合,我也是醉了,使用下面的命令可以查看設置的密碼強度校驗規則
SHOW VARIABLES LIKE 'validate_password%';- 1
果然是有很麻煩的校驗,網上有很多去除這個校驗的方法,不過都需要修改配置文件然后重啟數據庫,個人覺得有點麻煩,還有一種臨時辦法可以去除密碼強度校驗(不過下次登錄又得用一遍,好處是不需要重啟)
set global validate_password_policy=0;- 1
好了,再輸入上面的對root用戶賦權的命令,大功告成
OK,到這里,服務器的3306端口也對外開放了,root用戶也可以從外部進行訪問了,navicat連接成功
大致到這里解決了很多問題,當然有的問題,也要百度。下面說一下setting.py的配置
數據庫的配置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql','NAME': 'book_manager',這個是你數據庫的名字,連接上數據庫后,你要先創建'USER': 'root','PASSWORD': 'xxxx',這個密碼是數據庫root用戶的密碼'HOST': '39.107.87.114',這個host是你公網的host'PORT': '3306'這個端口是數據庫默認端口,需要在安全組里面打開} }連接配置
# SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = ['*']這是允許所有用戶都可以訪問!因為是自己學習使用,所以也沒有那么多嚴格的限制怎么運行項目
python manage.py runserver 0.0.0.0:8000其他問題
MySQL 5.7 Access denied for user ‘root’@‘localhost’ (using password YES)
這個問題不要按照網上的操作進行設置,首先還是檢查自己密碼的問題
# service mysqld restart 報錯 Redirecting to /bin/systemctl restart mysqld.service
解決辦法
使用如下命令操作mysql:
systemctl restart mysqld.service
systemctl start mysqld.service
systemctl stop mysqld.service
ModuleNotFoundError: No module named '_ctypes’報錯
這個操作要進入root用戶!進行安裝
可參考網上教程:https://blog.csdn.net/qq_36416904/article/details/79316972
http://blog.51cto.com/maoxiaoxiong/2172785
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Django学习笔记《一》图书管理系统项目挂载到阿里云的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django学习笔记《二》图书管理系统
- 下一篇: 【操作系统】页面置换算法