在centos上安装httpd,并实现html文件和cgi文件在网页上显示

简介

  • Apache-httpd的简介

  • Apache-httpd的安装

  • html文件和cgi文件的编写

  • 网页访问html和cgi文件

  • 遇到相关问题解决
    搭建静态web网页

    实验环境:

    腾讯云上申请的centos7系统,使用的是mobaxterm远程操作:

    mobaxterm网盘链接:https://pan.baidu.com/s/1fdiFTVpDQJIF9R8_N7b4vA
    提取码:kelq
    复制这段内容后打开百度网盘手机App,操作更方便哦

Apache简介:

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性(尽管不断有新的漏洞被发现,但由于其开放源代码的特点,漏洞总能被很快修补。因此总合来说,其安全性还是相当高的。)。被广泛使用,是最流行的Web服务器软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

Apache-httpd的安装:

我们使用命令安装:

yum install httpd
#安装成功我们可以看到在/var/目录下会产生一个www的目录,该目录下还包含/cgi-bin/ /html/连个目录
cgi-bin目录下主要存放cgi文件
html目录下主要存放html网页文件

此时可启动httpd服务,查看启动后的状态;

[root@VM_0_16_centos cgi-bin]# systemctl start httpd.service
[root@VM_0_16_centos cgi-bin]#  systemctl status httpd.service
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)Active: active (running) since Sat 2019-10-12 22:47:27 CST; 12h agoDocs: man:httpd(8)man:apachectl(8)Main PID: 9395 (httpd)Status: "Total requests: 61; Current requests/sec: 0; Current traffic:   0 B/sec"CGroup: /system.slice/httpd.service├─ 9395 /usr/sbin/httpd -DFOREGROUND├─ 9400 /usr/sbin/httpd -DFOREGROUND├─ 9401 /usr/sbin/httpd -DFOREGROUND├─ 9402 /usr/sbin/httpd -DFOREGROUND├─ 9403 /usr/sbin/httpd -DFOREGROUND├─ 9404 /usr/sbin/httpd -DFOREGROUND├─10291 /usr/sbin/httpd -DFOREGROUND├─10299 /usr/sbin/httpd -DFOREGROUND└─10300 /usr/sbin/httpd -DFOREGROUNDOct 12 22:47:27 VM_0_16_centos systemd[1]: Starting The Apache HTTP Server...
Oct 12 22:47:27 VM_0_16_centos httpd[9395]: AH00558: httpd: Could not reliab...e
Oct 12 22:47:27 VM_0_16_centos systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

此时打开浏览器,输入自己虚拟机IP地址:http://122.51.14.***,即可看到apache的默认界面;

html文件和cgi文件的编写:

创建HTML文件:

在电脑记事本上创建一个test.html文件,也可以在命令窗口创建,但必须先转到储存该文件的文件夹下,这里我用电脑记事本创建,然后利用上面的远程操作软件直接上传到/var/www/html文件夹中:

  <html><head><title>测试</title></head><body><font size=30 text=隶书>你好</font><form action="/cgi-bin/test.cgi" method ="post"    >  //点击后自动跳转到cgi-bin/test.cgi文件夹Hit Me:<input type="submit//通过点击的方式调动</form></body></html>
创建cgi文件:

使用命令创建,必须先转到储存该文件的文件夹下,也就是/cgi-bin文件下,先使用命令创建一个test.c文件:

vim test.c
#然后输入一个简单的hello world程序
保存后开始使用gcc编译

helloworld代码:

在编辑是必须加入这段代码: printf(“Content-Type:text/html\n\n”);

