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

在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 Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2019-10-12 22:47:27 CST; 12h ago
     Docs: 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 -DFOREGROUND

Oct 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下的其他网页:

在这里插入图片描述

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
安装 CentOS 操作系统并在其上搭建 Web 服务器时,以下是一般的步骤: 1. 下载 CentOS 操作系统:前往 CentOS 官方网站,选择适合你的硬件架构的 CentOS 版本,并下载 ISO 镜像文件。 2. 创建启动盘:将下载的 ISO 镜像文件写入一个空白的 USB 或 DVD,以创建一个可启动的安装介质。 3. 安装 CentOS:将启动盘插入计算机,并启动计算机。选择从启动盘引导,并按照屏幕上的指示进行 CentOS安装。 4. 进入安装程序:在 CentOS 安装程序启动后,选择适合你需求的语言、时区、键盘布局等设置。然后,选择“安装位置”选项,指定要安装 CentOS 的磁盘分区和文件系统。 5. 配置网络:在安装程序中,配置网络设置,确保你的计算机可以连接到 Internet。 6. 选择软件包:安装程序会提示你选择要安装的软件包组。选择 "Web Server" 或 "LAMP Server" 软件包组,以安装 Apache Web 服务器、MySQL 数据库和 PHP 解析器。 7. 进行其他配置:根据你的需求,可以配置其他选项,如防火墙、用户账号等。 8. 完成安装:完成上述配置后,点击“安装”按钮,等待安装程序完成 CentOS 操作系统的安装。 9. 启动 CentOS安装完成后,从硬盘启动计算机。CentOS 将启动到命令行登录界面。 10. 配置 Web 服务器:打开终端,使用 root 用户登录并执行以下命令以安装 Apache Web 服务器、MySQL 数据库和 PHP 解析器: ``` sudo yum install httpd sudo systemctl start httpd sudo yum install mariadb-server sudo systemctl start mariadb sudo yum install php php-mysql sudo systemctl restart httpd ``` 11. 测试 Web 服务器:在浏览器中输入服务器的 IP 地址或域名,如果看到 Apache 的欢迎页面,表示 Web 服务器已成功搭建。 12. 配置防火墙:如果你启用了防火墙,在配置完 Web 服务器后,确保打开 HTTPHTTPS 端口,允许外部访问你的网站。 13. 添加网站内容:将你的网站文件放置在 Apache 的默认文档根目录(/var/www/html)下,或者根据需要进行自定义配置。 14. 进行其他配置:根据你的需求,可以配置其他 Web 服务器相关的选项,如虚拟主机、SSL 证书等。 以上是在 CentOS 操作系统上安装和配置 Web 服务器的一般步骤。具体的操作可能会因环境和需求而有所差异,请根据实际情况进行相应调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值