Một trong những sự kết hợp máy chủ Web phổ biến nhất hiện nay có tính năng triển khai phần mềm máy chủ Web Nginx chạy trên phiên bản Ubuntu Server. Hệ thống này cực kỳ hiệu quả và dễ dàng cập nhật vì cả hai gói đều tiếp tục nhận được các bản cập nhật thường xuyên. Quản trị viên hệ thống thường cài đặt các bản cập nhật thông qua trình quản lý gói apt, vì Ubuntu Server không có giao diện đồ họa theo mặc định.
Việc nâng cấp Ubuntu Server đôi khi có thể tạo ra các lỗi bất thường và việc thiếu giao diện người dùng đồ họa này có thể gây khó khăn cho người mới bắt đầu khắc phục sự cố. Một vài lệnh đơn giản có thể là tất cả những gì cần thiết để sửa lỗi 404 Nginx sau khi nâng cấp Ubuntu.
Phương pháp 1:Sửa các trang lỗi Nginx bị thiếu
Nếu một trang web được lưu trữ trên AWS, máy chủ riêng hoặc bất kỳ cấu hình máy chủ nào khác trong ngăn xếp LEMP, trang web đó có thể ngừng hoạt động ngẫu nhiên sau khi nâng cấp Máy chủ Ubuntu. Cố gắng truy cập trang web từ trình duyệt Web, có thể trên một máy khác. Giả sử nó trả về lỗi 404, hãy truy cập Ubuntu Server CLI và chạy lệnh tail -f để xem tất cả các lỗi gần đây nhất.
Nếu nhật ký có lỗi như:
Hệ thống của bạn đang gặp lỗi thiếu trang. Bạn cũng có thể thấy 40x.html trong dòng này, mặc dù điều đó tương đối hiếm nếu trang web của bạn không hoạt động và đổi lại bạn gặp phải lỗi 404. Sử dụng lệnh ls để xem có gì ở đó không. Nếu không, bạn sẽ cần tạo mã HTML cho một trang có lỗi 50X.
Hãy nhớ rằng việc sử dụng cấu trúc thư mục mặc định thường là một vấn đề với trình quản lý gói. Cấu trúc này có thể ghi đè bất kỳ nội dung nào được lưu trữ ở đó. Bạn có thể thay đổi dòng docroot trong cấu hình Nginx để ngăn loại sự cố này nếu bạn được phép tạo cấu trúc thư mục tùy chỉnh.
Phương pháp 2:Tạo PHP Tìm đúng socket
Bạn cũng có thể tìm thấy lỗi đọc nội dung như thế này trong
Điều này có nghĩa là bạn có PHP7.0 đang chạy nhưng nó không chạy ở nơi cần thiết. Số phiên bản có thể khác nhau tùy thuộc vào cách bạn định cấu hình PHP. Quá trình cài đặt mặc định sẽ chạy từ hoặc , nhưng nếu bạn gặp phải lỗi này thì nhiều khả năng là không phải vậy.
Chạy các lệnh rồi tìm -name ‘php*fpm.sock’ để xem liệu có ổ cắm nào đang chạy ở đâu đó trên hệ thống của bạn hay không.
Giả sử bạn nhận được kết quả đầu ra dương thì bạn cần cập nhật cấu hình Nginx để hiển thị vị trí chính xác trong ổ cắm sẽ chạy. Đương nhiên, /directoryPath sẽ được thay thế bằng đường dẫn chính xác. Dòng php/php7.0-fpm.sock sẽ cập nhật cấu hình nếu bạn đang sử dụng tệp socket.
Người dùng ổ cắm TCP cũ hơn không sử dụng tệp ổ cắm có thể kiểm tra xem ổ cắm PHP hiện có đang nghe cổng 9000 hay không bằng cách chạy sudo netstat -tulpn | grep 9000 khỏi dòng lệnh. Nếu đúng như vậy, hãy mở fastcgi_pass của bạn trong nano, vi hoặc trình soạn thảo văn bản khác và thay đổi dòng unix:… để sử dụng 127.0.0.1:9000 để cập nhật ổ cắm.
Nếu không có cách nào trong số này hoạt động thì hãy đảm bảo rằng php7.0-fpm hoặc bất kỳ số phiên bản nào bạn đang sử dụng đang chạy bằng lệnh sudo systemctl restart php7.0-fpm, sau đó lặp lại quy trình trên.
Hãy nhớ rằng trong hầu hết các trường hợp, mục listen trong và giá trị cần phải giống nhau. Bạn có thể thử đối với cấu hình mới hơn hoặc 127.0.0.1:9000 đối với cấu hình kiểu cũ.
GIỚI THIỆU TÁC GIẢ
Mũi tên Kevin
Kevin Arrows là một chuyên gia công nghệ giàu kinh nghiệm và hiểu biết với hơn một thập kỷ kinh nghiệm trong ngành. Anh có chứng chỉ Chuyên gia Công nghệ được Chứng nhận của Microsoft (MCTS) và có niềm đam mê sâu sắc trong việc cập nhật những phát triển công nghệ mới nhất. Kevin đã viết nhiều về nhiều chủ đề liên quan đến công nghệ, thể hiện chuyên môn và kiến thức của mình trong các lĩnh vực như phát triển phần mềm, an ninh mạng và điện toán đám mây. Những đóng góp của ông cho lĩnh vực công nghệ đã được các đồng nghiệp công nhận và tôn trọng rộng rãi, đồng thời ông được đánh giá cao nhờ khả năng giải thích các khái niệm kỹ thuật phức tạp một cách rõ ràng và ngắn gọn.