Mục đích của các trang web debian trên các trang web debian và có sẵn


60

Ai đó có thể cho tôi biết trong một bản tóm tắt hay không, mục đích của hai thư mục này là gì trong Debian?

/etc/apache2/sites-enabled
/etc/apache2/sites-available

Tôi nhận thấy rằng khác biệt sites-available/000-defaultsites-enabled/defaultcho thấy chúng là giống hệt nhau.

Đưa cái gì?

Câu trả lời:


63

các trang web có sẵn chứa các tệp cấu hình apache cho mỗi trang web của bạn. Ví dụ:

<VirtualHost *:80>
  ServerName site.mysite.com
  ServerAdmin my@email.com

  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>

Khi bạn muốn thêm một trang web mới (ví dụ: site.mysite.com), bạn thêm nó vào đây và sử dụng:

a2ensite site.mysite.com

Để kích hoạt trang web. Khi trang web được bật, một liên kết tượng trưng đến tệp cấu hình sẽ được đặt trong thư mục kích hoạt trang web, cho biết rằng trang web đã được bật.


12
Nếu bạn muốn vô hiệu hóa một trang web, bạn sẽ chạy trang web a2dissite.mysite.com

2
a2ensitea2dissiteđược đặt trong /usr/sbinđó hiện không được bao gồm trong đường dẫn người dùng mặc định để hoàn thành tab sẽ không hoạt động. sudo a2Tuy nhiên, khi gõ và bấm phím tab, bạn sẽ được cung cấp cả hai a2ensitea2dissite.
Stefan Schmidt

22

Quan trọng hơn cơ học của hệ thống là lý do ...

Debian cung cấp hai thư mục riêng biệt để nếu bạn tự động quản lý các cấu hình Apache của mình, bạn có thể có tất cả các vhost rơi vào sites-availabletất cả các máy của mình và sau đó các vhost riêng lẻ có thể được bật trên máy chủ sẽ thực sự phục vụ chúng. Điều đó cũng có nghĩa là bạn có thể vô hiệu hóa gần như ngay lập tức một trang web nếu nó gây ra sự cố ( a2dissite example.com; /etc/init.d/apache2 reload).


1
Đây là một câu trả lời đúng cho câu hỏi ban đầu.
silpol

5

Để thêm vào những người ở trên, tệp trong sites-enabledlà một liên kết tượng trưng đến sites-availabletệp:

ls -l /etc/apache2/sites-enabled/

Đó không chỉ là cùng một nội dung, đó là cùng một tệp thực tế!


5

Thông tin quan trọng:

Bạn nên chỉnh sửa tập tin chỉ trong sites-availablethư mục.

Không bao giờ chỉnh sửa các tệp trong sites-enabledthư mục, nếu không bạn có thể gặp sự cố nếu trình soạn thảo của bạn hết bộ nhớ hoặc vì bất kỳ lý do gì, nó nhận được SIGHUP hoặc SIGTERM.

Ví dụ: nếu bạn đang sử dụng nanođể chỉnh sửa tệp sites-enabled/defaultvà nó hết bộ nhớ hoặc vì bất kỳ lý do gì, nó sẽ nhận được SIGHUP hoặc SIGTERM, sau đó nanosẽ tạo một tệp khẩn cấp được gọi default.savetrong sites-enabledthư mục. Vì vậy, sẽ có thêm một tập tin trong sites-enabledthư mục. Điều đó sẽ ngăn Apache hoặc NGINX bắt đầu. Nếu trang web của bạn đang hoạt động, nó sẽ không còn nữa. Bạn sẽ có một thời gian khó khăn cho đến khi bạn tìm ra, trong nhật ký, một cái gì đó liên quan đến default.savetệp và sau đó, loại bỏ nó.

Trong ví dụ trên, nếu bạn đang chỉnh sửa tệp trong sites-availablethư mục, sẽ không có gì xấu xảy ra. Các tập tin sites-available/default.savesẽ được tạo ra, nhưng nó sẽ không gây hại gì trong sites-availablethư mục.


Rất thú vị! bất cứ ai khác có thể xác nhận điều này?
aaaidan

Dưới đây là một ví dụ về một người gặp phải vấn đề này: stackoverflow.com/questions/36808705/ trên
Vini

Một cái gì đó tương tự đã xảy ra trong liên kết sau đây. Xem bình luận Melvyn trong phần trả lời, về việc chỉnh sửa các tệp trong trang web được kích hoạt. stackoverflow.com/questions/26210115/ cường
Vini
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.