見出し画像

【WebAPI】サーバー起動(備忘録)

(バックエンド)FastAPIサーバー起動

(Poetryでバージョン管理 + uvicorn(ユビコーンって読むっぽい、youtubeとかで発音きいた)サーバーの場合)

# poerty run サーバ名 モジュール名:インスタンス名 --reloadオプション 

poetry run uvicorn fastapi_app_main:image_proc_app --reload

(フロントエンドサーバー)npmサーバー起動

npm run serve


一般的かつ当たり前すぎることなのかもしれないが、開発初期時に自分はハマったのでメモ

当時は、元々フロント完結の機能としてVue.js(+ Vuetify)で実装した画像処理機能をFastAPI + OpenCVを用いてバックエンドのAPIと分離させる、という流れで開発を行っていた。

その際、WebサーバーやらHTTPサーバーやらDBサーバー(はなんとなく分かっていた気がする)の違いもよくわからず(今でもさほど分かっていないが)、ぶっつけで開発を進めることになったので、フロントエンドもバックエンドも戦闘力2くらいの状態で、フルスタックとして走り出した。

その際、最初につまづいたのが、開発時における実行確認(テスト)の際にも、まずバックエンド用のサーバーとフロントエンド用のサーバーを別で立ち上げる必要がある、という点だった。

なんとなく、本番環境では、それらが別々である、ことは知っていたつもりだが、自分一人で開発する際に、これらを同時にたてておく、ということが実装の手順レベルでわかっていなかったために、かなりはまって、開発序盤から全く進まない期間があった。

実際には、(VS CODEの場合)エディタのウインドウを二つ起動して、片方で、フロント側のディレクトリまで進み、上記npmサーバーにて起動、もう片方のウィンドウではバックエンド側(いわゆるサーバ側)のディレクトリまで進み、uvicornでFastAPIサーバとして起動する、という単純な手順だが、気付くのに時間が掛かった。

そもそも、起動されたサーバーとか、サーバーとして扱うためのソフトウェアとかを文脈に応じて、全てサーバーという言葉で使い分ける感じがもうてんやわんやだった。

今も、適宜正しい使い方ができているかは、微妙なところだ・・・

いいなと思ったら応援しよう!