#include<stdio.h>
int main(){printf("Content-Type:text/html\n\n");//要将以下的输出语句输出在页面上就必须加此行代码。相当于输出重定位printf("Hello World!!");return 0;}

使用命令gcc编译:

[root@VM_0_16_centos ~]# gcc -o test.cgi test.c
#这样编译自动生成一个test.cgi文件

网页访问html和cgi文件:

先必须开放你的centos系统的80端口,httpd默认访问端口是80

接下来在网页中输入网址:http://122.51.14.35:80/test.html (即http://ip:端口号/html文件名) 访问结果如图:

能运行出以上结果表示我们的安装已经成功,并且能正确打开HTML文件

接下来我们测试cgi文件:

在上面的页面中,我们点击提交按钮,会跳转出下面的界面,因为我们上面的html文件里面编写了,所以可以自接跳转 :

也可以直接通过网址访问到cgi文件,下面我们再创建一个cgi文件:
[root@VM_0_16_centos cgi-bin]# cd hjw.c
[root@VM_0_16_centos cgi-bin]# gcc -o hjw.cgi hjw.c
#到此已经自动生成了一个hjw.cgi文件了

hjw.cgi文件代码:

#include <stdio.h>
int main()
{ printf("Content-Type:text/html\n\n");//要将以下的输出语句输出在页面上就必须加此行代码。相当于输出重定位
printf("欢迎各位,你们好");
}

接下来我们输入:http://122.51.14.35/cgi-bin/hjw.cgi访问cgi文件:

遇到相关问题解决:

1.访问不到apache的默认界面:

查看是否打开httopd:使用下面命令启动

systemctl start httpd

2.访问不到html文件:

查看是否打开了虚拟机的80端口

3.访问不到cgi文件:

查看是否在编辑c程序是加入了这段代码: printf(“Content-Type:text/html\n\n”);

搭建一个静态web网页:

我们先在/var/www/html文件夹下新建一个index.html文件:

vim /var/www/html/index.html
#编辑的代码如下:
<h1>测试主页</h1>

此时输入http://122.51.14.35,访问的就不是Apache主页了,而是index.html:网页显示的是:测试主页

修改httpd服务目录,搭建web主页:

新建一个httpd服务目录文件夹

[root@VM_0_16_centos ~]# /data/web/html -pv
[root@VM_0_16_centos ~]#vim /etc/httpd/conf/httpd.conf
119行"DocumentRoot "/var/www/html"修改为
"DocumentRoot "/data/web/html"
还有131行"# Further relax access to the default document root:<Directory "/var/www/html">"需要修改为<Directory "/data/web/html">修改完后,使用httpd -t检查语法是否有误;[root@VM_0_16_centos ~]# httpd -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ::1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

到此已经更改好了httpd的服务目录

新建一个测试主页看一下效果:
 vim /data/web/html/index.html
#编辑的内容:<h2>效果展示</h2>
修改完毕重启httpd服务:systemctl restart httpd.service

打开浏览器刷新看效果:

也可以输入http://122.51.14.35/hjw.html访问在web/html下的其他网页:

在centos上安装httpd,并实现html文件和cgi文件在网页上显示,搭建静态web网页相关推荐

  1. archlinux php mysql,arch linux上安装 httpd+php+mysql+ openssl(转)

    arch linux上安装 httpd+php+mysql+ openssl(转)[@more@] 在arch linux安装则是非常的容易,只要执行: # pacman -Sy apache php ...

  2. CentOS离线安装httpd服务

    文章目录 需求背景 安装 需求背景 需要在无网络环境下安装httpd服务 安装 提示:直接下载httpd离线安装包无法安装成功,需要安装相对应的依赖 需要下载的依赖如下: apr-1.4.8-5.el ...

  3. httpd的安装及HTML文件和cgi文件的测试

    安装命令: yum install httpd 安装成功我们可以看到在/var/目录下会产生一个www的目录,该目录下还包含/cgi-bin/ /html/连个目录 cgi-bin目录下主要存放cgi ...

  4. httpd是mysql_在Centos下安装httpd、php、Mysql并配置(转载)

    转自:http://club.jledu.gov.cn/?action-viewspace-itemid-299020 1.安装Apahce, PHP, Mysql, 以及php连接mysql库组件. ...

  5. FTPrush给Linux上传文件,LINUX CENTOS 7安装FTP服务器详细讲解(配图),FTPRUSH连接上传测试文件...

    安装FTP 1.安装命令 yum install vsftpd -y 2.查看启动状况 systemctl status vsftpd 3.停止,启动,vsftpd systemctl stop vs ...

  6. macos安装python3.6_在CentOS 7/Ubuntu 16.04/Debian 9/macOS上安装Python 3.6的方法

    本文介绍在CentOS 7/Ubuntu 16.04/Debian 9/macOS操作系统上安装Python 3.6的方法,包括使用Python 3.6创建virtualenv,目前大多数Linux发 ...

  7. CentOS上安装运行XWiKi

    现在XWiKi已经一行命令支持安装java -jar xwiki-enterprise-installer-generic-9.4-standard.jar. war安装我搞了三天都没有搞定,参考了& ...

  8. linux安装mysql不成功怎么处理_Linux上安装MySQL时出现不兼容的解决办法

    Linux上安装MySQL时出现不兼容的解决办法 在linux 上安装mysql rpm的时候,安装不成功 MySQL-client-5.5.36-1.linux2.6.x86_64.rpm MySQ ...

  9. linux串口驱动安装 RPM,Devart数据库工具【教程】:在Linux(DEB / RPM)上安装和配置ODBC驱动程序...

    ODBCDriver/驱动程序为基于ODBC的应用程序提供高性能和功能丰富的连接解决方案,可以直接从Windows,macOS,Linux(32位和64位)访问最流行的数据库.驱动程序完全支持标准OD ...

最新文章

  1. php自动post系统,php自动过滤POST,GET传参
  2. 多个Activity与Fragment之间的数据传递
  3. PHP实现中文字符串截取无乱码
  4. Mendix:低代码平台四大常见用例开发
  5. java 面试700问_JAVA面试700问(一)
  6. c语言学习-自定义并调用函数求三个数的最小公倍数
  7. 惠普服务器查询ilo信息,HP服务器在线配置ilo地址
  8. 数字涂色 疫情过后希望小学终于又重新开学了
  9. 最新区块链科普图书《区块链进化史》上市
  10. 斗地主十句口诀技巧全解
  11. OpenKE实现转移距离模型trans系列代码
  12. 有声双语阅读器-学英语背单词,做泛读的好帮手
  13. Wireshark数据流追踪和信息说明
  14. 云原生之使用Docker部署Dashdot服务器仪表盘
  15. 内点法最优潮流matlab程序
  16. 深度探讨:真正技术高手是如何炼成的?
  17. %2d与%.2d的区别
  18. Python: 1017 A除以B
  19. 计算机组成原理课设模板,计算机组成原理课程设计模板.doc
  20. java 如何级联删除_Java学习-040-级联删除目录中的文件、目录

热门文章

  1. 灰蓝色商务数据图表合集PPT模板
  2. 经济数据预测 | Python实现ARIMA模型股票趋势预测
  3. ID Tech 5 中Megatexture针对地形的D3D9 基本实现原理
  4. git提交远程报错[rejected] master -> master (fetch first)
  5. 【重磅推荐: 强化学习课程】清华大学李升波老师《强化学习与控制》
  6. python 解压zip密码正确但解压失败_在Python中用密码解压zip文件失败的bug?
  7. Hadoop——健康检测
  8. 数据分析-PART 7--数据分析工具网站书籍
  9. Python 打印菱形
  10. Flash Builder 找不到所需的 Adobe Flash Player 调试器版本 问题解决