使用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服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Ubuntu20.04桌面安装及root权限开通和ssh安装详解

    Ubuntu20.04桌面安装及root权限开通和ssh安装详解

    这篇文章主要介绍了Ubuntu20.04桌面安装及root权限开通和ssh安装详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • bt宝塔面板php7.3、php7.4不支持ZipArchive解决方法

    bt宝塔面板php7.3、php7.4不支持ZipArchive解决方法

    这篇文章主要介绍了bt宝塔面板php7.3、php7.4不支持ZipArchive解决方法,需要的朋友可以参考下
    2020-06-06
  • apache下面二级目录部署react/vue的方法

    apache下面二级目录部署react/vue的方法

    这篇文章主要介绍了apache下面二级目录部署react/vue的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Linux十个新手命令分享

    Linux十个新手命令分享

    这篇文章主要介绍了Linux十个新手命令分享,然后介绍了几个其他常用命令,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Linux虚拟机如何改中文

    Linux虚拟机如何改中文

    这篇文章主要介绍了Linux虚拟机如何改中文问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Linux多线程锁属性设置方法

    Linux多线程锁属性设置方法

    下面小编就为大家带来一篇Linux多线程锁属性设置方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Linux下文件服务器搭建及原理分析

    Linux下文件服务器搭建及原理分析

    这篇文章主要介绍了Linux下文件服务器搭建及原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • 在Linux中查看文件并过滤空行的多种方法

    在Linux中查看文件并过滤空行的多种方法

    这篇文章主要介绍了在Linux中查看文件并过滤空行的多种方法,包括使用grep、sed、awk等工具,这些方法可以根据具体需求选择使用,其中grep是最简单常用的方法,下面小编为大家详细说说,需要的朋友可以参考下
    2025-10-10
  • Apache SeaTunnel 将 CDC 数据流转换为 Append-Only 模式的详细过程

    Apache SeaTunnel 将 CDC 数据流转换为 Appen

    RowKindExtractor转换插件用于将CDC数据流转换为Append-Only模式,同时将原始的 RowKind 信息提取为一个新的字段,本文将介绍RowKindExtractor的核心功能,其在 CDC 数据同步场景下的使用方法,以及配置选项、注意事项及多种应用示例,感兴趣的朋友一起看看吧
    2025-11-11
  • Apache启动错误Permission denied: httpd: could not open error log file解决方法

    Apache启动错误Permission denied: httpd: could not open error log

    这篇文章主要介绍了Apache启动错误Permission denied: httpd: could not open error log file解决方法,需要的朋友可以参考下
    2014-07-07

最新评论