プロキシサーバーのセットアップガイド
概要
このドキュメントでは、Xserver VPSを使用してNode.jsベースのプロキシサーバーを構築する方法について説明します。プロキシサーバーは、NFTメタデータの取得やフロントエンドとのデータ通信など、様々な用途に使用できます。
必要なもの
- Xserver VPSアカウント
- SSHクライアント(例: Putty)
- FTPクライアント(例: FileZilla)
- Node.jsとnpm(ローカル開発環境)
ステップ1: VPSの設定
- Xserver VPSにログイン: Xserverの管理パネルにアクセスして、VPSを選択します。
- VPSの設定: 必要に応じてVPSのリソース(CPU、RAMなど)を設定します。
ステップ2: SSHアクセスの設定
- Puttyのダウンロードとインストール: 公式サイトからPuttyをダウンロードしてインストールします。
- SSH接続情報の取得: Xserverの管理パネルからVPSのIPアドレスとSSHログイン情報を取得します。
- Puttyでの接続: Puttyを開き、取得したIPアドレスを使用してVPSにSSH接続します。
ステップ3: Node.jsのインストール
- Node.jsのインストール: SSH接続後、以下のコマンドでNode.jsをインストールします。
sudo apt update
sudo apt install nodejs
sudo apt install npm
ステップ4: プロジェクトのセットアップ
- プロジェクトディレクトリの作成: VPS上で適切な場所にプロジェクトディレクトリを作成します。
mkdir my-proxy-server
cd my-proxy-server
- プロジェクトの初期化: Node.jsプロジェクトを初期化し、必要なパッケージをインストールします。
npm init -y
npm install express axios cors
ステップ5: サーバーコードの開発
- ローカル開発: ローカル環境でサーバーコード(例:
server.js
)を開発します。
- テスト: ローカルでサーバーをテストし、動作を確認します。
ステップ6: コードのアップロード
- FTPクライアントの設定: FTPクライアント(例: FileZilla)を使用してVPSに接続します。
- ファイルのアップロード: 開発したコードをVPSのプロジェクトディレクトリにアップロードします。
ステップ7: サーバーの起動
- PM2のインストール: VPSでPM2(プロセスマネージャー)をインストールします。
sudo npm install pm2 -g
- サーバーの起動: PM2を使用してサーバーを起動します。
pm2 start server.js
ステップ8: Apache設定(オプショナル)
- Apacheの設定: 必要に応じてApacheをインストールし、リバースプロキシ設定を行います。
ステップ9: メンテナンスと監視
- ログの確認: PM2のログを定期的に確認して、サーバーの動作状況を監視します。
pm2 logs
プロキシサーバーのセットアップガイド(SSL証明書とDNS設定を含む)
ステップ10: SSL証明書の取得
- Let’s Encryptのインストール: Let’s Encryptを使用して無料のSSL証明書を取得します。
sudo apt install certbot
sudo apt install python3-certbot-apache
- SSL証明書の取得: 証明書を取得するためにCertbotを実行します。
sudo certbot --apache
- 自動更新の設定: SSL証明書の自動更新を設定します。
sudo certbot renew --dry-run
ステップ11: DNS設定
- DNSレコードの設定: ドメインプロバイダーの管理パネルで、VPSのIPアドレスに対してAレコードを設定します。
ステップ12: Apache設定ファイルの編集
000-default.conf
の編集: Apacheのデフォルト設定ファイルを編集して、リバースプロキシ設定を追加します。
sudo nano /etc/apache2/sites-available/000-default.conf
- リバースプロキシ設定の追加: 以下のように
ProxyPass
とProxyPassReverse
ディレクティブを追加します。
<VirtualHost *:80>
ServerName yourdomain.com
ProxyPass / http://localhost:3007/
ProxyPassReverse / http://localhost:3007/
# その他の設定...
</VirtualHost>
- Apacheの再起動: 設定を適用するためにApacheを再起動します。
sudo systemctl restart apache2
ステップ13: SSL証明書の確認
- SSL証明書の状態確認: ブラウザでドメインにアクセスし、SSL証明書が適切に設定されていることを確認します。
ABOUT ME
Web3.0を中心として活動しているフリーランス
【経歴】
静岡文化芸術大学卒業
ハウスメーカー:営業・設計
飲食店チェーン:営業・マネジメント
スタートアップ:ECサイト創業・運営
(和菓子) 広報責任者
IT技術責任者
対内外折衝総合窓口
Web3.0やNFTの可能性に魅入られ育児のかたわらフリーランスとしてフルコミットしています
主な活動実績
【エンジニア】
国内最大級のオンラインコミュニティ
NinjaDAO公式のジェネラティブコレクション
・MusubiCollection コントラクト・ミントサイト制作
・CNP宝島2023 SBTコントラクト・ミントサイト制作
・CryptoNinja PictureBook SBTコントラクト・ミントサイト制作
【Webデザイン】
AbbysGuild(アビスギルド)春のスタンプコンぺ投票サイト制作
CNP宝島2023 公式サイト制作