[CentOS Python系列] 六.阿里雲搭建Django網站詳解
本篇文章主要介紹講述部署阿里雲伺服器Django網站環境,並通過IP地址訪問網頁的過程。寫程式碼過程中往往第一步需要解決的就是配置開發環境,對於新手來說,這是非常頭疼的事情,而當配置好之後或者對於老手來說,我們才能去實現理想的功能。基礎性文章,希望對您有所幫助,同時文章中存在錯誤或不足之處,還請海涵~
同時推薦前面作者另外三個Python系列文章。
從2014年開始,作者主要寫了三個Python系列文章,分別是基礎知識、網路爬蟲和資料分析。
- Python基礎知識系列:Pythonj基礎知識學習與提升
- Python網路爬蟲系列:Python爬蟲之Selenium+Phantomjs+CasperJS
- Python資料分析系列:知識圖譜、web資料探勘及NLP
系列文章:
[CentOS Python系列] 一.阿里雲伺服器安裝部署及第一個Python爬蟲程式碼實現
[CentOS Python系列] 二.pscp上傳下載伺服器檔案及phantomjs安裝詳解
[CentOS Python系列] 三.阿里雲MySQL資料庫開啟配置及SQL語句基礎知識
[CentOS Python系列] 四.阿里雲伺服器CentOS連線遠端MySQL資料庫及pymsql
[CentOS Python系列] 五.阿里雲部署web環境及通過IP地址訪問伺服器網頁
一. 建立第一個Django網站
首先開啟Putty軟體,填寫遠端IP地址“39.107.105.166”,然後root使用者登入,如下圖所示。
輸入"pip list"指令可以看到已經安裝的Django 1.10.6版本,如果您的系統沒有安裝,則使用pip安裝。
第一步 建立Django專案Yangxz
命令:django-admin.py startproject Yangxz
建立Yangxz網站工程,同時使用ls檢視工程中所包括的內容,如下圖所示。
參考:[python網站開發] 一.Django入門知識及建立第一個網站
第二步 啟動專案服務
命令:python manage.py runserver 8090
開啟8090埠號,但是報錯如下圖所示,它提示我們還有配置沒有完成,需要我們再配置一下。
[root@iZ2ze9134z8zlqupc9t6mzZ Yangxz]# ls
manage.py Yangxz
[root@iZ2ze9134z8zlqupc9t6mzZ Yangxz]# python manage.py runserver 8090
Performing system checks...
System check identified no issues (0 silenced).
You have 13 unapplied migration(s). Your project may not work properly until you apply
the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
March 13, 2018 - 07:56:34
Django version 1.10.6, using settings 'Yangxz.settings'
Starting development server at http://127.0.0.1:8090/
Quit the server with CONTROL-C.
第三步 解決上述錯誤
命令:python manage.py migrate
migrate可以讓我們在修改Model後可以在不影響現有資料的前提下重建表結構。
這時你會發現在上一層的hello目錄下面多了一個檔案dg.sqlite3,此時再呼叫“python manage.py runserver 8090”命令開啟8090埠則成功,如下圖所示。
此時,我們通過“http://39.107.105.166:8090/”訪問網站卻無法訪問,如下圖所示。
二. 配置服務埠號
2.輸入字元“i”,進入編輯模式(Insert)
3.加入如下程式碼,核心: -I INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT
#Firewall configuration written by system-config-firewall
#Manual customization of this file is not recommanded.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9090 -j ACCEPT
-I INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
3.輸入“:wq!”儲存並退出
4.重啟防火牆:service iptables restart
注意,開放的埠一定要新增到 REJECT 之前。同時,有的教程會讓你臨時關閉防火牆(如果不關閉,則只能本機訪問apache服務),service iptables stop,但作者更推薦重啟防火牆即可。
三. 配置阿里雲埠號
如果您還是無法訪問如下圖所示,則需要設定阿里雲的安全組規則,而網上更多的資料忽略了該步驟。下面進行簡單敘述:
第一步:開啟阿里雲伺服器管理控制檯頁面,點選“控制檯”按鈕
第二步:在彈出的頁面中,選擇“雲伺服器ECS”,然後點選我們執行中的伺服器
第三步:在彈出如下介面中點選“更多”,選擇低端的“安全組配置”
第四步:在“本例項安全組”介面選擇“配置規則”。
第五步:點選“新增安全組規則”。
第六步:在“新增安全組規則”中選擇自定義TCP協議,埠號為8090埠,授權物件為“0.0.0.0/0”,表示允許任意公網IP登入。
設定成功如下圖所示:
第七步:輸入命令“python manage.py runserver 0.0.0.0:8090 &”,最後的 & 符號表示在後臺執行該程式。這裡的IP地址如果用公網IP會執行不了,而用0.0.0.0則外網和127.0.0.1都能訪問。
重點命令:python manage.py runserver 0.0.0.0:8090 &
而此時會報錯如下所示,讓我們修改Yangxz.settings檔案。
第八步:修改Yangxz.settings.py檔案,在 ALLOWED_HOSTS=['*'] 中增加 *。
命令:vim settings.py
第九步:最後再次輸入命令“python manage.py runserver 0.0.0.0:8090 &”安裝服務。
此時我們訪問地址“http://39.107.105.166:8090/”能成功訪問,表示我們的Django安裝成。
四. 修改Django網站原始碼
Django網站目錄如下:
|-- Yangxz
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
|
`-- db.sqlite3
`-- manage.py
說明如下:
- Yangxz: 專案的容器。
- manage.py: Django管理主程式。一個實用的命令列工具,可讓你以各種方式與該 Django 專案進行互動。
- __init__.py: 空檔案。告訴Python該目錄是一個Python包。
- settings.py: 主配置檔案。該Django專案的設定/配置。
- urls.py: URL路由檔案。Django專案的URL宣告,一份由Django驅動的網站"目錄"。
- wsgi.py: 網路通訊介面。一個WSGI相容的Web伺服器的入口,以便執行你的專案。
在Yangxz目錄下建立一個views.py檔案,用於書寫業務處理邏輯。
命令:touch views.py
vim views.py
#-*- coding:utf-8 -*-
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello CSDN, My name is Eastmount!")
自定義hello方法,引數request固定的,用於返回HttpResponse。
第二步 配置URL
修改urls.py檔案內容,將訪問的內容改為views.py檔案中的hello函式。
命令:vim urls.py
from django.conf.urls import url
from django.contrib import admin
from Yangxz.views import *
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'yangxz/', hello)
]
程式碼如下所示:第三步 網站展示
程式碼需要匯入views檔案內容,才能引用hello方法。views.py檢視檔案在編譯後會產生對應的views.pyc檔案。然後啟動Django伺服器,在瀏覽器中訪問即可,如下圖所示:
如果沒有該資源也不會報錯“無法訪問”,而是提示無法找到該資源,如下所示。
最後希望這篇文章對您有所幫助,在配置Django時需要注意以下幾個常見錯誤:
1.需要呼叫 "vi /etc/sysconfig/iptables" 增加服務埠號;
2.需要在阿里雲管理安全組中增加8090埠,如果未配置會提示無法訪問;
3.通過“python manage.py runserver 0.0.0.0:8090 &”開啟服務埠,注意&符號;
4.配置py檔案時,需要先匯入再使用,如“from Yangxz.views import *”;
5.注意在Yangxz.settings.py檔案中修改程式碼 "ALLOWED_HOSTS=['*']",增加 *;
6.最後訪問的時候注意資源及檔名是否正確即可。
希望文章對你有所幫,如果文章中存在不足或錯誤的地方,還請海涵~
(By:Eastmount 2018-03-13 下午6點 http://blog.csdn.net/eastmount/ )
相關文章
- 阿里雲伺服器ECS搭建網站詳細教程阿里伺服器網站
- 阿里雲centOS下LNMP搭建阿里CentOSLNMP
- 教程|阿里雲+wordpress搭建個人部落格網站阿里網站
- 使用PolarDB和ECS搭建入口網站(阿里雲)網站阿里
- 阿里雲centos7部署Django專案阿里CentOSDjango
- 阿里雲提供哪些建站服務,如何搭建公司網站?阿里網站
- 阿里雲、騰訊雲、CentOS下的MySQL的安裝與配置詳解阿里CentOSMySql
- 怎麼用python django做網站?PythonDjango網站
- 阿里雲ubuntu16.4伺服器部署python3.6.2+django1.11.3網站的全過程,精細講解,本人親測!阿里Ubuntu伺服器PythonDjango網站
- SpringBoot系列(六)整合thymeleaf詳解版Spring Boot
- 使用阿里雲映象站NTP服務搭建NTP伺服器(基於CentOS 7系統)阿里伺服器CentOS
- centos+nginx+uwsgi部署django專案上線詳解CentOSNginxDjango
- 阿里雲封禁大量“涉詐”網站阿里網站
- 如何使用阿里雲搭建wordpress網站(圖文教程+小白專用+Linux版)?阿里網站Linux
- 阿里雲618有獎體驗:使用PolarDB和ECS搭建入口網站阿里網站
- 阿里雲國際版搭建的網站無法訪問的原因分析阿里網站
- 阿里雲網站備案時網站無法訪問原因及解決辦法阿里網站
- 阿里雲618有獎體驗:搭建基於OSS的圖片分享網站阿里網站
- 在阿里雲建網站體驗123阿里網站
- 阿里雲 虛擬主機 搭建官網阿里
- Apache搭建多個站點方法詳解Apache
- 阿里雲IoT物聯網平臺-日誌服務詳解阿里
- LFS系列映象在阿里雲映象站首發上線阿里
- Linux 網站管理OSL 詳解Linux網站
- 阿里雲網站登出備案的辦法阿里網站
- django 開發網站-建立 django 專案Django網站
- 阿里雲ECS建網站(建站)超詳細全套完整圖文教程!菜鳥必看!阿里網站
- 阿里雲專家詳解 2020 服務網格發展趨勢阿里
- 阿里雲圖床(PicGo+阿里雲OSS)搭建阿里圖床PicGo
- django 網站地圖 sitemapDjango網站地圖
- 網站搭建網站
- 阿里技術專家詳解 DDD 系列- Domain Primitive阿里AIMIT
- LeNet-5網路搭建詳解
- 阿里雲下利用寶塔運維配置Django執行環境(多站點)阿里運維Django
- Python系列之-1、Django入門PythonDjango
- CentOS部署kodexplorer可道雲搭建私有網盤的方法CentOS
- Laravel部署到阿里雲CentOS/DebianLaravel阿里CentOS
- 阿里雲centos 7.4 安裝pptp阿里CentOSpptp