2026年9月24日
2026年9月24日
NginxとApacheの共存設定方法
ステップ1: NginxとApacheのインストール
まず、サーバー上でNginxとApacheをインストールします。通常はパッケージ管理ツールを使用して行います。
# Ubuntu/Debian系の場合
sudo apt-get update
sudo apt-get install nginx apache2
# CentOS/RHEL系の場合
sudo yum update
sudo yum install nginx httpd
ステップ2: NginxとApacheの基本設定
NginxとApacheは共存させますが、同時に起動しないようにするための設定が必要です。
# Nginxを起動するスクリプトの変更
sudo nano /etc/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# Apacheの起動スクリプトを無効化
sudo systemctl disable httpd.service
ステップ3: NginxとApacheの仮想ホスティング設定
NginxとApacheで異なるドメインに対する仮想ホスティングを設定します。
# NginxのVirtualHost設定
sudo nano /etc/nginx/sites-available/example1.com
server {
listen 80;
server_name example1.com www.example1.com;
location / {
proxy_pass http://localhost:8080;
}
}
# ApacheのVirtualHost設定
sudo nano /etc/apache2/sites-available/example2.conf
<VirtualHost *:80>
ServerName example2.com
DocumentRoot /var/www/example2.com/public_html
</VirtualHost>
# 設定ファイルを有効化
sudo ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/
sudo a2ensite example2.conf
# 起動・停止・再起動
sudo systemctl restart nginx apache2
ステップ4: 実践/トラブルシュート/監視
設定が正しく適用されたかどうかを確認し、必要に応じて修正を行います。
# NginxとApacheの状態確認
sudo systemctl status nginx apache2
# エラーログの確認
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/apache2/error.log
注意事項
- セキュリティ上の注意: 複数のWebサーバーを共存させる場合、各サーバーのセキュリティ設定に特に注意が必要です。特にNginxとApacheは異なるバージョンやパッチが適用される可能性があるため、定期的なセキュリティチェックが必要です。
- パフォーマンス/運用上の注意: NginxとApacheを共存させる場合、リソースの消費量を考慮し、サーバーのスペックに合わせて設定を行ってください。必要に応じて、負荷分散やキャッシュ利用などを検討することも重要です。
まとめ
1. NginxとApacheのインストール: 実行するコマンドによって異なるため、必要なパッケージを確認してから実行してください。
2. 基本設定の変更: NginxとApacheの起動スクリプトを適切に設定することで、共存させつつ同時に起動しないようにします。
3. 仮想ホスティングの設定: 異なるドメインに対してNginxとApacheで仮想ホスティングを行うための設定を行います。
4. 実践/トラブルシュート: 設定が正しく適用されたかどうかを確認し、必要に応じて修正を行ってください。
関連記事: