Как начать писать сервер приложений через Apache? - PullRequest
1 голос
/ 15 января 2010

Для моего проекта в колледже я хочу создать простой сервер приложений на C, работающий на Apache.Как и .php, .asp, .jsp, расширение моих файлов будет .sas.

Я уже написал парсер, который читает файлы .sas и генерирует вывод.Например, рассмотрим файл index.sas с кодом ниже:

<%   
echo "Hello";  
%>  

Теперь, если я выполню:

sas index.sas

Результат будет:

Привет

Теперь я хочу использовать эту программу в качестве сервера приложений через Apache так же, как PHP, Tomcat и т. Д. Работают над Apache.Я слышал о cgi-bin, но я думаю, что PHP использует другой подход.Я хочу изучить подход, который использует PHP.

Пожалуйста, совет.

Ответы [ 3 ]

1 голос
/ 15 января 2010

Небольшое исправление: Apache HTTP Server не требуется для того, чтобы иметь возможность запускать Apache Tomcat в качестве веб-сервера. Apache Tomcat уже является полноценным веб-сервером. Ваша путаница, вероятно, вызвана Tomcat Connector , который можно использовать для соединения Apache HTTP Server и Apache Tomcat вместе, чтобы иметь возможность обслуживать PHP / JSP через один и тот же порт HTTP.

Что касается вашего фактического вопроса, PHP может быть установлен как модуль CGI или ASAPI (API сервера Apache). Если вы хотите запрограммировать модуль CGI для HTTP-сервера Apache, этот документ может оказаться полезным. Если вы хотите написать модуль ASAPI, тогда вы можете найти эти документы полезными.

1 голос
/ 15 января 2010

Вам необходимо написать модуль, использующий API Apache.

Здесь можно найти некоторые основные документы с примерами.

http://www.auburn.edu/docs/apache/mod/mod_example.html

0 голосов
/ 04 апреля 2010

Нет, нет, нет !!! Я сказал "нет" достаточно? :)

Вам не нужно создавать новый модуль или смотреть на исходный код PHP. Разговор о переизобретении колеса, используя квадратный валун.

Самое простое, что нужно сделать, это использовать mod_cgi. То есть вы используете CGI, чтобы Apache перенаправил запрос вашему интерпретатору SAS.

[Apache 1.3x] - http://httpd.apache.org/docs/1.3/mod/mod_cgi.html

[Apache 2.0x] - http://httpd.apache.org/docs/2.0/mod/mod_cgi.html

[CGI] - http://en.wikipedia.org/wiki/Common_Gateway_Interface

Теперь, если вы не хотите использовать CGI (не знаю почему, если это явно не запрещено вашими домашними заданиями), тогда да, вам придется создать модуль. Для этого посмотрите на это как на отправную точку (любезно предоставлено Google):

http://threebit.net/tutorials/apache2_modules/tut1/tutorial1.html

Удачи с этим, хотя. Это может стать трудоемким.

Надеюсь, это поможет.

...