複数のWebサイトをホストするためにApacheで仮想ホストを構成するには、次の手順に従う必要があります。
httpd.conf
またはapache2.conf
という名前のメインApache構成ファイルを見つけて編集する必要があります。または/etc/apache2/sites-available/
などのディレクトリに個別の構成ファイルを作成する必要があります。仮想ホストエントリを作成します:
各Webサイトについて、構成ファイルに<virtualhost></virtualhost>
ブロックを作成する必要があります。 2つの異なるWebサイトの例は次のとおりです。
<code class="apache"><virtualhost> ServerName www.example1.com DocumentRoot /var/www/example1 <directory> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </directory> ErrorLog ${APACHE_LOG_DIR}/example1-error.log CustomLog ${APACHE_LOG_DIR}/example1-access.log combined </virtualhost> <virtualhost> ServerName www.example2.com DocumentRoot /var/www/example2 <directory> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </directory> ErrorLog ${APACHE_LOG_DIR}/example2-error.log CustomLog ${APACHE_LOG_DIR}/example2-access.log combined </virtualhost></code>
DocumentRoot
および<directory></directory>
パスが、各Webサイトのファイルが配置されているサーバーのディレクトリに一致することを確認してください。/etc/apache2/sites-enabled/
またはdebianベースのシステムでa2ensite example1
のようなコマンドを使用するファイルへのシンボリックリンクを作成する必要があります。 Apacheを再起動:
変更を行った後、Apacheを再起動またはリロードして、新しい構成を適用します。
<code>sudo systemctl restart apache2</code>
または
<code>sudo apachectl restart</code>
単一のApacheサーバーで異なるドメインを設定するときは、次のベストプラクティスを検討してください。
Include
ディレクティブを使用して管理できます。<virtualhost></virtualhost>
ブロック内のServerName
ディレクティブを使用して行われます。SSLEngine
、 SSLCertificateFile
、およびSSLCertificateKeyFile
ディレクティブを使用して、 <virtualhost></virtualhost>
ブロック内でこれを構成できます。ErrorLog
およびCustomLog
ディレクティブを使用して実現できます。Allow
、 Deny
、 Require
などの指示を使用して、各ドメインに適切なセキュリティ対策とアクセス制御ポリシーを実装します。mod_deflate
などの圧縮のモジュールを有効にするなど、各仮想ホストがパフォーマンスの最適化のために構成されていることを確認してください。Apache仮想ホストのトラブルシューティングは困難ですが、一般的な問題を解決するのに役立ついくつかの手順を以下に示します。
apachectl configtest
コマンドを使用して、Apache構成の構文エラーを確認します。/var/log/apache2/
または同様のディレクトリにあります。ServerName
およびDocumentRoot
ディレクティブが、各仮想ホストに対して正しく設定されていることを確認してください。また、指定されたディレクトリが実際に存在することを確認してください。DocumentRoot
Directoriesの重複や競合するServerName
ディレクティブなど、仮想ホスト構成間の潜在的な競合を探します。Apache Serverが複数のWebサイトを効率的に処理できるようにするには、次の手順を検討してください。
mpm_prefork
よりも効率的に高い並行性を処理するように設計されたmpm_event
やmpm_worker
などの適切なMPMを使用します。ServerLimit
、 MaxClients
、 StartServers
、 MinSpareThreads
、 MaxSpareThreads
などの設定を調整します。mod_deflate
使用してコンテンツを圧縮してからクライアントに送信し、帯域幅の使用量を削減し、ページの読み込み時間を改善します。mod_cache
またはmod_disk_cache
を使用して、頻繁に要求されたコンテンツをキャッシュし、サーバーの負荷を削減し、応答時間を改善します。mod_status
などのツールを使用してサーバーのパフォーマンスを定期的に監視し、必要に応じて構成を調整します。リソースの使用に注意し、それに応じて調整します。これらの手順とベストプラクティスに従うことにより、Apache Serverが優れたパフォーマンスと信頼性を維持しながら、複数のWebサイトを効率的に処理できるようにします。
以上が複数のWebサイトのApacheで仮想ホストを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。