Dưới đây là hướng dẫn chi tiết cách khắc phục lỗi khi thêm tên miền mới trên DirectAdmin với cài đặt nginx_apache
bằng CustomBuild 2, đặc biệt khi gặp lỗi liên quan đến cổng 8080
đã được sử dụng. Bài viết này sẽ giúp bạn hiểu nguyên nhân gây ra lỗi và các bước cụ thể để giải quyết vấn đề này một cách hiệu quả.
1. Giới Thiệu Về Vấn Đề
Khi bạn cài đặt Nginx_Apache bằng CustomBuild 2 trên DirectAdmin và cố gắng thêm một tên miền mới, bạn có thể gặp lỗi khiến Nginx không thể khởi động lại. Điều này dẫn đến việc các tệp tin website bị hỏng và không thể truy cập được.
Thông Báo Lỗi Khi Khởi Động Nginx:
[root@sv06 ~]# service nginx restart
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] listen() to 0.0.0.0:8080, backlog 511 failed (98: Address already in use)
nginx: configuration file /etc/nginx/nginx.conf test failed
2. Nguyên Nhân Gây Ra Lỗi
Lỗi này xảy ra do Nginx được cấu hình để sử dụng cổng 8080
, nhưng cổng này đã bị sử dụng bởi một dịch vụ khác trên server. Khi Nginx không thể sử dụng cổng 8080
, nó không thể khởi động lại, dẫn đến việc không thể phục vụ các tên miền mới được thêm vào.
3. Các Bước Khắc Phục Lỗi
Bước 1: Kiểm Tra Cổng 8080
Đang Được Sử Dụng Bởi Dịch Vụ Nào
Trước tiên, hãy xác định xem dịch vụ nào đang sử dụng cổng 8080
:
sudo netstat -tuln | grep 8080
Hoặc sử dụng ss
:
sudo ss -tuln | grep 8080
Giải Thích:
netstat -tuln
: Liệt kê tất cả các cổng đang nghe (-l
) cho các kết nối TCP (-t
) và UDP (-u
) dưới dạng số (-n
).ss -tuln
: Tương tự nhưnetstat
, nhưng nhanh hơn và cung cấp nhiều thông tin hơn.
Kết Quả:
- Nếu có một dịch vụ khác đang sử dụng cổng
8080
, bạn cần quyết định xem có nên dừng dịch vụ đó hay thay đổi cổng của Nginx.
Bước 2: Kiểm Tra Cấu Hình directadmin.conf
Kiểm tra xem có thiết lập tùy chỉnh cổng 80
trong file cấu hình của DirectAdmin hay không:
sudo nano /usr/local/directadmin/conf/directadmin.conf
Tìm Kiếm:
- Mở file
directadmin.conf
và tìm các dòng liên quan đến cổng80
hoặc8080
. - Đảm bảo rằng không có thiết lập nào tùy chỉnh cổng
80
hoặc8080
làm ảnh hưởng đến Nginx.
Ví Dụ:
# Ví dụ về thiết lập cổng trong directadmin.conf
# Đảm bảo rằng các thiết lập sau không gây xung đột
web_server=nginx_apache
apache_port=80
nginx_port=8080
Bước 3: Cập Nhật và Viết Lại Cấu Hình Với CustomBuild 2
Để sửa các cấu hình và cập nhật lại hệ thống, hãy sử dụng các lệnh sau:
cd /usr/local/directadmin/custombuild
./build update
./build rewrite_confs
Giải Thích:
./build update
: Cập nhật các gói và CustomBuild lên phiên bản mới nhất../build rewrite_confs
: Viết lại các file cấu hình dựa trên thiết lập hiện tại của bạn.
Bước 4: Khởi Động Lại Nginx
Sau khi đã cập nhật và viết lại cấu hình, hãy thử khởi động lại Nginx:
sudo service nginx restart
Giải Thích:
- Lệnh này sẽ khởi động lại dịch vụ Nginx và áp dụng các cấu hình mới.
Bước 5: Kiểm Tra Lại Cấu Hình và Trạng Thái Dịch Vụ
Đảm bảo rằng Nginx đang hoạt động đúng cách:
sudo service nginx status
Giải Thích:
- Kiểm tra trạng thái của Nginx để đảm bảo nó đang chạy mà không gặp lỗi nào.
Bước 6: Thêm Tên Miền Mới Lại
Bây giờ, hãy thử thêm tên miền mới trong DirectAdmin để kiểm tra xem lỗi đã được khắc phục hay chưa.
4. Giải Pháp Chi Tiết Cho Trường Hợp Cổng 8080
Đã Được Sử Dụng
Nếu bạn đã xác định rằng cổng 8080
đang được sử dụng bởi một dịch vụ khác và bạn không muốn dừng dịch vụ đó, bạn có thể thay đổi cổng mà Nginx sử dụng.
Bước 1: Thay Đổi Cổng Trong Cấu Hình Nginx
Mở file cấu hình Nginx:
sudo nano /etc/nginx/nginx.conf
Tìm và Thay Đổi:
- Tìm dòng
listen 8080;
và thay đổi sang một cổng khác không bị sử dụng, ví dụlisten 8081;
.
server {
listen 8081;
server_name yourdomain.com;
...
}
Bước 2: Cập Nhật directadmin.conf
Nếu Cần Thiết
Nếu DirectAdmin có thiết lập liên quan đến cổng 8080
, hãy thay đổi chúng tương ứng:
sudo nano /usr/local/directadmin/conf/directadmin.conf
Thay Đổi:
- Nếu có dòng
nginx_port=8080
, thay đổi thành cổng mới bạn đã chọn, ví dụnginx_port=8081
.
nginx_port=8081
Bước 3: Cập Nhật và Viết Lại Cấu Hình Với CustomBuild 2
Chạy lại các lệnh cập nhật:
cd /usr/local/directadmin/custombuild
./build update
./build rewrite_confs
Bước 4: Khởi Động Lại Nginx
sudo service nginx restart
Bước 5: Kiểm Tra Lại
Đảm bảo rằng Nginx đang chạy trên cổng mới và không gặp lỗi:
sudo service nginx status
Kiểm Tra Kết Quả:
- Mở trình duyệt và truy cập vào
https://yourdomain.com
để kiểm tra xem website hoạt động bình thường hay không.
5. Xử Lý Các Trường Hợp Khác
Trường Hợp: Không Thể Xóa Domain Trong DirectAdmin
Nếu bạn đã cố gắng thêm domain nhưng vẫn gặp lỗi “Already Exists” sau khi xóa, hãy thực hiện các bước sau:
Bước 1: Kiểm Tra Trong DNS Administration
- Truy cập DNS Administration:
- Truy cập:
https://your-server-ip:2222/CMD_DNS_ADMIN
- Truy cập:
- Tìm và Xóa Domain Nếu Còn Tồn Tại:
- Nếu domain vẫn xuất hiện trong danh sách, hãy xóa nó.
Bước 2: Sử Dụng SSH Để Xóa Domain Trực Tiếp
Nếu bạn không thể xóa domain qua giao diện DirectAdmin, hãy sử dụng quyền root để xóa domain trong file domains.list
.
- Kết Nối Vào Server Qua SSH Với Quyền Root:
ssh root@your_server_ip
- Mở File
domains.list
:
nano /usr/local/directadmin/data/users/yourusername/domains.list
- Tìm và Xóa Dòng Chứa Domain:
- Tìm dòng chứa tên miền cần xóa và xóa nó.
- Lưu File và Thoát:
- Nhấn
CTRL + O
để lưu vàCTRL + X
để thoát.
- Nhấn
- Khởi Động Lại DirectAdmin:
service directadmin restart
6. Tổng Kết:
Nếu Bạn Sử Dụng Hosting Thông Thường:
- Kiểm Tra Trùng Lặp Domain:
- Xác định xem bạn có đang thêm trùng domain đã thêm hay không.
- Liên Hệ Nhà Cung Cấp Hosting:
- Nếu không trùng, hãy liên hệ với nhà cung cấp hosting để kiểm tra lỗi.
Nếu Bạn Sử Dụng VPS:
- Sử Dụng SSH Với Quyền Root:
- Xóa domain trong file
domains.list
.
- Xóa domain trong file
- Cập Nhật Cấu Hình Và Khởi Động Lại Dịch Vụ:
- Chạy các lệnh cập nhật và khởi động lại Nginx.
7. Lưu Ý Quan Trọng:
- Sao Lưu Dữ Liệu: Trước khi thực hiện bất kỳ thay đổi nào, hãy đảm bảo bạn đã sao lưu dữ liệu quan trọng để tránh mất mát không mong muốn.
- Kiểm Tra Cấu Hình: Luôn kiểm tra cấu hình sau khi thay đổi để đảm bảo không có lỗi cú pháp.
- Quản Lý Quyền Truy Cập: Đảm bảo chỉ có người quản trị hoặc người có quyền truy cập cần thiết mới thực hiện các thay đổi trên server.
8. Kết Luận
Bằng cách làm theo các bước hướng dẫn trên, bạn có thể dễ dàng xác định nguyên nhân và khắc phục sự cố để đảm bảo rằng Nginx hoạt động bình thường và có thể phục vụ các tên miền mới mà bạn thêm vào.
Chúc bạn thành công trong việc quản lý và khắc phục các sự cố trên DirectAdmin Hosting! Nếu bạn có bất kỳ câu hỏi nào thêm, hãy cho tôi biết nhé!