簡単に言えば、これら2つのディレクトリの目的はDebianにどのようなものがあるのでしょうか。
/etc/Apache2/sites-enabled
/etc/Apache2/sites-available
違いがわかりますsites-available/000-default
およびsites-enabled/default
は、それらが同一であることを示しています。
何ができますか?
sites-availableには、各サイトのApache構成ファイルが含まれています。例えば:
<VirtualHost *:80>
ServerName site.mysite.com
ServerAdmin [email protected]
DirectoryIndex index.php
DocumentRoot /home/user/public_html/site.mysite.com/public
LogLevel warn
ErrorLog /home/user/public_html/site.mysite.com/logs/error.log
CustomLog /home/user/public_html/site.mysite.com/logs/access.log combined
</VirtualHost>
新しいサイト(たとえば、site.mysite.com)を追加する場合は、ここに追加して、次を使用します。
a2ensite site.mysite.com
サイトを有効にします。サイトが有効になると、設定ファイルへのシンボリックリンクがサイトが有効なディレクトリに配置され、サイトが有効であることを示します。
システムのメカニズムよりも重要なのは根拠です...
Debianは2つの別個のディレクトリを提供しているため、Apache構成を自動的に管理している場合は、すべての仮想ホストをすべてのマシンのsites-available
にドロップするだけで、サーバーで個々の仮想ホストを有効にできます実際にそれらを提供しています。また、問題が発生している場合は、ほぼ瞬時にサイトを無効にすることができます(a2dissite example.com; /etc/init.d/Apache2 reload
)。
sites-available
ディレクトリのファイルonlyを編集する必要があります。
絶対に行わないsites-enabled
ディレクトリ内のファイルを編集します。そうしないと、エディターがメモリ不足になるか、何らかの理由でSIGHUPまたはSIGTERMを受け取った場合に問題が発生する可能性があります。
例:nano
を使用してファイルsites-enabled/default
を編集していて、メモリが不足するか、何らかの理由でSIGHUPまたはSIGTERMを受け取った場合、nano
はdefault.save
ディレクトリ内のsites-enabled
という緊急ファイル。したがって、sites-enabled
ディレクトリ内に追加のファイルがあります。これにより、ApacheまたはNGINXが起動しなくなります。サイトが機能していた場合は、もう機能しません。ログでdefault.save
ファイルに関連する何かを見つけて削除するまで、苦労します。
上記の例では、sites-available
ディレクトリ内のファイルを編集している場合、問題はありませんでした。ファイルsites-available/default.save
は作成されますが、sites-available
ディレクトリ内で害を及ぼすことはありません。
上記に追加するために、sites-enabled
のファイルはsites-available
ファイルへのシンボリックリンクです。
ls -l /etc/Apache2/sites-enabled/
内容は同じだけでなく、実際のファイルも同じです。