サイトについて
システム概要
このポートフォリオサイトは、複数の技術スタックを組み合わせて構築された統合Webシステムです。
Django、PHP、MySQL、Nginx、Dockerなどの技術を活用し、セキュアで高性能なWebアプリケーションとして運用されています。
使用技術・言語
バックエンド
- Python 3.10 - Django 4.2フレームワーク
- PHP 8.1 - 動的Webアプリケーション
- MySQL 8.0 - データベース管理システム
- SQLite - Django開発用データベース
フロントエンド・インフラ
- Bootstrap 5.3 - CSSフレームワーク
- JavaScript - クライアントサイド処理
- Nginx 1.24 - Webサーバー・リバースプロキシ
- Docker - コンテナ化技術
サーバー環境
ハードウェア仕様
- PC: NIPOGI ミニPC
- CPU: AMD Ryzen 5 7430U
- メモリ: 16GB DDR4
- ストレージ: 512GB SSD
OS・ネットワーク
- OS: Ubuntu 22.04 LTS
- ドメイン: sush1board.com
- SSL: Let's Encrypt証明書
- ネットワーク: 固定IP・ポート開放
構築プロセス
ドメイン取得
お名前ドットコムでsush1board.comを取得
サーバーセットアップ
Ubuntu 22.04 LTSをインストールし、基本設定を完了
Docker環境構築
Docker、Docker Composeをインストールし、コンテナ環境を構築
アプリケーション開発
Django、PHPアプリケーションを開発し、Dockerコンテナ化
Nginx設定
リバースプロキシ設定、SSL証明書設定を完了
SSL証明書取得
Let's EncryptでSSL証明書を取得し、HTTPS化を完了
セキュリティ対策
SSL/TLS
- Let's Encrypt証明書による暗号化通信
- HTTP/2プロトコル対応
- HSTS(HTTP Strict Transport Security)設定
その他の対策
- Dockerコンテナによる分離
- ファイアウォール設定
- 定期的なセキュリティアップデート
パフォーマンス最適化
静的ファイル最適化
- CSS/JSファイルの圧縮・最適化
- 画像の最適化(WebP形式対応)
- ブラウザキャッシュ設定
サーバー最適化
- Nginxリバースプロキシ
- Gzip圧縮対応
- レスポンシブデザイン対応