使用CGIHTTPServer搭建簡單網站

如何快速搭建web網站?這個問題對於我這樣的小白來講簡直就是一臉懵逼毫無頭緒。在學習python的過程接觸到了 CGI 編程,至於CGI是什麼?怎麼運行的?這我就不道來了,可是它可讓你很方便的搭建起簡單的web網站。好了不囉嗦了,廢話一千遍,不如動手實踐實踐。html

前提準備

  1. 搭建好虛擬機CentOS7 環境,本實例準備環境以下:
    • VMware Workstation Pro 14 虛擬機
    • CentOS7-x86_64-Minimal
  2. 進入CentOS後,確認網絡環境是否正常(使用橋接模式,確保與物理主機在同網段內)
    • ip addr 驗證IP配置是否正確
      若ip配置顯示爲 0.0.0.0 則使用cat /etc/sysconfig/network-scripts/ifcfgens33 查看網絡配置狀況。若正常則無需如下操做
    • vi /etc/sysconfig/network-scripts/ifcfg-ens33 修改成下圖狀態後,重啓系統或 使用命令
      systemctl restart network.service 重啓網絡服務,使修改生效
    • 若上述狀況後網絡仍是不能訪問,則須要查看物理主機:個人電腦->管理->服務和應用程序->服務->VMware DHCP Service 和 VMware NAT Service 是否啓動。若無則啓動服務

注: 上述的ifcfg-ens33 文件,不一樣網卡文件名不一樣。python

搭建web網站

  1. 首先當前目錄下,命令行執行 python -m CGIHTTPServer 8888 (系統已默認安裝python2.7)。而後物理主機瀏覽器中訪問 <前提準備> 中 ip:8888 如: http://192.168.1.104:8888
  2. 若步驟1中出現"沒法訪問此網站" 的狀況,可以下操做: (防火牆設置相關命令)
    • firewall-cmd --state 查看防火牆的狀態
    • systemctl stop firewalld.service 關閉防火牆或者將 8888 端口添加到防火牆開啓端口列表中
    • python -m CGIHTTPServer 8888 啓動端口8888 的 CGI HTTP 服務
  3. 當前路徑下建立 cgi-bin 目錄,且在該目錄下建立 index.sh 腳本. 操做以及腳本內容以下:
    web

    #!/bin/bash
    echo "Content-Type:text/html "
    # 空行,告訴服務結束頭部
    echo ""
    
    echo "Hello World! This is a simple web server."
  4. 如今可在物理主機訪問 http://192.168.1.104:8888/cgi-bin/index.sh 若是顯示下圖則說明 web 網站已經搭建成功
    shell

注:CGI程序能夠是Python,shell 等腳本。編程

  • 腳本必須放置 cgi-bin目錄下,且授予可寫執行權限,不然會出現 Error code 403. CGI script is not executable ('/cgi-bin/aa.sh'). 錯誤
  • 不要進入cgi-bin 目錄下啓動CGI HTTP 服務,不然訪問上述網址時,會直接將 index.sh 當作文件下載
  • 若防火牆未關閉,且在cgi-bin 目錄下啓動服務,則會出現 Error code 404. No such CGI script ('/cgi-bin/index.sh'). 錯誤
相關文章
相關標籤/搜索