阿里雲ubuntu16.4伺服器部署python3.6.2+django1.11.3網站的全過程,精細講解,本人親測!
首先,部署用到的技術:
ubuntu命令列語句
anaconda3 語句
python 命令列語句
mysql 命令列語句
pycharm 操作經驗
navicate 操作經驗
阿里雲
購買阿里雲:雲伺服器 ECS。儘量便宜弄到手,學生價/免費搶/折扣購買
買完後開啟阿里雲管理控制檯,如下圖,畫圈的是叫你多留心一下~
接下來就是連線了,你可以下載Xshell or PuTTY,用來連線,或者使用上圖的遠端連線
注意:修改了雲伺服器root的密碼了,記得要重啟一次雲伺服器。
阿里雲購買完成並且連線成功後,是下圖的效果
我用的PuTTY,上圖是連線成功的介面
接下來安裝Python環境
你需要使用conda嗎?如果需要的話,跳過這一步,下面有安裝conda的教程哦~
在連線的終端輸入:
sudo apt-get upgrade
sudo wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
(儲存至當前目錄, 推薦下載儲存與安裝的目錄為/root)
下載完畢後,解壓安裝:
tar -zxvf Python-3.6.2.tgz
cd Python-3.6.2
sudo ./configure
sudo make
sudo make install
輸入python3進入pyhton互動介面,說明安裝成功了。
使用Pycharm上傳專案
你也可以使用 linux與windows之間連線的軟體傳遞你的專案到伺服器,軟體如: Xftp, WinSCP
你也可以先上傳到github再在伺服器上下載專案。
這裡使用pycharm,首先是一個叫VcrTStore的專案,如下圖:
然後點選pycharm上面的的Tools > Deployment > Configuration,
然後新增連線,讓pycharm連線到你的伺服器,連線的配置如下圖:
然後選擇專案存放的資料夾,建議在伺服器端的 使用者的資料夾內 mkdir(建立)一個資料夾,我是在root資料夾下建立了一個VcrTStore資料夾
選擇的步驟如下圖:
點選ok後,再次點選Tools > Deployment 你就會發現,有 Upload to VcrTStore 這個選項,
這個選項就是用來上傳專案的,點選即上傳專案,
上傳過程中,pycharm會在底部有有一個上傳進度條,我們只需要等待上傳完成即可,
Deployment中還有一些好用的選項,如同步程式碼,下載程式碼等,可以實現邊開發邊提交的開發模式。
提示:
Upload to VcrTStore completed: *** files transferred 則表示上傳成功。
小知識:
使用 Upload to VcrTStore 的時候,是右側project管理器 點選了哪個檔案/資料夾就上傳哪個喲~
要上傳整個專案,需點選專案最外層資料夾。
安裝mysql
請看部落格:ubuntu 安裝 mysql
配置mysql
請看部落格:ubuntu 配置 mysql
親測有效,還有,關於mysql8的配置,變化不是很大。
開啟阿里雲訪問埠
首先,在阿里雲的雲伺服器控制檯,就是圖一那個介面,點選 更多 > 網路和安全組 > 安全組配置
然後點選配置規則,就會開啟如下圖一樣的介面
上圖三個是預設的,我們需要建立一些規則,點選 快速建立規則
如下圖,是我建立的規則,0.0.0.0/0 是允許所有哦~注意下
有些埠,快速配置無法滿足?比如像 django 的 8000,memcached 的 11211,
如何再新增一些埠呢,就是 點選 新增安全組規則 按鈕。
8000/8003的意思是,允許 8000, 8001, 8002, 8003 埠,其實是表示範圍,
說的是我的配置:
這些工作做好了,就完成了,emmmmm,1/3了吧。
遠端連線mysql
我們即將在windows上遠端連線我們在阿里雲伺服器裡安裝的mysql資料庫,
我使用的是navicate,連線配置如下圖:
連線成功後,就是建立一個資料庫了,與你專案用的資料庫同名,我的是vcrtstore。
同步資料到遠端資料庫
右鍵點選本地的vcrtstore資料庫,然後選擇 轉儲sql檔案>結構和資料,
選擇一個資料夾儲存,儲存為vcrtstore.sql,這樣原資料和表就備份好了,
然後右鍵伺服器的vcrtstore資料庫,選擇 執行sql檔案, 執行 vcrtstore.sql檔案
效果如下圖:
這樣,阿里雲那邊的mysql也就有了我們本地的資料了,是不是感覺本教程講得很詳細呢?mua~
新建虛擬環境 or 不需要虛擬環境
你可以選擇建一個Pyhton的虛擬環境,也不可以不建,
如果你要建的 話 呢,自己去找教程吧!
不過我使用的是Anaconda,小conda 還是很好用的,可以使用多個python版本,比如python2.7啊,python3.7啊, python3.6.2啊!
下載Anaconda :
sudo wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh
這裡有個anaconda的安裝教程 (ubuntu) >>
這裡有一個知乎的關於Anaconda安裝與使用的教程 (在圖形介面上安裝conda的教程,以命令列形式使用conda的教程)>>
小知識:
修改bashrc:sudo vim ~/.bashrc
遷移Python包到伺服器上
在本地命令列中,執行一個命令:pip freeze > package.txt
這樣django專案要用到的包的資訊就打包好了,然後將這個package.txt 檔案傳到 伺服器中,可以使用pycharm,也可以使用第三方軟體~
然後,在伺服器中,並且在Python虛擬環境下,執行命令:pip install -r package.txt
下載完成後,包就遷移成功了~
在本地訪問一下伺服器上的專案
首先,更改一下django中mysql的連線引數 'HOST': '39.107.96.126' (阿里雲伺服器的ip)
其次,更改 ALLOWED_HOSTS = ['*'] (允許任何ip訪問專案)
我是在本地pycharm裡改的,改完upload到了伺服器裡面。
然後,在伺服器的命令列中使用 python manage.py runserver 0.0.0.0:8000 啟動專案
最後,在本地瀏覽器裡輸入 http://39.107.96.126:8000
噹噹噹當,本地瀏覽器就可以訪問伺服器上的專案啦~
如下圖:
其實,到這裡,稍微懂點的同仁已經知道如何去部署專案了
但是,如果不懂也沒關係,因為我們還有教程吶~
Pycharm遠端除錯程式碼
這個,其實還是蠻重要的~
點選pycharm上方的 file > settings > Project:VcrTStore > project interpreter
效果如下圖:
點選第5步的 Add ,
然後 Add remove,點選ssh credentials,
有的pycharm版本呢,沒有Add remove,這些版本使用的是 ssh interpreter
add remove 與 ssh interpreter 的配置差別不是很大!
我嘛,使用的是ssh interpreter 的這種,如下圖:
配置連線後,配置一些目錄
interperter表示配置python的目錄,我使用的是anaconda的虛擬環境
sync folders(也是Path Mapping)表示你要尋找到django專案的根目錄
效果如下圖:
配置好後,點選 apply, 點選 ok,然後等待除錯環境載入完成。
然後,點選pycharm上方欄的 run > debug > edit configrations
配置一下 debug 的啟動,如下圖:
這樣你的專案就 debug 啟動啦~
你可以在本地pycharm打斷點除錯專案了啦~
啦啦啦~
前端是Vue專案,配置使用django作為代理啟動
這裡的是一個前後端分離的專案,前後端除錯好了的,
如果不使用django作為代理啟動or不是前後端分離的專案,這一步可以跳過!!!
首先,打包一下vue的靜態檔案,在vue專案的根目錄開啟一個命令列,
輸入命令: npm run build
完成後會在根目錄下生成 dist 資料夾,裡面有 static、index.entry.js、index.html
其次,將index.html 拷貝,放入django的 template 資料夾中,
將index.entry.js 拷貝到django的 static 資料夾中,
將vue專案下的 static 資料夾內部的東西,拷貝到 django的 static 資料夾中
接著,將 STATIC_URL 、STATICFILES_DIRS 配置到settings.py中,
拷貝後的結果,如下圖:
找不到django的 template or static 資料夾???說明你是一個新手,啦啦啦~
然後,記得將 index.html 裡面引用script的src屬性改一下哦
改成:
src="/static/index.entry.js"
切記切記,
最後,配一下 django 的 urls.py,
這是 urls.py 中的部分程式碼:
from django.views.generic import TemplateView
urlpatterns = [
url(r'^index/', TemplateView.as_view(template_name='index.html')),
]
如果你使用了pycharm遠端程式碼除錯,記得 Upload 一下更改哦~
emmmmmm,我們來訪問一下,http://xx.xxx.xx.xxx:8000/index
報Template錯誤???報static錯誤???自行百度解決,over~
Niginx + Uwsgi 部署 Django專案
部署步驟的話,emmm,百度一下。
這裡會有坑,如果用anaconda 建立的虛擬環境,安裝 uwsgi 時,
會報錯:uwsgi: error while loading shared libraries: libpcre.so.1: ..........
這裡有個anaconda 安裝 uwsgi 的教程: uwsgi + django(anaconda)伺服器配置 lto 版本錯誤解決
部署django的話百度一下,帖子一大把!!!我這邊的話呢!就省略了~
阿里雲購買域名
接下來就是域名解析環節了,django部署了呢,應該監聽埠 80,
然後去阿里買個域名
如下圖:
我已經買了一個,9元的,
這裡說一下哈,千萬別註冊掉我的域名vcrting.com/vcrting.cn/vcrting.site/vcrting.online等等,
各位大哥哥小哥哥大姐姐小妹妹們,千萬千萬千萬別註冊掉我的域名
域名也需實名認證,是學生或者個人的話千萬別買.com/.cn結尾的域名,要去備案的!!!不嫌麻煩的話就隨意嘍。
點選 解析 按鈕,進入這個頁面:
這裡沒有域名的解析記錄對吧,我們點選 右邊 的 新增記錄 按鈕
如下圖:
記錄值是 你的雲伺服器的 ip ,不包括埠,所以我們django專案的監聽埠應該設定為 80
設定完就是這樣的:
所以呢,接下來就可以使用 www.vcrting.fun 來訪問我的網站了 哈哈哈哈哈哈哈哈哈~
訪問一下試試
md 怎麼這樣!???????!!!!
還是要備案,我們進入阿里的備案介面:
點選進入備案系統,
然後填寫一下備案資料嘍~
然後還要一個備案服務號:
點選 紅的 文字框下面的獲得備案號,去獲得一個備案號
這裡的話呢!其實我嘛,踩了一個坑,
為什麼是坑,因為例項要買滿3個月後,才能申請備案號!!!!!!!!!!!!
如圖:
額,沒關係,沒關係,沒關係啦,不就3個月嘛,掏個錢包的事兒,有什麼關係呀。。。。。
提醒:
個人域名備案需要用到的東西:
身份證-正面圖、
身份證-反面圖、
戶口本/臨時居住證-正面圖、
戶口本/臨時居住證-反面圖、
網站真實性驗核單。
我們還是可以通過 http://xxx.xxx.xxx.xxx/index 來訪問的嘛!
如圖:
寫到這裡呢,就差不多該結束了,哎,想想這一路收穫也蠻多的,收穫最大的應該就是“ 阿里雲伺服器要滿3個月才能備案 ”這個知識點了,祝願讀這篇帖子的學者同仁們都能成功部署好自己的專案~
相關文章
- 阿里雲伺服器部署web專案全過程阿里伺服器Web
- 阿里雲伺服器ECS搭建網站詳細教程阿里伺服器網站
- 在青雲上部署oracle rac全過程Oracle
- Windows平臺Nginx部署https網站的過程WindowsNginxHTTP網站
- 新手搭建雲伺服器詳細過程伺服器
- vue-cli 3.0 使用全過程講解Vue
- vue-cli3.0使用全過程講解Vue
- windows雲伺服器部署web網站Windows伺服器Web網站
- SpringBoot專案部署到阿里雲伺服器全流程Spring Boot阿里伺服器
- 【親測可用】阿里雲簡訊阿里
- 超詳細講解頁面載入過程
- 網站備案接入變更 - 記錄從阿里雲轉到騰訊雲的過程網站阿里
- 入門 | Tensorflow實戰講解神經網路搭建詳細過程神經網路
- 107-全過程部署fabc
- ES叢集構建(本人親測有效)
- 阿里雲伺服器部署mongodb阿里伺服器MongoDB
- 堆排序的Python實現(附詳細過程圖和講解)排序Python
- 談談本人學Linux的小過程Linux
- gigapath部署以及微調全過程
- LLM本地部署全過程記錄
- 如何把本地網站部署到雲伺服器上網站伺服器
- 阿里雲異常流量及異常網路連線的安全解決過程阿里
- 全網最全,講解最細的ps日常操作小技巧,Photoshop教程
- Hexo部落格部署到騰訊雲伺服器全過程(Nginx,證書,HTTPS),你要的這裡都有Hexo伺服器NginxHTTP
- 阿里雲伺服器Nginx的安裝與部署阿里伺服器Nginx
- 阿里雲伺服器部署Mongodb服務阿里伺服器MongoDB
- 新部署 Laravel 到阿里雲伺服器Laravel阿里伺服器
- 阿里雲伺服器部署django專案阿里伺服器Django
- unigui在阿里雲伺服器上部署GUI阿里伺服器
- 部署Django到阿里雲伺服器教程Django阿里伺服器
- 恆訊科技講解美國網站伺服器租用的要求網站伺服器
- 如何把本地的Django專案部署到伺服器(親測)Django伺服器
- 伺服器部署過程(node相關)伺服器
- 免費雲伺服器(親測實用)伺服器
- Linux下-LNMP環境搭建部落格網站(全過程)LinuxLNMP網站
- 滲透測試網站安全基礎點講解網站
- 阿里雲的ecs伺服器,建立ftp站點阿里伺服器FTP
- iozone磁碟讀寫測試工具的使用以及命令詳解、下載(網站最詳細講解步驟)網站