3D エディタ Cube Art Project のサーバー部分をどのように書いたかについての簡単なメモです。サーバーは Web バージョン ユーザーの作業を保存して表示し、保存ボタンを使用して短い URL を提供する必要があります。当初はバックエンドにSwift/PHP/Ruby/JSなどの最新言語を使いたかったのですが、VPSの特性を見てサーバーをC/C++で書くことにしました。
まず、サーバーに libfcgi をインストールし、Web サーバー用の fcgi サポート モジュール (Ubuntu と Apache など) をインストールする必要があります。
sudo apt install libfcgi libapache2-mod-fcgid
次に、config でモジュールを構成します。
FcgidMaxProcessesPerClass –クラスあたりの最大プロセス数ですが、大きな負荷が予想されないため1プロセスに設定しました。
AddHandler fcgid-script .fcgi – fcgi モジュールを開始するファイル拡張子。
CGI アプリケーションの起動元となるフォルダーを構成に追加します。
次に、fcgi サポートを備えた C/C++ でアプリケーションを作成し、アセンブルして、/var/www/html/cgi-bin フォルダーにコピーします。
コードとビルド スクリプトの例:
https://gitlab.com/demensdeum/cube-art-project-server/-/blob/master/src/cubeArtProjectServer.cpp
https://gitlab.com/demensdeum/cube-art-project-server/-/blob/master/src/build.sh
この後、Web サーバーを再起動する必要があります。
systemctl restart apache2
次に、chmod 経由で cgi-bin フォルダーを実行するために必要な権限を入力します。
この後、CGI プログラムは、Cube Art Project サーバーの例のリンクを使用してブラウザ経由で動作するはずです。
http://192.243.103.70/cgi-bin/cubeArtProject/cubeArtProjectServer.fcgi
何かが動作しない場合は、Web サーバーのログを確認するか、デバッガーを使用して実行中のプロセスに接続します。デバッグ プロセスは、通常のクライアント アプリケーションのデバッグ プロセスと異なっていてはなりません。
ソース
https://habr.com/ru/post/154187/あ>
http://chriswu.me/blog/writing-hello-world-in-fcgi-with-c-plus-plus/
ソースコード
https://gitlab.com/demensdeum/cube-art -プロジェクトサーバー