Kết cấu thư mục ServBay
Kết cấu thư mục của ServBay rõ ràng và dễ hiểu. Nếu bạn đã quen với hệ thống Linux/Unix, bạn sẽ thấy chúng rất giống nhau.
Kết cấu thư mục điển hình của ServBay như sau:
ServBay
|____backup
| |____config
| |____hosts
|____bin
|____data
| |____servbay
|____db
| |____redis
|____etc
|____logs
|____package
| |____bin
| |____common
| | |____imap-uw
| | |____include
| | |____lib
| | |____libexec
| | |____openssl
| | |____share
| |____etc
| | |____caddy
| | |____dnsmasq
| | |____mariadb
| | |____openldap
| | |____php
| | |____redis
| | |____scws
| |____mariadb
| | |____x.x
| |____node
| | |____xx
| |____php
| | |____x.x
| |____sbin
| |____var
| | |____log
| | |____run
|____sbin
|____script
|____ssl
| |____caddy
|____tmp
|____www
| |____servbay
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Dưới đây là giải thích chi tiết về mục đích của các thư mục.
Thư mục chính
Thư mục chính của ServBay nằm tại /Applications/ServBay
, tất cả các tệp tin đều được lưu trữ ở đây.
Khi cần sao lưu (ví dụ như sử dụng Time Machine hoặc các phương pháp sao lưu khác), hãy sao lưu toàn bộ thư mục này.
Thư mục gốc của trang web
Thư mục gốc của trang web nằm tại /Applications/ServBay/www
. Khuyến nghị tạo thư mục riêng cho từng trang chính để dễ quản lý.
Ví dụ:
/Applications/ServBay/www
|____com
| |____servbay
| | |____web # web.servbay.com
| | |____support # support.servbay.com
| | |____api # api.servbay.com
|____local
| |____sam
| | |____www # www.sam.local
| |____servbay
| | |____new # new.servbay.local
2
3
4
5
6
7
8
9
10
11
Thư mục tập tin cấu hình
Thư mục tập tin cấu hình nằm tại /Applications/ServBay/etc
, là một liên kết mềm thực tế tới vị trí lưu trữ tại /Applications/ServBay/package/etc
.
Thông thường, bạn có thể sử dụng trực tiếp /Applications/ServBay/etc
.
Ví dụ một số phần cấu hình của các gói phần mềm phổ biến:
PHP
Các tập tin cấu hình PHP có cấu trúc hai lớp. Trong etc/php
, có các thư mục cho từng phiên bản khác nhau như 5.6
, 7.4
, 8.3
, v.v. Cấu trúc điển hình như sau:
php
|____5.6
| |____conf.d
|____7.0
| |____conf.d
| |____php-fpm.d
|____7.4
| |____conf.d
| |____php-fpm.d
|____8.3
| |____conf.d
| |____php-fpm.d
|____8.4
| |____conf.d
| |____php-fpm.d
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Trong mỗi thư mục phiên bản có các tập tin như php.ini
, php-fpm.conf
, pear.conf
. Sau khi chỉnh sửa các tập tin này, cần khởi động lại dịch vụ PHP tương ứng để áp dụng cấu hình mới nhất.
Thư mục conf.d
là thư mục cấu hình mở rộng của PHP, chứa các tập tin như xdebug.ini
, opcache.ini
, redis.ini
. Chỉnh sửa các tập tin này để tải, gỡ bỏ hoặc thay đổi cấu hình mở rộng PHP. Tương tự, sau khi chỉnh sửa cần khởi động lại dịch vụ PHP tương ứng.
Chú ý: Mỗi phiên bản phụ và phiên bản lớn dùng chung một cấu hình. Ví dụ, 8.3.3
và 8.3.5
dùng chung cấu hình của 8.3
.
MariaDB
Thư mục tập tin cấu hình của MariaDB cũng có cấu trúc hai lớp như etc/mariadb/11.2
. Trong thư mục có một tập tin my.cnf
. Sau khi chỉnh sửa cần khởi động lại để áp dụng cấu hình. Mỗi phiên bản phụ và phiên bản lớn dùng chung một cấu hình.
Caddy
Chú ý: Caddyfile được tự động tạo bởi ServBay, không nên chỉnh sửa. Bất cứ chỉnh sửa nào sẽ bị ghi đè tự động. Nếu cần tùy chỉnh, hãy thực hiện trực tiếp trong mục hosts
của ServBay.
dnsmasq
Thư mục này chứa hai tập tin chính: dnsmasq.conf
và domains.conf
. dnsmasq.conf
là tập tin cấu hình mặc định, domains.conf
là tập tin tên miền tự động tạo.
Chú ý: Các tập tin dnsmasq.conf
và domains.conf
đều được ServBay tự động tạo, không nên chỉnh sửa. Bất cứ chỉnh sửa nào sẽ bị ghi đè tự động.
Thư mục thiết lập ServBay
/Applications/ServBay/data
Thư mục này lưu trữ các tập tin và thông tin cần thiết cho hoạt động bình thường của ServBay. Cần chú ý sao lưu và không xóa hoặc chỉnh sửa các tập tin trong thư mục này.
Thư mục các tệp thực thi và script
/Applications/ServBay/bin -> package/bin
/Applications/ServBay/sbin -> package/sbin
/Applications/ServBay/script
2
3
Tất cả các tệp thực thi của ServBay đều nằm trong thư mục bin
và sbin
. Bao gồm các phiên bản khác nhau của PHP, Node và các liên kết mềm tới hai thư mục này.
Các thư mục này chứa nhiều công cụ hữu ích như curl
, openssl
, frpc
, cũng như các phiên bản khác nhau của PHP và Node.
Ví dụ, có thể sử dụng php-5.6
để chạy một script với PHP 5.6, hoặc dùng node-15
để thực thi script với Node.js 15 không thuộc LTS.
Đặc biệt cần lưu ý thư mục script
. Thư mục này chứa các script hệ thống của ServBay, dùng để khởi động và dừng dịch vụ, khởi tạo cơ sở dữ liệu. Bạn có thể trực tiếp thực thi các script này, nhưng không nên chỉnh sửa hoặc xóa bỏ.
Các script này đều được gói gọn trong servbayctl
. Có thể trực tiếp thực hiện các lệnh với servbayctl
, ví dụ:
servbayctl start php 7.0
Thư mục dữ liệu cơ sở dữ liệu
/Applications/ServBay/db
Giống như thư mục etc
, thư mục db
cũng có cấu trúc nhiều lớp, mỗi phiên bản phụ và phiên bản lớn dùng chung cơ sở dữ liệu. Trong quá trình phát triển, cần chú ý sao lưu thư mục này.
Thư mục log
/Applications/ServBay/logs -> package/var/log
Tất cả các file log của ServBay đều được lưu trữ tại đây. Ngoài các file log của PHP và XDebug lưu trữ trong thư mục cấp hai, các log khác đều được lưu trong thư mục con tương ứng với dịch vụ.
Log truy cập trang web lưu trữ trong thư mục caddy
, theo tên miền.
Log PHP chia làm hai: php-fpm.log
(log do php-fpm tạo ra) và errors.log
(log lỗi). errors.log
chỉ tạo ra khi có lỗi trong mã nguồn mà không được khung làm việc PHP bắt và lưu trữ.
Ví dụ, lỗi do Laravel
tạo ra sẽ được lưu trong storage/logs/laravel.log
của khung làm việc Laravel, nhưng lỗi do WordPress
và trongate
tạo ra có thể lưu trong errors.log
.
Chú ý: File log chiếm nhiều không gian, cần dọn dẹp kịp thời.
Thư mục các gói phần mềm
/Applications/ServBay/package
Thư mục này chứa tất cả các gói phần mềm đã cài đặt của ServBay, cấu trúc là tên gói/phát hành lớn/phát hành nhỏ
. Ví dụ như package/php/8.3/8.3.7
.
Đối với các phiên bản cũ không còn cần thiết sau khi nâng cấp, bạn có thể xóa thủ công để tiết kiệm không gian.
Chú ý: Mỗi thư mục có một liên kết mềm current
trỏ tới phiên bản phần mềm mới nhất, không xóa nó nếu không muốn dịch vụ bị lỗi khi khởi động.
Thư mục chứng chỉ SSL
/Applications/ServBay/ssl
Thư mục này lưu trữ các chứng chỉ SSL, bao gồm chứng chỉ gốc SSL của địa phương (CA).
Thư mục backup
/Applications/ServBay/backup
Thư mục backup tự động của ServBay hiện tại chỉ dùng để backup file /etc/hosts
.
Thư mục tạm thời
/Applications/ServBay/tmp
Thư mục này lưu trữ các file .pid
sinh ra khi chạy dịch vụ, cũng như các file socket của PHP, MariaDB, PostgreSQL như php-cgi.sock
, mysql.sock
, v.v.
Trong quá trình phát triển, chương trình có thể truy cập php-fpm và cơ sở dữ liệu thông qua cổng TCP, cũng như thông qua các file socket. File socket thường có lưu lượng cao hơn, hiệu năng tốt và độ trễ thấp hơn so với cổng TCP.
Thư mục thành phần chung và thư viện phát triển
/Applications/ServBay/package/common
Thư mục này chứa tất cả các thành phần chung cần thiết cho ứng dụng ServBay, như các file *.dylib
.
Nếu cài đặt ServBay Development Library
, thư mục này sẽ có thêm thư mục include
, bên dưới lib
sẽ có các file *.la
, *.a
. Đây là các thư viện và file tiêu đề cần thiết cho việc biên dịch lại lần thứ hai.
Chú ý: Không xóa các file lib/*.dylib
, nếu không chương trình có thể không hoạt động do thiếu thư viện cần thiết.