我要寫一個博客的網站,簡單來說,就是能發表一篇篇信息的簡單網站,怎麼弄?
(一)python
先把python3.x安裝好,對,不是php,是python,用它來開發web網站。
https://www.python.org/downloads/ ,在這個地方,找到對應平臺的python,下載(比如python-3.7.4-macosx10.9.pkg),安裝之,如果成功,查看一下版本:
python3 --version
看到這樣的迴應:
Python 3.7.4
爲了方便,給python3起個簡單的別名,在.bash_profile或.zshrc中,增加一句:
/usr/local/bin/python3
重啓終端,查看一下修改情況:
到這裏,我們的語言主角python,就算準備好了。
接下來,怎麼撐起一個網站呢,怎麼說也要上框架了吧? 沒錯,可是那麼多web框架,用哪一個呢?不用多想,也不要多說,就用django。
(二)django
先是安裝django,我在mac機上(後面會介紹怎麼在linux上安裝),這樣安裝就好(在安裝python3.x時,pip3已經自動安裝好):
sudo pip3 install Django
可以看到這樣的提示:
查看一下django的版本:
py -m django --version
至此,這個網站的框架已經準備好了,通過它還可以啓動web服務,可以直接訪問它,這裏用命令簡單試一下。
先創建一個測試的目錄,作爲web項目所在地,然後cd到這個目錄,執行:
django-admin startproject myblog
這時一個叫myblog的目錄就創建起來,而且裏面佈置了框架腳本,如截圖:
使用manage.py腳本來啓動web服務:
py manage.py runserver
命令執行情況如下圖:
服務啓動了,用瀏覽器來訪問一下:
ok,這個網站已經運行起來了。
最後,終極問題來了,剛纔我是在mac機上創建這個網站的,但最終怎麼部署到線上呢?比如我租了一個阿里雲的服務器,怎麼把這個網站弄上去呢?
(三)部署
我服務器的系統是ubuntu(阿里雲更換服務器系統的操作說明:https://help.aliyun.com/document_detail/50134.html?spm=a2c4g.11186623.2.5.6rqKRn ),先來看一下python是不是安裝好了:
所以python是有的,而且python2跟python3都有,但是pip3是沒有的,所以安裝pip3。在安裝之前,先更新一下軟件包的信息,以便可以找到相應的軟件包來下載:
sudo apt update
然後安裝pip3:
sudo apt install python3-pip
成功後可以看到這樣的信息:
也可以給python3加一個簡單的別名,在~/.bashrc中,增加一句:
alias py=‘python3’
然後讓這個配置生效,執行一下:
source .bashrc
這時你可以用py來代替python3了,好了,python就準備好了。
現在到django:
sudo pip3 install Django
安裝成功後看看它的版本:
然後就是創建博客項目啦,找一個目錄吧,然後像上面說的那樣啓動django服務,如截圖:
你可能對“127.0.0.1”耿耿於懷,既然我公網ip都有了,至少我可以用這個公網ip來訪問吧? 當然可以,改一下xblog/settings.py這個配置文件(裏面有很多重要的配置項):
ALLOWED_HOSTS = [‘xx.xx.xx.xx’, ‘freep2p.cn’, ‘localhost’, ‘127.0.0.1’]
這裏加上公網ip,或者ip綁定的url(比如用於你的網站,我的是:www.freep2p.cn ,歡迎來訪)。
然後,這樣啓動django服務:
py manage.py runserver 0.0.0.0:3389
'0.0.0.0’指允許settings.py設置的ip來訪問。那麼,端口爲什麼是3389?不是隨便給的!這個要看服務器給你分配了哪些端口。 怎麼知道分配了什麼端口呢,對於阿里雲,在實例的“更多”的菜單中,“網絡和安全組”->“安全組配置”處,可以看到分配的端口,比如我的:
這裏有個知識點,ip定位到機器,端口定位到進程(這裏是django),如果你訪問不到,你應該推理到,如果ip是對的那就能訪問到機器,那有可能是端口出了問題,也有可能是django的設置做了訪問限制。
還有一個問題,爲什麼是3389,爲什麼不是網站默認的80端口?那是因爲我還沒有添加,這個下一節引入域名時再講,現在暫且使用這個預分配的端口。
於是,這樣簡單配置跟啓動django後,就可以在瀏覽器用公網ip來訪問了:
好了,服務器的web框架也搭建好了,在豐富這個博客項目之前,你可能對使用ip來訪問還耿耿於懷,**爲什麼不申請一個域名來訪問呢?**這是下一個要解決的問題。
總結一下,本文介紹了怎麼搭建起web網站的框架,涉及python與django的安裝與使用等內容,這一步之後還有很多工作要做,靜下心來吧。