美文网首页
[Note] 2023-03-13 C++/Cgi mac os

[Note] 2023-03-13 C++/Cgi mac os

作者: 赶时间的闹钟 | 来源:发表于2023-03-12 11:44 被阅读0次

    mac os 自带 Apache server,用其来托管 C++ 编译后的 cgi 程序

    修改配置

    修改配置文件
    $ sudo vim /etc/apache2/httpd.conf
    取消这里的注释

    <IfModule mpm_prefork_module>
            LoadModule cgi_module libexec/apache2/mod_cgi.so
    </IfModule>
    

    修改这里的 OptionsExecCGI

    <Directory "/Library/WebServer/CGI-Executables">
        AllowOverride None
        Options ExecCGI
        Require all granted
    </Directory>
    

    解开这里的 handler (可以添加其他文件后缀名)

    AddHandler cgi-script .cgi
    

    启动

    # or sudo apachectl start
    $ sudo apachectl restart
    

    查看请求日志

    $ tail -f /var/log/apache2/error_log
    

    准备展示文件

    hello-cgi.cpp

    #include <iostream>
    
    int main() {
    
      std::cout << "Content-type:text/html\r\n\r\n";
      std::cout << "<html>\n";
      std::cout << "<head>\n";
      std::cout << "<title>Hello World</title>\n";
      std::cout << "</head>\n";
      std::cout << "<body>\n";
      std::cout << "<h2>Hello World</h2>\n";
      std::cout << "</body>\n";
      std::cout << "</html>\n";
    
      return 0;
    }
    

    编译 g++ hello-cgi.cpp -g -Wall -std=c++14 -o hello-cgi.cgi
    移动到 web-server 目录 sudo mv hello-cgi.cgi /Library/WebServer/CGI-Executables
    访问 http://localhost/cgi-bin/hello-cgi.cgi

    相关文章

      网友评论

          本文标题:[Note] 2023-03-13 C++/Cgi mac os

          本文链接:https://www.haomeiwen.com/subject/gbwfrdtx.html