Pythonを分離しました.これはVPSサーバーとかしか出来ない事かも.

2025.02.16

Logging

おはようございます.有言実行と言うことでPythonを分離しました.これはVPSサーバーとかしか出来ない事なのかも知れないですね.コンテナとDockerfileをチラッとお見せします.こちらはローカルでの設定ですので本番環境とは違います.

services:
  testfastapi:
    image: python:3.9.21
    build:
      context: .
      dockerfile: Dockerfile
    container_name: testfastapi
    restart: always
    ports:
      - "8000:8000"
    volumes:
      - ./app:/app
    environment:
      - PYTHONUNBUFFERED=1
    command: ["python", "-m", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
# Python 3.9.21 の公式イメージを使用
FROM python:3.9.21
# 環境変数の設定(バッファリングを無効化)
ENV PYTHONUNBUFFERED=1
# requirements.txt をコピーして依存関係をインストール
COPY /app/requirements.txt /app/
RUN pip install --no-cache-dir -r /app/requirements.txt
fastapi
uvicorn
from fastapi import FastAPI
app = FastAPI()

@app.get("/")
def read_root():
    return {"text": "Hello, FastAPI with Python3.9.21!"}

またfastAPIのバージョン上がっていくに連れてこの書き方では動か無くなる恐れがあるので、その時は公式サイトをご確認ください.

所感としてPythonとPHPを切り離すこと出来たのは良かったなと思います.内部的じゃない方法Equal外部的なAPIとして使用するにはNginx, Apache/(プロキシサーバ)と組み合わせて使用する必要があります.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

インストール, こんてな, サーバー, バージョン, バッファリング, プロキシサーバ, 使用, 依存関係, 公式イメージ, 公式サイト, 所感, 方法外部的, 書き方, 有言実行, 本番環境, 無効化, 環境変数, 設定,

Photo by SevenStorm JUHASZIMRUS on Pexels.com

休日のひとり反省会と知見とかを書いていきます.慣れないことは慣れるまで.#恥は書き捨て

2025.01.27

Logging

おはようございます.先日、レンタルサーバからVPSサーバに移行したのだけど結構たいへんでした.今回はエンジンエックスをプロキシサーバして使い、Apacheサーバに飛ばしているという仕様ですがやってみて己の知識の無さを痛感しました.知識の無さを生成AIで補って何とか安定した運用になっているみたいです.

メモリがカツカツになって当初計画していた運用は断念しました.人生思い通りに、計画していた通りにならないという事を改めて痛感.まず、コンテナ運用はメモリを食うということを学びました.

メモリを食うならメモリを掃除してもらうアプリを入れたら良いじゃないのかと思うでしょうけど、2Gのメモリでは直ぐにカツカツになります.なので先日も書いた通りコンテナは少なめに抑えましょう.

次にプロキシサーバとかにしているとWordPressページを開くとループしてしまう問題があります.そちらを解決策はこちらを参照ください.

次にコンテナで運用しているとWordPressで書き込みが出来なくなるという事が発生する場合があります.そちらを解決するには下記の方法が良さげかと思います.

usermod -u 1000 apache && groupmod -g 1000 apache

あとWordPressのコンフィグに下記の設定しておくのも良いです.

define('FS_METHOD', 'direct');

因みにメールサーバは外部サービスを使用しています.このサーバが落ちてもメールサーバは動くという形になります.

一番、時間を費やしたのがファイル転送です.コマンドでもファイル数が多いと転送に時間がかかります、なにせ45G有ったみたいなので…チリツモで一番このドメインが多かったです.

scp -rp ユーザの名前@リモートのホスト名:コピーするリモートのファイル ローカルのコピー先

これでかなり速く転送してくれます.レイヤーが低いほど速いですねぇ.FTPソフトとか使用していると萎えます.

あと、今回知ったのですが広告掲載とかしている人でプロキシサーバ経由でサーバ起てている人は下記の設定をApacheサーバに記載が必要になります.これは警告を受けたわけではないのだけども、やっとくと損はないと思います.

RemoteIPHeader x-forwarded-for

以上が今回得た教訓であり知見です.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

エンジンエックス, コマンド, こんてな, コンフィグ, サーバ, チリツモ, プロキシサーバ, プロキシサーバ経由, メールサーバ, メモリ, ユーザ, リモート, レイヤー, レンタルサーバ, , 教訓, 痛感, 知見, 警告, 転送,