VPS上にPythonの実行環境を構築し、自分で自由にコーディングできるようにする方法を初心者向けに5分で解説します。
参考 vpsとは?
単なる手順だけではなく、学習の意味を込めて「なぜこのような作業をするのか?」といった観点も含めて説明していきますので、より実践的にPythonの環境構築を行えるような内容になっています。
具体的には以下のようなロードマップでVPS上に簡易的なPython実行環境を作成していきます。1つ1つ順を追って解説していきますので、是非最後までご覧ください。
これからPythonを勉強しようとする方(実際にプログラマー転職や副業プログラマーを目指す方)であれば、実績を作るという意味でも実行環境の構築は必須。是非最後までご覧ください。
Pythonの実行環境を構築するメリット
Python初心者にとって、VPS上でPython実行環境を構築することにはどのようなメリットがあるか?
今後のモチベーション向上の意味も込めて、いくつかメリットを挙げてみたいと思います。
VPS上での実行環境構築のメリット
ポートフォリオの構築:VPS上で開発したWebアプリケーションやプロジェクトは、インターネット経由でアクセスできるため、簡単にポートフォリオとして公開できます。自分のスキルをアピールする素材として活用できます。
実践的なスキルの習得:VPSを利用することで、実際のサーバー環境での開発や運用に関する知識やスキルを身につけることができます。これにより、将来的にプロジェクトや就職活動に役立つ実践的な経験が得られます。
リモート開発の学習:VPS上での開発には、SSH接続やファイル転送などのリモート開発に関するスキルが必要です。これらのスキルは、現代の開発環境では一般的であり、初心者にとっても重要なスキルとなります。
本番環境への移行の容易さ:VPS上で開発したプロジェクトは、本番環境への移行が容易です。VPSは本番環境に近い条件で開発ができるため、本番環境での問題発生のリスクを軽減できます。
グローバルなアクセス:VPSはインターネット経由でアクセスできるため、世界中から利用できます。これにより、リモートでの開発やチームでの共同作業が容易になります。
ただし、VPSを使用する際には、サーバー管理やセキュリティ対策などの知識が必要。また、VPSは月額料金がかかることが一般的です。
が、せっかくPythonの勉強をするなら中途半端な環境ではなく、実践的な環境で勉強するのがおすすめです。
特に、Pythonエンジニアを目指す方は、Pythonのコーディングスキルだけではなく、最低限のネットワーク知識やLinuxなどのインフラ知識も必要になります。これらの必須知識を漏れなく実践的に学ぶためにもまずは自力でPythonの環境構築を行っていきましょう!
さっそく、Pythonの実行環境の構築を始めていきましょう!
ステップ1:VPSの契約
まずは、VPSの申し込みを行いましょう。
VPS(Virtual Private Server)とは、インターネット上で自分だけの専用サーバーのように使えるサーバーのことです。
物理的なサーバーを1つの大きな箱と考えると、その中に仮想的な小さな箱をたくさん作って、それぞれの小さな箱を1人1つずつ使えるようにしたものがVPSです。
自分が利用してみたいVPSが特にないという方は、性能やサポート体制の面で有利なXserver VPSを利用してみましょう。
# | VPSサービス名 | 初期費用 | 価格(月額) | OS | CPU | RAM | ストレージ | 稼働率 | サポート対応 |
---|---|---|---|---|---|---|---|---|---|
1 | Xserver VPS | 0円 | 830円~ | Unix系 Windows系 | 3コア~ | 2GB~ | 50GB~ (NVMe SSD) | - | 電話/メール/チャット |
2 | ConoHa VPS | 0円 | 751円~ | Unix系 Windows系 | 1コア~ | 512MB~ | 30GB~ (SSD) | 99.99%以上 | 電話/メール/チャット |
3 | さくらのVPS | 0円~ | 643円~ | Unix系 Windows系 | 1コア~ | 512MB~ | 25GB~ (SSD) | - | 電話/メール |
4 | ABLENET(エイブルネット) | 0円~ | 712円~ | Unix系 Windows系 | 1コア~ | 512MB~ | 30GB~ (SSD/HDD) | - | メール |
5 | ミライサーバー | 0円~ | 715円~ | Unix系 Windows系 | 2コア~ | 1GB~ | 70GB~ (SSD) | - | 電話/メール |
6 | GMO クラウドVPS | 0円 | 665円~ | Unix系 Windows系 | 1コア~ | 512MB~ | 20GB~ (SSD) | 99.99%以上 | 電話/メール |
7 | Winserver(ウィンサーバー) | 0円 | 990円~ | Windows系のみ | 3コア~ | 1GB~ | 70GB~ (SSD/HDD) | - | 電話/メール |
参考 VPSの選び方
各VPSの案内にしたがってOSのインストールまでを行います。Linux系であればどれでもOKで、今回は例としてCentOSを利用していきたいと思います。
ステップ2:SSH接続
SSH(Secure Shell)とは、インターネットを通じてリモートコンピュータと安全に通信するためのプロトコルです。
参考 SSH接続とは?
VPS(サーバ)上で直接Pythonのインストールを行うことも可能ですが、基本的にはローカルの端末からSSH接続をしてサーバ操作を行うことが実際の現場での常識です。勉強の意味を込めてSSH接続を行えるようにしておきましょう。
パスワード認証を使用したSSH接続
ユーザー名とパスワードを使用してSSH接続を行う方法です。 この方法では、接続時にパスワードを入力する必要があります。 ssh ユーザ名@VPSのIPアドレス 例)ssh root@192.168.0.10
公開鍵認証を使用したSSH接続
公開鍵と秘密鍵のペアを使用してSSH接続を行う方法です。 この方法では、接続時に秘密鍵を使用して認証します。 まず、公開鍵と秘密鍵のペアを生成し、公開鍵をサーバーに登録します。 ①ローカル環境で鍵ペアを生成: ssh-keygen ②公開鍵をサーバーにコピー: ssh-copy-id ユーザー名@サーバーのIPアドレス 例)ssh-copy-id root@192.168.0.10 ③公開鍵認証を使用してSSH接続: ssh ユーザー名@サーバーのIPアドレス 例)ssh root@192.168.0.10 ④指定した秘密鍵でSSH接続: ssh -i 秘密鍵のパス ユーザー名@サーバーのIPアドレス 例)ssh -i ~/.ssh/id_rsa_custom_key root@192.168.0.10 ④代替ポートでSSH接続: ※SSH接続時に代替のポート番号を指定する方法です。-pオプションを使用してポート番号を指定します。 ssh -p ポート番号 ユーザー名@サーバーのIPアドレス 例)ssh -p 2222 root@192.168.0.10
SSH接続には、VPSのIPアドレス、ユーザ名、パスワード(またはSSHキー)が必要です。例えば、LinuxやMacの場合、ターミナルを開いて上記のコマンドを実行します。
SSH接続がうまく行かない・・・!という方は以下の記事を参考にしてみてください。
ステップ3:環境の更新とアップグレード
SSH接続が完了したら環境の更新とアップグレードを行っておきます。
基本的には契約時点で最新の資源が適用されているはずですが、今後の運用を見据えてここで環境の更新方法を覚えておきましょう。
環境の更新とアップグレードの方法は、OSの種類によって異なります。以下に主要なLinuxディストリビューションでのサンプルを示します。
CentOS: CentOS 7の場合 sudo yum update CentOS 8の場合 sudo dnf update Ubuntu / Debian: パッケージリストの更新: sudo apt-get update インストール済みパッケージのアップグレード: sudo apt-get upgrade 依存関係も含めたパッケージのアップグレード: sudo apt-get dist-upgrade Fedora: sudo dnf update Arch Linux: sudo pacman -Syu
これらのコマンドを使用して、それぞれのOSに合わせた環境の更新とアップグレードが行えます。定期的にシステムを更新することで、セキュリティやパフォーマンスの向上、新機能の追加などが得られます。
環境の更新とアップグレードの目的
# | 目的 | 説明 |
---|---|---|
1 | セキュリティの向上 | セキュリティ上の問題や脆弱性を修正し、システムをより安全にします。 |
2 | バグ修正 | ソフトウェアの不具合やシステムの不安定さを改善し、正常な動作を実現します。 |
3 | パフォーマンスの向上 | ソフトウェアの最適化により、処理速度が向上し、リソースの消費が抑えられます。 |
4 | 新機能の追加 | 開発者が追加した新機能を利用できるようになり、さらなる機能性を享受できます。 |
5 | 互換性の維持 | 他のソフトウェアとの互換性が維持され、スムーズな連携が可能になります。 |
初心者向けに言い換えると、環境の更新とアップグレードは、自動車の定期点検やオイル交換に似ています。定期的にメンテナンスを行うことで、システムが安全で快適に動作し続け、さまざまな問題を未然に防ぐことができます。
ステップ3:Pythonのインストール
Pythonをインストールします。
初心者向けに言い換えると、Pythonのインストールは、コンピューターに新しいツールを追加して、Python言語で書かれたプログラムを実行できるようにする作業です。これにより、Pythonプログラムを作成・実行し、さまざまなタスクを効率的にこなせるようになります。
デフォルトでPythonがインストールされている場合もありますが、最新バージョンをインストールすることをお勧めします。
sudo yum install python3 python3-pip
ステップ4:仮想環境の作成
仮想環境の作成とは、Pythonプロジェクトごとに独立した環境を作成することです。
この独立した環境は、プロジェクトで使用するPythonのバージョンや、インストールされているパッケージ(ライブラリ)に関する情報を含みます。仮想環境を使用することで、異なるプロジェクト間でPythonのバージョンやパッケージの競合を防ぐことができます。
Pythonの仮想環境の作成には、venv
モジュールを使用します。このコマンドで、my_project_env
という名前の仮想環境が作成されます。
python3 -m venv my_project_env
ここで、 my_project_env
は作成する仮想環境の名前なので自分が適切だと思う名前を選んでください。
このコマンドを実行すると、現在のディレクトリに my_project_env
という名前の新しいディレクトリが作成され、その中には新しい仮想環境がセットアップされます。
仮想環境を使用することのメリットは以下の通りです。
仮想環境を使用するメリット
メリット1 プロジェクト間の依存関係の分離
仮想環境は、それぞれのプロジェクトに対して独立したPython環境を提供します。これにより、プロジェクトごとに異なるバージョンのパッケージを使用することができます。
メリット2 システムの整合性維持
仮想環境を使用することで、システム全体のPython環境を変更することなく、プロジェクトごとに異なる設定を適用できます。これにより、システム全体の整合性が維持されます。
メリット3 簡単な環境の再現・移植
仮想環境を使用すると、プロジェクトごとに独立した環境が作成されるため、他の開発者や別のマシンに環境を移植する際に、環境設定が簡単に再現できます。
ステップ5:仮想環境の有効化
仮想環境の有効化とは、作成した仮想環境を現在の作業環境として選択し、アクティブにする作業です。有効化された仮想環境は、プロジェクトで使用するPythonのバージョンやパッケージ(ライブラリ)のインストール先として機能します。
仮想環境の有効化は、OSによって異なるコマンドを使用します。
Windowsの場合
my_project_env\Scripts\activate
Linuxの場合
source my_project_env/bin/activate -- これで仮想環境が有効になり、プロンプトの左側に仮想環境の名前が表示されるはずです。 -- 例)(my_project_env) [root@xxx-xxx-xxx-xxx ~]# -- この状態でPythonやpipを使用すると、その操作は仮想環境内でのみ影響を及ぼします。
これらのコマンドを実行することで、作成した仮想環境がアクティブになります。
仮想環境がアクティブになると、コマンドプロンプトやターミナルに仮想環境の名前が表示され、現在どの仮想環境がアクティブかがわかります。
ステップ6:必要なライブラリのインストール
必要なライブラリのインストールとは、Pythonプロジェクトで使用する外部パッケージ(ライブラリ)をプロジェクト環境に追加することです。
ライブラリは、特定の機能を提供するプログラムのコレクションで、プロジェクトでその機能を利用することができます。これにより、すでに開発されたコードを再利用することで、開発時間を短縮し、より効率的にプロジェクトを進めることができます。
Pythonのライブラリは、Python Package Index (PyPI)というパッケージリポジトリからインストールすることができます。
ライブラリのインストールには、pip
というパッケージ管理ツールを使用します。pip
は、Pythonの標準パッケージに含まれており、Pythonをインストールすれば使用することができます。ライブラリのインストールは以下の手順で行います。
pip install ライブラリ名
ステップ7:Webアプリケーションの作成
インストール結果の確認が完了したら、新しいDjangoプロジェクトを作成します。以下のコマンドを実行してプロジェクトを作成します。
django-admin startproject myproject -- ここで "myproject" は新しいプロジェクトの名前です。 -- 名前を選ぶ際には自身のプロジェクトに適したものを選んでください。
新しいプロジェクトが作成されると、その名前のディレクトリが作成され、その中にはDjangoプロジェクトに必要なファイルが全て格納されます。
プロジェクトは複数のアプリケーションで構成されます。以下のコマンドを実行することで新しいアプリケーションを作成することができます。
cd myproject python manage.py startapp myapp -- myapp はあなたが作成したいアプリケーションの名前に置き換えてください。
ステップ8:Webアプリケーションの実行
アプリケーションの作成が完了した後に開発サーバを起動すると、ブラウザを通じてあなたのWebアプリケーションを確認することができます。以下のコマンドを実行して開発サーバを起動してください。
python manage.py runserver 0.0.0.0:8000
ブラウザからVPSにアクセスします。
ブラウザのアドレスバーに http://<your-vps-ip-address>:8000
を入力します。 <your-vps-ip-address>
はVPSのIPアドレスに置き換えてください。
VPSのネットワーク設定やファイアウォールの設定によっては、8000番ポートへのアクセスが制限されている可能性もあります。その場合は、それらの設定を変更するか、適切なポートを開放する必要があります。
参考 ファイアウォールとは?
ステップ9:Webアプリケーションへのアクセス
これですべての構築が完了しました。
Djangoには、インストール後にデフォルトで表示される初期画面があります。
Djangoをインストールし、作成したプロジェクトを開くと、デフォルトのWelcomeページ(初期画面)が表示されます。
このWelcomeページは、新しいDjangoプロジェクトのセットアップが正常に完了したことを確認するためのものです。
デフォルトのWelcomeページには、「The install worked successfully! Congratulations!」というメッセージが表示されます。このページは、Djangoプロジェクトが正常に動作していることを確認するために表示されるものであり、実際のアプリケーションの画面ではありません。
ここから、このWelcomeページをカスタマイズするか、自分のアプリケーションのビューとテンプレートを作成して表示内容を変更することができます。
これにて、VPS上にpythonの実行環境を構築する方法は以上です。