C++ Web编程实战

一 CGI程序的工作方式

在浏览器向Web服务器请求一个后缀是cgi的URL或者提交表单的时候,Web服务器会把浏览器传过来的数据传给CGI程序,CGI程序通过标准输入来接收这些数据。CGI程序处理完数据后,通过标准输出将结果发往Web服务器,Web服务器再将这些信息发送给浏览器。

二 架设Web服务器Apache

1 用rpm来查看Apache是否安装

[root@localhost test]# rpm -qa|grep httpd

没有结果说明没有安装Apache

2 安装Apache

[root@localhost test]# yum -y install httpd
[root@localhost yum.repos.d]# rpm -qa|grep httpd
httpd-tools-2.4.6-88.el7.centos.x86_64
httpd-2.4.6-88.el7.centos.x86_64

3 检查httpd是否运行

[root@localhost yum.repos.d]# pgrep -l httpd

没有结果说明没有运行Apache

4 启动Apache

[root@localhost yum.repos.d]# service httpd start
Redirecting to /bin/systemctl start httpd.service
[root@localhost yum.repos.d]# pgrep -l httpd
1173 httpd
1174 httpd
1175 httpd
1176 httpd
1177 httpd
1178 httpd

5 测试安装是否成功

浏览器输入:http://192.168.0.110/

出现下面页面说明Apache正常运行。

C++ Web编程实战_第1张图片

6 修改配置文件


    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"


    ......
    AddHandler cgi-script .cgi
    ......

ScriptAlias:cgi-bin路径就是默认寻找CGI程序的地方,Apache会到这个路径下去找CGI程序并执行。

AddHandler:该指令告诉Apache,CGI程序会有哪些后缀。

7 重启Apache

service httpd restart

三 第1个C++开发的web程序

1 代码

#include 

int main()
{
    printf("Content-Type: text/html\n\n");
    printf("Hello cgi!\n");
    return 0;
}

2 运行

[root@localhost test]# g++ test.cpp -o test
[root@localhost test]# cp test /var/www/cgi-bin/test.cgi

浏览器输入:http://192.168.0.110/cgi-bin/test.cgi

C++ Web编程实战_第2张图片

四 第2个C++开发的web程序

1 代码

#include   
using namespace std;  
       
int main()  
{  
    cout << "Content-Type: text/html\n\n";  
    cout << "\n";  
    cout << "\n";  
    cout << "Hello World - First CGI Program\n";  
    cout << "\n";  
    cout << "\n";  
    cout << "

Hello World! This is my first CGI program

\n"; cout << "\n"; cout << "\n"; return 0; }

2 运行

[root@localhost test]# g++ test.cpp -o test
[root@localhost test]# cp test /var/www/cgi-bin/test1.cgi

浏览器输入:http://192.168.0.110/cgi-bin/test1.cgi

C++ Web编程实战_第3张图片

你可能感兴趣的:(C++)