10. tháng 5 2025
Sau khi khởi động lại máy chủ Ubuntu 20.04, tôi nhận thấy rằng Nginx không tự động khởi động.
Khi cố gắng khởi động Nginx thủ công, một lỗi đã xuất hiện, nhận định bóng đá keonhacai báo rằng cổng 80 đang bị chiếm dụng.
$ sudo nginx
[sudo] mật khẩu cho xxx:
nginx: [emerg] bind() đến 0.0.0.0:80 thất bại (98: Địa chỉ đã được sử dụng)
nginx: [emerg] bind() đến [::]:80 thất bại (98: Địa chỉ đã được sử dụng)
Rõ ràng, khả năng cao là hệ thống đã cài đặt sẵn Apache. Có thể khi khởi động lại hệ thống, Apache đã được khởi động trước Nginx, dẫn đến việc nó chiếm giữ cổng 80 trước.
$ sudo systemctl status apache2
● apache2.service - Apache HTTP Server
Tải: tải (/lib/systemd/system/apache2.service; kích hoạt; thiết lập mặc định của nhà cung cấp: kích hoạt)
Hoạt động: hoạt động (đang chạy) kể từ thứ Năm 2020-11-19 15:35:46 CST; 24 phút trước
Tài liệu:
Quá trình: 461 ExecStart=/usr/sbin/apachectl start (mã=thoát, trạng thái=0/THÀNH CÔNG)
PID Chính: 657 (apache2)
Nhiệm vụ: 8 (giới hạn: 4485)
Bộ nhớ: 36.0M
CGroup: /system.slice/apache2.service
├─ 657 /usr/sbin/apache2 -k start
├─ 717 /usr/sbin/apache2 -k start
├─ 718 /usr/sbin/apache2 -k start
├─ 719 /usr/sbin/apache2 -k start
├─ 720 /usr/sbin/apache2 -k start
├─ 721 /usr/sbin/apache2 -k start
├─1795 /usr/sbin/apache2 -k start
└─1876 /usr/sbin/apache2 -k start
Thật vậy, Apache đang hoạt động và chiếm cổng 80.
Đầu tiên, ta cần dừng Apache rồi vô hiệu hóa tính năng tự khởi động:
$ sudo systemctl stop apache2
$ sudo systemctl disable apache2
Trong trường hợp của tôi, Apache hoàn toàn không cần thiết, vì vậy tôi đã gỡ bỏ nó hoàn toàn:
$ sudo apt remove apache2
Khởi động lại hệ thống (reboot
), lần này Nginx đã có b29 club thể tự khởi động bình thường mà không gặp bất kỳ vấn đề nào.