XサーバーにPythonで制作した成果物がアップロードできなくて2週間以上が経過しました。
参考になりそうな記事を見つけて再度、試してみましたが、どうにもうまくいきません。
しかし二週間経った今日、ようやくテストアップロードができました!
そこで今回はどのようにして解決したかをまとめておきたいと思います。
まず結論からいいますと、
FastCGIを諦めてCGIで実行したら、アップロードに成功しました。
目次
PythonのアプリをXサーバーにアップロードする
きっとFastCGIでも動作させる方法があると思います。
私の場合は今回はCGIかFastCGIのどちらかにこだわりがあるわけでは無いので、
今回は私の場合はCGIにへんこうすることで解決したということで進めて参ります。
ではどうやって解決していったのかを見ていきます。
まずはとても参考になる方の記事を確認しました
まずはエンジニアのJunkoさんのこちらの記事を確認しました。
そこで、まずはその記事と全く同じファイル内容、全く同じ手順で実現できるかを試していきました。
この方の記事の手順で基本進めていきます。
ここでの勘違いや失敗ポイント
私もまだまだプログラミング初心者でして、自分が今何をおこなっているのかを整理できていなかったところがありました。
今回の作業は
XサーバーにSSH接続をした状態で環境を整えていくこと
なのですが、これを私は勘違いしていました。
初めだけSSH接続をして作業をした後、日を跨いだりしているうちに、うっかりローカル環境で記事の手順を実行していました。
次は
AIのサポートを過信しすぎていた点
これも反省点でした。
上記の二つの反省点を元に、
まずはその記事と全く同じファイル内容、全く同じ手順で実現できるか改めて試してみました。
しかしなぜかうまくいきません。
うまくいかなかった原因と、改善に気づいたきっかけ
手順通りにやっているのになかなかうまくいかない日がまた数日続きました。
そんなある日の夜、寝る前にふと気がつきました。
「自分以外にも同じことで悩んでいる人がいるんじゃ無いかな?」
そう思ってX(旧Twitter)をみてみると、
私と同じ問題に悩んでいる方が、FastCGIではうまくいかなかったが、CGIでは成功した
という重要なワードを発見しました!
そして、次の日に、CGIを試してみることにしました。
FastCGIからCGIに変更する
ここから、記事とは分岐して、CGIを使うことにしてみます。
CGIに関しては特にインストール作業とかは無いようで、まずはファイルを3つ用意します。
若干コードの内容が違ってきます。
この辺りはAIのサポートが役に立ちました。
hello.py
.htaccess
何度かエラーを繰り返していましたが、
6行目のパスの書き方を間違えていることが何度か試しているうちに発覚しました。
画像のようにパスを変更することで、成功しております。
index.cgi
1行目はエンジニアのJunkoさんのこちらの記事にあるように
which python で出てきたパスを反映させています。
そして私はこれら3のファイルをCyberduckを使ってサーバーとのFTP接続でアップロードしました。
権限の変更
そしてファイルの権限の変更をします。
ここまでの作業同様、Xサーバーに接続した状態で、仮想環境をアクティベートの状態にあることを確認してください。
cdコマンドを使って、実際にファイルをアップロードするサブドメインの場所まで移動します。
lsコマンドで、リストの中から自分がアップロードしようとしている3つのファイル権限を
chmod 644 .htaccess
chmod 600 hello.py
chmod 755 index.cgi
変更します。
結果的にCGIに変更したことによってXサーバーへのアップロードが成功するに至りました。
これでようやく、スタートラインに立てました。
次は自分が制作した成果物のアップロードが課題になります。
AIに依存しすぎたことで、遠回りしてしましましたが1人では実現できませんでした。
XサーバーのエラーログのチェックなどはAIに任せたりすることで、何が問題なのかを教えてくれます。
ChatGPT様様です。
まとめ
今回はFastCGIをやめてCGIに変更することで問題の解決に至りました。
ここ最近はAIのサポートありきで動いていましたが、過剰にAIを信用するのもよくないという教訓でした。
初めから記事をしっかり読み込むことも大事ですし、
別のアプローチで、SNSで同じ問題で悩んでいる人の会話をのぞいてみることの重要性にも気づきました。
自己紹介
ペコポコです。プロフィールページはこちら
普段はハンドメイド作品をオンラインで販売しています。
メタバース空間に視覚的なお店を自分で構えることを目標に現在プログラミングも学習中です。
作品はオンラインショップでご覧いただけます。
物作りで日常を明るく♪をコンセプトに活動中のハンドメイド作家です。minneやメルカリショップス 、Creemaにてマクラメ・レザーブレスレットなどを中心に出品中です。
コメント