PR
PR

【Pythonの学習 Day5】時計サービスをインターネットに公開するための準備をする

記事内に広告が含まれています。

これまでローカル環境で開発してきた時計サービスを、いよいよインターネットに公開したいと思います。

まずは、サービス公開用のVPSのセットアップと、これまで開発してきた時計サービスのデータをアップロードするまでの手順をまとめました。

サービス公開に使用するVPS

VPSは普段から使い慣れている「ConoHa VPS」を使い、OSのバージョンやPythonの開発環境は、これまで開発してきたローカル環境と統一しています。

  • VPS: ConoHa VPS
  • OS: Ubuntu Server 24.04 LTS
  • Python開発環境: pyenv + uv + Flask

Ubuntuの初期設定

VPS契約後、最初にUbuntuの初期設定を行います。

  • 一般ユーザの追加
  • SSHの設定
    • rootユーザでのログイン禁止
    • 鍵認証方式に変更
    • 待受ポートをデフォルトポート(22)から変更
  • ファイアウォール設定変更
    • SSH待受ポートの通信許可
    • HTTPポート(80)およびHTTPSポート(443)の通信許可

Ubuntu Server 24.04 LTSの初期設定手順の詳細は、以下のページにまとめています。

【Ubuntu】ConoHaのVPSを作成した時にはじめにやること
ConoHaのVPSでUbunutuサーバを作成したときにはじめにやったほうが良い事ConoHaのVPSでUbuntu Serverを作成した時に私が最初に行っている作業です。 一般ユーザの作成 SSHサーバ設定 (ポート番号変更・root...

Python開発環境の作成

Pythonで開発を行うために必要な、pyenv、uv、Flask をインストールします。

必要なライブラリのインストール

はじめに、Pythonのビルドや各種機能に必要なシステムライブラリをインストールします。

$ sudo apt update
$ sudo apt install -y build-essential libbz2-dev libdb-dev \
libreadline-dev libffi-dev libgdbm-dev liblzma-dev \
libncursesw5-dev libsqlite3-dev libssl-dev \
zlib1g-dev uuid-dev

pyenvインストール

Pythonのバージョンを管理するツールであるpyenvをインストールします。

$ curl https://pyenv.run | bash

「~/.bashrc」をバックアップしてから、pyenvのパスを追記します。

$ cp -p ~/.bashrc ~/.bashrc_$(date "+%Y%m%d_%H%M%S")
$ vi ~/.bashrc

「~/.bashrc」の最後に以下の内容を追記します。

export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)"

設定の再読み込みを行います。

$ source ~/.bashrc

Pythonインストール

pyenvを使用して、開発で使用するバージョン(3.13.3)のPythonをインストールします。

$ pyenv install 3.13.3

時計サービス用ディレクトリの作成

時計サービスのファイルやデータを配置するディレクトリを作成します。

$ sudo mkdir /srv/time_app
$ sudo chown ユーザ名:グループ名 /srv/time_app

※ユーザ名とグループ名は適宜置き換える必要があります。

Python開発用仮想環境の作成

プロジェクトごとに独立したPython環境を構築するため、仮想環境を作成します。

まず、プロジェクトディレクトリに移動し、使用するPythonのバージョンを指定します。

$ cd /srv/time_app
$ pyenv local 3.13.3
uvインストール

Pythonのパッケージ管理ツールであるuvをインストールします。

uvのインストール後、シェル設定を再読み込みしてuvコマンドを有効にします。

$ curl -LsSf https://astral.sh/uv/install.sh | sh
$ source ~/.bashrc
仮想環境作成

「uv venv」コマンドを使って、このプロジェクト専用の仮想環境を作成します。

$ uv venv

作成された仮想環境を有効化します。

$ source .venv/bin/activate
Flaskインストール

PythonのWebアプリケーションフレームワークであるFlaskを、作成した仮想環境内にインストールします。

$ uv pip install flask

クライアント側(今まで開発をしていたPC)の作業

VSCodeインストール

これまではPythonやJavaScriptのソースコードをviで記述していましたが、今回からVSCodeを使用することにしました。

そのため、クライアントとして使用するUbuntuにVSCodeをインストールし、VPSに接続できるように設定を行います。

UbuntuにVSCodeをインストールする方法と、VSCodeでVPSに接続する方法については、以下のページを参考にしてください。

VSCodeインストール
https://vpslife.server-memo.net/ubuntu_vscode_repo_install/

VSCodeとVPSでのリモート開発環境の構築方法
https://vpslife.server-memo.net/conoha_vscode_remote_dev/

VSCodeによるVPSサーバーへの接続とデータアップロード

VSCodeのRemote-SSH拡張機能を使用し、設定済みのVPSサーバーへ接続します。

接続後、VSCodeの「ようこそ」タブ(またはファイルメニューやコマンドパレット)から「フォルダを開く...」を選択し、VPS上に作成したPython開発用ディレクトリ「/srv/time_app」を開きます。

次に、ローカルPCの「~/project/time_app」ディレクトリ内にある開発データを、VSCodeのエクスプローラーに表示されているVPS上の「/srv/time_app」ディレクトリへ、ドラッグ&ドロップしてアップロードします。

データがアップロードされると、下の図のようにVSCodeにデータが表示されます。

これでVPS上で開発を行う環境が準備できました。

コメント

タイトルとURLをコピーしました