使用CGIHTTPServer搭建簡單網站


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

一、前提准備

  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 文件,不同網卡文件名不同。

二、搭建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 腳本. 操作以及腳本內容如下:
#!/bin/bash
echo "Content-Type:text/html "
# 空行,告訴服務結束頭部
echo ""

echo "Hello World! This is a simple web server."
  1. 現在可在物理主機訪問 http://192.168.1.104:8888/cgi-bin/index.sh 如果顯示下圖則說明 web 網站已經搭建成功

注: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'). 錯誤


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM