[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端口號,但是報錯如下圖所示,它提示我們還有配置沒有完成,需要我們再配置一下。
第三步 解決上述錯誤
命令: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
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: 項目的容器。
- manage.py:?Django管理主程序。一個實用的命令行工具,可讓你以各種方式與該 Django 項目進行交互。
- __init__.py: 空文件。告訴Python該目錄是一個Python包。
- settings.py:?主配置文件。該Django項目的設置/配置。
- urls.py:?URL路由文件。Django項目的URL聲明,一份由Django驅動的網站"目錄"。
- wsgi.py:?網絡通信接口。一個WSGI兼容的Web服務器的入口,以便運行你的項目。
第一步 創建視圖views.py文件
在Yangxz目錄下創建一個views.py文件,用于書寫業務處理邏輯。
命令:touch views.py
? ? ? ? ? vim views.py
#-*- coding:utf-8 -*- from django.http import HttpResponsedef hello(request):return HttpResponse("Hello CSDN, My name is Eastmount!")
自定義hello方法,參數request固定的,用于返回HttpResponse。
第二步 配置URL
修改urls.py文件內容,將訪問的內容改為views.py文件中的hello函數。
命令:vim urls.py
第三步 網站展示
代碼需要導入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/?)
總結
以上是生活随笔為你收集整理的[CentOS Python系列] 六.阿里云搭建Django网站详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [python爬虫] Beautiful
- 下一篇: [Python微信开发] 一.itcha