使用Apache搭建http服务器实现CGI功能

 更新时间:2024年07月15日 11:15:21   作者:无聊的阿乐  
专门处理 HTTP 请求的服务器,也被称为 Web 服务器, 常用的 Web 服务器有 Apache和 Nginx ,当然几大巨头五联网公司也都有其独自研发的 Web 服务器,比如阿里巴巴的Tengine, 这篇文章主要介绍了使用Apache搭建http服务器,实现CGI,需要的朋友可以参考下

一、环境搭建

搭建环境CentOS7.5.

专门处理 HTTP 请求的服务器,也被称为 Web 服务器。 常用的 Web 服务器有 Apache和 Nginx ,当然几大巨头五联网公司也都有其独自研发的 Web 服务器,比如阿里巴巴的Tengine 。 我们使用 Apache 作为 Web 服务器,并按照下面 5 个步骤安装好 Apache 。

1、下载安装包

安装lynx命令,是一种以文本方式查看网页的工具,当然你也可以选择直接百度下载

参考:https://blog.csdn.net/u011641885/article/details/45459199
lynx http://httpd.apache.org/download.cg

我下载的是2.4.54版本。

2、安装依赖包

解压,进入解压目录,

gzip -d httpd- 2.4.54.tar.gz
tar xvf httpd-2.4.54.tar
cd httpd-2.4.54

这时候直接是安装不了的,需要依赖包

(1)下载相关包

gzip -d httpd- 2.4.54.tar.gz
tar xvf httpd-2.4.54.tar
cd httpd-2.4.54

(2)解决apr not found

tar -zxf apr-1.4.5.tar.gz  
cd  apr-1.4.5  
./configure --prefix=/usr/local/apr  
make 
make install  

(3)解决APR-util not found

tar -zxf apr-util-1.3.12.tar.gz  
cd apr-util-1.3.12  
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config --enable-utf8   
make
make install 

(4)解决pcre问题

unzip -o pcre-8.10.zip  
cd pcre-8.10  
./configure --prefix=/usr/local/pcre  
make && make install

安装完所有依赖包之后执行

./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre/bin/pcre-config

接下来执行

makemake install

3、修改配置文件

vi /usr/local/apache/conf/httpd.conf 

打开该行注释

#ServerName www.example.com:80

4、启动服务

/usr/local/apache/bin/apachectl start

停止服务

/usr/local/apache/bin/apachectl stop

重启服务

/usr/local/apache/bin/apachectl restart

5、测试

在你的浏览器输入你的机器的IP地址,就是你配置apache的机器IP,提示以下代表安装成功。

二、测试CGI

1、修改配置文件

vi /usr/local/apache/conf/httpd.conf 

打开该行注释,开启模块

#LoadModule cgid_module modules/mod_cgid.so
#LoadModule alias_module modules/mod_alias.so

2、重启服务

/usr/local/apache/bin/apachectl restart

3、创建CGI脚本

在/usr/local/apache/cgi-bin/ 目录下创建cgiscript脚本,脚本内容如下:

#include <iostream>
using namespace std;
int main (){
   cout << "Content-type:text/html\r\n\r\n";
   cout << "<html>\n";
   cout << "<head>\n";
   cout << "<title>Hello World - First CGI Program</title>\n";
   cout << "</head>\n";
   cout << "<body>\n";
   cout << "<h2>Hello World! This is my first CGI program</h2>\n";
   cout << "</body>\n";
   cout << "</html>\n";   
   return 0;
}
g++ -o test cgiscript

4、浏览器测试

在浏览器中输入以下内容:

http://192.168.122.1/cgi-bin/test

到此这篇关于使用Apache搭建http服务器,实现CGI的文章就介绍到这了,更多相关Apache http服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Ubuntu18.04 Server版安装及使用(图文)

    Ubuntu18.04 Server版安装及使用(图文)

    这篇文章主要介绍了Ubuntu18.04 Server版安装及使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • linux 进程数最大值修改方法

    linux 进程数最大值修改方法

    这篇文章主要介绍了linux 进程数最大值修改方法,非常不错具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • linux kernel 打印函数指针对应的函数名方法

    linux kernel 打印函数指针对应的函数名方法

    下面小编就为大家带来一篇linux kernel 打印函数指针对应的函数名方法。小编觉得挺不错的。现在就分享给大家。也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux 命令查询小程序中的 WePY 云开发实践

    Linux 命令查询小程序中的 WePY 云开发实践

    这篇文章主要介绍了云开发与 WePY,快速实现 Linux 命令查询小程序,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • Linux快速生成大文件方式

    Linux快速生成大文件方式

    这篇文章主要介绍了Linux快速生成大文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 在Linux中列出Systemd下所有正在运行的服务的方法指南

    在Linux中列出Systemd下所有正在运行的服务的方法指南

    Systemd是Linux的系统和服务管理器; init进程的替代品,与SysV 和LSB init脚本兼容,systemctl命令是管理systemd的主要工具,在这篇文章中,我们将演示如何 Linux中列出systemd下所有正在运行的服务,感兴趣的同学可以借鉴阅读
    2023-06-06
  • linux压缩文件和文件解压缩命令介绍

    linux压缩文件和文件解压缩命令介绍

    大家好,本篇文章主要讲的是linux压缩文件和文件解压缩命令介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • linux服务器下通过iptables+Denyhost抵御暴力破解的配置方法

    linux服务器下通过iptables+Denyhost抵御暴力破解的配置方法

    这篇文章主要介绍了linux服务器下通过iptables + Denyhost抵御暴力破解的方法,需要的朋友可以参考下
    2014-11-11
  • Linux下Oracle如何导入导出dmp文件详解

    Linux下Oracle如何导入导出dmp文件详解

    这篇文章主要给大家介绍了关于在Linux下Oracle如何导入导出dmp文件的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-07-07
  • Linux下查看IP地址不显示解决办法

    Linux下查看IP地址不显示解决办法

    大家好,本篇文章主要讲的是Linux下查看IP地址不显示解决办法,感兴趣的同学赶快来看看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12

最新评论