Điểm:3

bind() đến 0.0.0.0:80 không thành công (98: Địa chỉ đã được sử dụng) mặc dù chỉ có NGINX đang chạy

lá cờ mp

LƯU Ý: Hóa ra là không có vấn đề gì cả. Xem bình luận để biết chi tiết.

Tôi vừa có phiên bản mới từ Oracle Cloud, Ubuntu 20.04 được tối thiểu hóa. Vì tôi đang cố chạy DokuWiki trong phiên bản này, nên tôi đã cài đặt các gói sau:

sudo apt cài đặt công cụ mạng lsof wget nano
sudo apt cài đặt php7.4-fpm php7.4-xml php7.4-mbstring imagemagick nginx certbot python3-certbot-nginx

tôi chưa bao giờ chạm vào nginx.conf Trong /etc/nginx nhưng đã xóa mặc định liên kết tượng trưng trong /etc/sites-enabled và đặt tập tin conf của riêng tôi vào /etc/nginx/conf.d với tên ví dụ.com.conf(tên thật đã được chỉnh sửa lại)

người phục vụ {
    nghe 80 default_server;
    server_name example.com;
    gốc /var/www/dokuwiki;
    chỉ mục index.php index.html;

    địa điểm / { 
        try_files $uri $uri/ @dokuwiki;
    }

    địa điểm @dokuwiki {
        viết lại ^/_media/(.*) /lib/exe/fetch.php?media=$1 cuối cùng;
        viết lại ^/_detail/(.*) /lib/exe/detail.php?media=$1 cuối cùng;
        viết lại ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
        viết lại ^/(.*) /doku.php?id=$1&$args cuối cùng;
    }

    vị trí ~ \.php$ {
        bao gồm đoạn trích/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        bao gồm fastcgi_params;
    }
    
    vị trí ~ /(conf|bin|inc|nhà cung cấp)/ {
        Phủ nhận tất cả;
    }
    
    vị trí ~/dữ liệu/{
        nội bộ;
    }
}

và tất nhiên, /var/www/dokuwiki được sở hữu bởi dữ liệu www(cả người dùng và nhóm) bằng lệnh này:

sudo chown -R www-data:www-data /var/www/dokuwiki

Vấn đề là, tôi không thể truy cập trang web của mình. khi tôi gõ nginx trong thiết bị đầu cuối, nó hét lên như thế này:

nginx: [emerg] bind() đến 0.0.0.0:80 không thành công (98: Địa chỉ đã được sử dụng)
nginx: [emerg] bind() đến 0.0.0.0:80 không thành công (98: Địa chỉ đã được sử dụng)
nginx: [emerg] bind() đến 0.0.0.0:80 không thành công (98: Địa chỉ đã được sử dụng)
nginx: [emerg] bind() đến 0.0.0.0:80 không thành công (98: Địa chỉ đã được sử dụng)
nginx: [emerg] bind() đến 0.0.0.0:80 không thành công (98: Địa chỉ đã được sử dụng)
nginx: [emerg] vẫn không thể liên kết ()

Nhưng, tôi đã kiểm tra không có apache2-like và không có quá trình nào khác lắng nghe cổng 80.

root@redacted:~# lsof -i :80
LỆNH PID NGƯỜI DÙNG LOẠI FD KÍCH THƯỚC THIẾT BỊ/TẮT TÊN NÚT
nginx 1296 root 6u IPv4 32966 0t0 TCP *:http (LẮNG NGHE)
nginx 1297 dữ liệu www 6u IPv4 32966 0t0 TCP *:http (LẮNG NGHE)
nginx 1298 dữ liệu www 6u IPv4 32966 0t0 TCP *:http (LẮNG NGHE)

