如何快速搭建web網站?這個問題對於我這樣的小白來說簡直就是一臉懵逼毫無頭緒。在學習python的過程接觸到了 CGI 編程,至於CGI是什么?怎么運行的?這我就不道來了,但是它可以讓你很方便的搭建起簡單的web網站。好了不啰嗦了,廢話一千遍,不如動手實踐實踐。
一、前提准備
-
搭建好虛擬機CentOS7 環境,本實例准備環境如下:
- VMware Workstation Pro 14 虛擬機
- CentOS7-x86_64-Minimal
-
進入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網站
- 首先當前目錄下,命令行執行
python -m CGIHTTPServer 8888
(系統已默認安裝python2.7)。然后物理主機瀏覽器中訪問<前提准備> 中 ip:8888 如: http://192.168.1.104:8888 - 若步驟1中出現"無法訪問此網站" 的情況,可如下操作: (防火牆設置相關命令)
firewall-cmd --state
查看防火牆的狀態systemctl stop firewalld.service
關閉防火牆或者將 8888 端口添加到防火牆開啟端口列表中python -m CGIHTTPServer 8888
啟動端口8888 的 CGI HTTP 服務
- 當前路徑下創建 cgi-bin 目錄,且在該目錄下創建 index.sh 腳本. 操作以及腳本內容如下:
#!/bin/bash
echo "Content-Type:text/html "
# 空行,告訴服務結束頭部
echo ""
echo "Hello World! This is a simple web server."
- 現在可在物理主機訪問 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'). 錯誤