Nginxでドメインごとにアクセスログを分割して管理する方法

Nginxのデフォルト設定では、すべてのWebサイトのアクセスログが単一のファイル(通常は /var/log/nginx/access.log)に集約されます。しかし、複数のドメインを運用している場合、特定のサイトのトラフィック分析やトラブルシューティングを行うために、ログをドメインごとに分離して出力することが推奨されます。 1. ログフォーマットの定義 (log_format) まず、出力す ...

6月26日 23:53 投稿

Elasticsearchクラスターの構築

前提条件の準備 Linuxサーバー3台(各々16GBメモリ、8コアCPU、50GBディスク) JDK 17 環境の設定 elasticsearch-8.17.2-linux-x86_64.tar.gz インストールパッケージ クラスタープランニング Elasticsearchクラスターでは、ノードが異なる役割を担います: マスターノード(Master Node):クラスター管理、ノード選挙、インデックスメタデータ管理を行います。高可用 ...

6月26日 22:29 投稿

Raspberry Pi 3B/3B+/4B 初期設定ガイド - OS導入からリモート接続まで

必要なハードウェア 電源アダプターの選定 Raspberry Piの電源供給において、初心者が陥りやすい問題としてPCのUSBポートからの給電があります。USB 2.0は最大500mA、USB 3.0でも900mA程度の出力しか得られません。外付け機器を接続する際は電力不足の原因となるため、5V/2.5A以上の出力が可能な専用アダプターの使用を推奨します。 シリアル通信モジュール 初期設定段階 ...

6月26日 16:38 投稿

GitHub Codespacesコンテナ内でtimedatectlがタイムゾーンを変更できない問題

なぜコンテナ内でtimedatectlがタイムゾーンを変更できないのか? GitHub Codespaces(またはDockerコンテナ、WSL)のような環境で、標準的なsystemdコマンドを使用してタイムゾーンを変更しようとすると、次のようなエラーが発生することがあります。 $ timedatectl set-timezone Asia/Shanghai System has not been booted with systemd as init system (PID 1). Can't ...

6月25日 23:30 投稿

systemd サービスユニット設定の完全ガイド

systemd におけるサービス管理の核心は .service ユニットファイルにあります。この設定ファイルは、プロセスの起動方法、ライフサイクル制御、依存関係、リソース制限などを宣言的に定義します。以下に、実践で最も頻繁に使用される構成要素を再構成・要約し、誤解を招きやすいポイントを明確に解説します。 基本構造 すべてのサービスファイルは以下の3つのセクションか ...

6月25日 21:20 投稿

Sambaファイル共有サーバーの設定と利用方法

Samba概要と基本構成 Sambaは、LinuxおよびUNIXシステム上でSMB(Server Message Block)プロトコルを実装するためのソフトウェアです。異なるプラットフォーム間でのファイルやプリンターの共有に役立ちます。 SMBプロトコルは、LAN内でファイルやプリンタなどのリソースを共有するために使用されます。 主な機能 ファイル・プリンター共有:ファイルやプリンターをネッ ...

6月25日 16:07 投稿

NginxとKeepalivedによる高可用性クラスタ構築ガイド

Nginxの高可用性(HA)を実現するためには、一般的にKeepalivedと組み合わせて仮想IP(VIP)を利用します。これにより、アクティブなサーバーに障害が発生した際、スタンバイサーバーへ自動的にサービスを切り替えるフェイルオーバー構成を構築できます。 環境構成 今回の構成では、以下の2台のサーバーを前提とします。 プライマリサーバー (Master): 192.168.1.10 バッ ...

6月24日 19:04 投稿

Linuxにおけるファイル作成時の最大権限問題とアップロードファイルの権限計算(PHPでの~記号の使用)

PHPでのファイル操作において、Linuxシステム上の権限設定に関する注意点が存在します。特にファイルアップロード処理における権限設定は、セキュリティ面で重要です。 @chmod($filePath, 0666 & ~umask()); この式では、ファイルのアクセス権を適切に設定するための計算が行われています。Linuxにおける~(チルダ)記号はホームディレクトリを示すものですが、ここ ...

6月24日 18:16 投稿

LinuxサーバーにおけるMySQLデータベースのバージョン一致移行手順

MySQL 8.0のインストール手順 1. CentOS 8用のパッケージをダウンロード まず、以前のCentOS 7用のパッケージをクリアします。 cd /tmp/mysql-install rm -f *.rpm 次に、CentOS 8に適したMySQL 8.0.26 RPMパッケージをダウンロードします。 wget https://repo.mysql.com/yum/mysql-8.0-community/el/8/x86_64/mysql-community-common-8.0.26-1.el8.x86_64.rpm wge ...

6月24日 16:20 投稿

Linuxシステムにおけるメモリキャッシュの確認と解放手順

Linuxサーバー運用中にメモリのキャッシュ領域が過度に消費され、サービスに影響を及ぼす場合があります。ここでは、メモリ状況の確認方法と、各種キャッシュを解放する具体的な手順について解説します。 メモリ使用状況の確認 現在のメモリの使用状況を確認するには、freeコマンドを使用します。-hオプションを付けると、人間が読みやすい単位(GiB、MiBなど)で表示され ...

6月22日 21:44 投稿