root@redacted:~# systemctl status nginx
â nginx.service - Máy chủ web hiệu suất cao và máy chủ proxy ngược
     Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; giá trị đặt trước của nhà cung cấp: đã bật)
     Hoạt động: hoạt động (đang chạy) kể từ Thứ Bảy 2021-11-06 13:24:23 UTC; 16 phút trước
       Tài liệu: man:nginx(8)
    Quá trình: 1294 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process bật; (mã=đã thoát, trạng thái=0/THÀNH CÔNG)
    Quá trình: 1295 ExecStart=/usr/sbin/nginx -g daemon on; master_process bật; (mã=đã thoát, trạng thái=0/THÀNH CÔNG)
   PID chính: 1296 (nginx)
      Nhiệm vụ: 3 (giới hạn: 1110)
     Bộ nhớ: 3.1M
     Nhóm C: /system.slice/nginx.service
             ââ1296 nginx: master process /usr/sbin/nginx -g daemon on; master_process bật;
             ââ1297 nginx: worker process
             ââ1298 nginx: worker process

Ngày 06 tháng 11 13:24:23 đã chỉnh sửa lại systemd[1]: Khởi động máy chủ web hiệu suất cao và máy chủ proxy ngược...
06 tháng 11 13:24:23 redacted systemd[1]: Bắt đầu Một máy chủ web hiệu suất cao và một máy chủ proxy đảo ngược.

root@redacted:~# fuser -v 80/tcp
                     LỆNH TRUY CẬP PID NGƯỜI DÙNG
80/tcp: root 1296 F....nginx
                     dữ liệu www 1297 F.... nginx
                     dữ liệu www 1298 F....nginx

Vì tôi đã không chạm vào nginx.conf, nginx -t đang nói rằng không có lỗi. nhưng kiểm tra .conf tập tin không thành công:

root@redacted:~# nginx -tc /etc/nginx/conf.d/example.com.conf
nginx: [emerg] Chỉ thị "máy chủ" không được phép ở đây trong /etc/nginx/conf.d/example.com.conf:1
nginx: kiểm tra tệp cấu hình /etc/nginx/conf.d/example.com.conf không thành công

Nhưng tôi nghĩ điều này không liên quan đến vấn đề này (mặc dù không chắc chắn).

Ngay cả việc hủy tất cả quá trình bằng cổng 80 cũng không hoạt động.

Tôi đã tìm kiếm giải pháp cho vấn đề này trên google nhưng không tìm thấy giải pháp nào hiệu quả.

tái bút Tôi đã mở cổng từ iptables và bảng điều khiển web OC. Vì vậy, điều cổng sẽ không phải là lý do của vấn đề này tôi nghĩ.

lá cờ in
`Trạng thái systemctl` của bạn cho thấy nginx đang chạy. Bạn cần dừng hoặc khởi động lại thay vì khởi động thủ công.
tetratheta avatar
lá cờ mp
@GeraldSchneider Điều đó không giải quyết được vấn đề. Sau khi khởi động lại, `nginx` vẫn hiển thị lỗi liên kết.
tetratheta avatar
lá cờ mp
Ồ, tôi đã hiểu nhầm nhận xét của Gerald: Bây giờ nó đang hoạt động. Trên thực tế, không có vấn đề gì cả. Lệnh `nginx` đang cố khởi chạy một quy trình NGINX khác, thay vì hiển thị nhật ký (đó là những gì tôi nghĩ). Cảm ơn!
djdomi avatar
lá cờ za
@tetratheta vui lòng nhắc thêm câu trả lời và chấp nhận nó nếu không chúng tôi sẽ nhắc nhở cho câu hỏi này
Điểm:1
lá cờ mp

Tôi không biết liệu tôi có thể đăng câu trả lời cho câu hỏi của riêng mình hay không nhưng đây là câu trả lời.

Trên thực tế, tôi đã hiểu lầm những gì nginx lệnh nào. Tôi đã nghĩ rằng điều này sẽ hiển thị cho tôi nhật ký của quy trình NGINX hiện tại, nhưng thực tế nó đang cố tạo quy trình NGINX mới, quy trình này sẽ bị chặn bởi quy trình NGINX hiện tại. Đó là lý do tại sao nó cho tôi thấy [emerg] bind() đến 0.0.0.0:80 không thành công (98: Địa chỉ đã được sử dụng) lỗi với tôi.

Vì vậy, tóm lại, không có vấn đề gì với môi trường của tôi. Mọi thứ đều ổn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.