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目錄里。


阿里云安裝python3的極簡方法_Python

(2)安裝anaconda3,根據以下屏幕提示依次完成。

輸入命令:sh Anaconda3-4.3.1-Linux-x86_64.sh


阿里云安裝python3的極簡方法_Python

阿里云安裝python3的極簡方法_Python

慢敲回車ENTER鍵,47下左右,屏幕提示是否接受許可協議?輸入yes。

輸入指定安裝路徑:/usr/local/anaconda3


阿里云安裝python3的極簡方法_Python

屏幕提示是否將安裝路徑寫入PATH環境變量,輸入yes,回車,安裝完成。


阿里云安裝python3的極簡方法_Python

重新登錄遠程連接,輸入python,默認即是python3.6版本啦,是不是極其簡單呢?


阿里云安裝python3的極簡方法_Python
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

2.為什么很多應用都安裝在/usr/local目錄下?參考鏈接

答案是: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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/382475.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/382475.shtml
英文地址,請注明出處:http://en.pswp.cn/news/382475.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql 學習筆記09字符串相關函數

相關介紹: concat函數使用,拼接字符串 大小寫轉換函數 length函數,統計字符串長度(字節數) replace 函數,字符串內容替換: substring函數使用,字符串截取 綜合使用&#…

數據庫學習筆記

學習筆記 一篇文章看懂數據庫原理 原文鏈接 譯文鏈接 數據庫面試題 數據庫面試題

CSDN-markdown編輯器語法速查手冊

這里寫自定義目錄標題歡迎使用Markdown編輯器新的改變功能快捷鍵合理的創建標題,有助于目錄的生成如何改變文本的樣式插入鏈接與圖片如何插入一段漂亮的代碼片生成一個適合你的列表創建一個表格設定內容居中、居左、居右SmartyPants創建一個自定義列表如何創建一個注…

mysql 學習筆記10 常用數學函數

概述: abs的使用,取絕對值 select abs(-100); 返回100ceiling,向上取整, floor,向下取整 format函數,設置小數顯示位數,與round函數類似 least函數,取參數中的最小值mod函數&#xf…

mac給服務器傳送文件

文章目錄從本地將文件傳輸到服務器從本地將文件夾傳輸到服務器將服務器上的文件傳輸到本地將服務器上的文件夾傳輸到本地從本地將文件傳輸到服務器 scp【本地文件的路徑】【服務器用戶名】【服務器地址】:【服務器上存放文件的路徑】 scp /Users/mac_pc/Desktop/te…

mysql 學習筆記 11過程控制

概述: if舉例: 如果conm等于null,就返回0,否則返回conm 使用if參與運算,這樣就避免了conm為null時候,無法參與運算的情況 ifnull舉例: select case when expr1 then expr1_res when expr2 then expr2_res…

MySQL中my.cnf解析

原文出處:進行重新排版 http://database.51cto.com/art/201108/285365.htm . [client] . port 3309 . socket /home/mysql/mysql/tmp/mysql.sock . [mysqld] . !include /home/mysql/mysql/etc/mysqld.cnf #包含的配置文件 ,把用戶名,密碼…

mysql學習筆記12 其他函數

1.概述: 舉例: 查詢用戶 mysql> select user(); -------------------- | user() | -------------------- | root192.168.135.1 | --------------------顯示當前所用數據庫 mysql> select database(); ------------- | database() …

CSDN-markdown編輯器

這里寫自定義目錄標題歡迎使用Markdown編輯器新的改變功能快捷鍵合理的創建標題,有助于目錄的生成如何改變文本的樣式插入鏈接與圖片如何插入一段漂亮的代碼片生成一個適合你的列表創建一個表格設定內容居中、居左、居右SmartyPants創建一個自定義列表如何創建一個注…

mysql 學習筆記13 查詢語句強化

使用控制語句計算員工年工資 查詢入職時間,晚于1982年1月1日的,(日期是可以進行比較的) where中like的使用 select name, sal from users where like S%; select name, sal from users where like __O%;order by,使用…

mysql學習筆記14 多表查詢初步

對數據分組的總結 舉例:統計各個部門的平均工資,并且是大于1000的,并且按照平均工資從高到底排序 mysql> select avg(stsal) as myavgsal, stdepno from staff group by stdepno having myavgsal > 1000 order by myavgsal desc; ----…

SSH加密密碼中的非對稱式密碼學

轉 wiki https://zh.wikipedia.org/zh-cn/公開密鑰加密 公開密鑰密碼學 (英語:Public-key cryptography),也稱為非對稱式密碼學(英語:asymmetric cryptography),是密碼學的一種算…

mysql 學習筆記 多表查詢02

把一張表 想象成兩張表,進行多表查詢 舉例: 查詢 所有員工的 姓名 以及 其 上級姓名 select s1.stname, s2.stname from staff as s1, staff as s2 where s1.stmgr s2.stid;查詢 員工李巖的 上級姓名 select s1.stname, s2.stname from staff as s1…

Mac Redis安裝入門教程

redis安裝(mac) brew install redis 如果需要后臺運行 redis 服務,使用命令 brew services start redis 如果不需要后臺服務,則使用命令 redis-server /usr/local/etc/redis.conf 啟動redis服務 執行以下命令 /usr/local/bin…

Shell 腳本基礎學習

查詢手冊 菜鳥教程 for循環和seq的使用 echo "method 1" for i in seq 1 10; doecho $i; doneecho "method 2" for i in {1..10} doecho $i; doneecho "method 3" for i in seq 1 2 10; doecho $i; done進入目錄創建文件重定向內容 cd Test …

mysql 學習筆記15 子查詢

子查詢定義&#xff1a; 單上子查詢舉例&#xff1a; 顯示與 員工 關平 同一部門的員工&#xff0c; 但不包括關平 select * from staff where staff.stdepno (select staff.stdepno from staff where stname關平) and staff.stname<> 關平 ;多行子查詢舉例&#xff…

shell自學筆記

文章目錄重定向數值比較邏輯操作符使用范圍關于文件判斷測試表達式test [] [[]] (())的區別sed教程AWK教程重定向 0表示標準輸入 1表示標準輸出 2表示標準錯誤輸出 默認為標準輸出重定向&#xff0c;與 1> 相同 2>&1 意思是把 標準錯誤輸出 重定向到 標準輸出. &…

ffmpeg簡單使用小記

1. 使用ffmpeg 進行普通切片&#xff08;ts&#xff09;操作 .\ffmpeg.exe -i a.mp4 -y -f hls -c copy -hls_time 10 .\s.m3u82. 使用ffmpeg 對視頻進行設置旋轉參數為0 .\ffmpeg.exe -i a.mp4 -metadata:s:v:0 rotate0 -c copy outputfile.mp43. 使用文件對視頻進行加密 .\…

python3安裝教程配置配置阿里云

配置全新阿里云 Linux iz2ze0ajic0vbvwnjhw2bwz 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 安裝依賴包 wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1rc1.tar.xz 新建一個文件夾存放python3 mkdir /u…

python 使用requests模塊進行 視頻文件的下載

公司項目需要下載一批視頻文件&#xff0c; 格式是mp4和mkv的&#xff0c;就借助request模塊進行了下載&#xff0c;前提是源服務器返回文件的大小&#xff0c;以及可以接受 請求頭headers中帶有Range參數 以下是下載邏輯&#xff1a; resp requests.head(urlreal_video_url)…