Я использовал VPS с Apache/Nginx (в разное время) на Ubuntu 14.04 и выполнял команды/программы в php через exec(). Теперь я знаю, что мне не нужен Php для выполнения этих вещей, скажем:
exec('whoami'); or
exec('myexec');
поскольку php просто действует как дополнительный уровень в моем случае. Могу ли я просто использовать apache/nginx для получения данных из http-запросов, сделанных к нему (get, post..) и "pass" в качестве параметров для определенной исполняемой программы и "return output" (обычный текст)? Скажем, программа calc, которая получает 3 параметра (4,5, +) и обратный выход (9).
Я уже видел этот вопрос, но он описывает процедуру с помощью сценария Lua, в то время как я пытаюсь сделать некоторые проекты для хобби с помощью c++. В настоящее время я понятия не имею, как действовать, поскольку я только знаком с стеком php LAMP, если я ошибаюсь, где-то небольшое руководство было бы полезно :)
Вероятно, вы можете использовать CGI со своим веб-сервером, поэтому он служит для вывода вашего кода C++ при запросе определенного URL-адреса. Я не уверен, что это можно назвать "хорошей" практикой, но это один из способов добиться того, чего вы хотите. Для получения дополнительной информации, проверьте эту ссылку http://www.tutorialspoint.com/cplusplus/cpp_web_programming.htm
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я не программист C++, поэтому это может не работать.
Конфигурация веб-сервера
Убедитесь, что ваш веб-сервер поддерживает CGI и соответствующим образом настроил его. Пример файла виртуального хоста Apache 2:
<Directory "/var/www/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/cgi-bin">
Options All
</Directory>
Пример программы C++
#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;
}
Скомпилируйте выше код и назовите исполняемый файл как cplusplus.cgi. Поместите его в каталог /var/www/cgi-bin или все, что вы настроили в своем конфигурационном файле Apache. Не забудьте сделать его исполняемым (chmod 770 cplusplus.cgi). Теперь, если вы посетили URL-адрес www.example.org/cgi-bin/cplusplus, вы должны увидеть выход Hello World! This is my first CGI program
Hello World! This is my first CGI program