Trong nhật ký lỗi của tôi, tôi nhận được
[khẩn cấp] 10619 # 0: máy chủ mặc định trùng lặp cho 0.0.0.0:80 trong /etc/nginx/sites-enabled/mysite.com:4
trên Dòng 4 tôi có:
server_name mysite.com www.mysite.com;
Bất kỳ đề xuất?
Trong nhật ký lỗi của tôi, tôi nhận được
[khẩn cấp] 10619 # 0: máy chủ mặc định trùng lặp cho 0.0.0.0:80 trong /etc/nginx/sites-enabled/mysite.com:4
trên Dòng 4 tôi có:
server_name mysite.com www.mysite.com;
Bất kỳ đề xuất?
Câu trả lời:
Bạn có thể có các tệp khác (chẳng hạn như default
cấu hình) /etc/nginx/sites-enabled
cần được xóa.
Sự cố này là do sự lặp lại của default_server
tham số được cung cấp cho một hoặc nhiều lệnh listen
trong tệp của bạn. Bạn có thể sẽ thấy chỉ thị xung đột này đọc một cái gì đó tương tự như:
listen 80 default_server;
Như tài liệu mô-đun lõi nginx cholisten
các trạng thái:
Các
default_server
tham số, nếu có, sẽ gây ra các máy chủ để trở thành máy chủ mặc định cho địnhaddress:port
cặp. Nếu không có lệnh nào códefault_server
tham số thì máy chủ đầu tiên cóaddress:port
cặp này sẽ là máy chủ mặc định cho cặp này.
Điều này có nghĩa là phải có một tệp hoặc server
khối khác được xác định trong cấu hình của bạn với default_server
thiết lập cho cổng 80. Nginx gặp phải điều đó đầu tiên trước mysite.com
tệp của bạn, vì vậy hãy thử xóa hoặc điều chỉnh cấu hình khác đó.
Nếu bạn đang đấu tranh để tìm nơi đặt các lệnh và tham số này, hãy thử tìm kiếm như sau:
grep -R default_server /etc/nginx
default_server
từ khóa mà chỉ có thể xuất hiện trong một cấu hình - bạn có thể có nhiều trang web được xác định vớilisten 80;
default_server
tham số chỉ có thể xuất hiện một lần cho mỗi address:port
cặp. Điều này có nghĩa là có thể (và phổ biến) default_server
xuất hiện nhiều lần trong một cấu hình nginx tổng thể, nhưng áp dụng cho các IP / cổng khác nhau.
Thực thi điều này tại thiết bị đầu cuối để xem các cấu hình xung đột đang lắng nghe cùng một cổng:
grep -R default_server /etc/nginx
Hệ điều hành Debian 10 + nginx. Trong trường hợp của tôi, tôi đã hủy liên kết trang "mặc định" là:
Nếu bạn đang sử dụng Digital Ocean, điều này có nghĩa là bạn cần truy cập / etc / nginx / sites-enable / và sau đó XÓA bằng cách sử dụng rm -R digitalocean và mặc định
Nó đã sửa nó cho tôi!
rm -R previousServerFolderName
sau đó làm sudo service nginx restart
để systemctl status nginx
hiển thị "hoạt động (đang chạy)"
server {}
nên cólisten
chỉ thị riêng .