使用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'). 错误
相关文章
相关标签/搜索