Nginx + docker php-fpm
Nếu bạn là người mới sử dụng Docker, tôi khuyên bạn nên đọc nhiều phần "Docker là gì?" Show Vì bạn vẫn đang đọc nên tôi cho rằng bạn đã quen thuộc với Docker và muốn chạy các ứng dụng PHP của mình trong các thùng chứa. Rốt cuộc, ai muốn giải quyết việc cài đặt tất cả các phụ thuộc trên máy trạm của riêng họ hoặc quản lý một loạt máy ảo cho nhiều dự án của họ? Chúng tôi sẽ triển khai một ứng dụng PHP đơn giản bằng cách sử dụng kho Docker chính thức cho PHP và Nginx. Có một số kho Docker kết hợp PHP-FPM với Nginx, nhưng nếu bạn chỉ dựa vào các kho chính thức, thì bạn hoàn toàn an toàn và đúng cách Trước tiên, hãy cài đặt Docker trên máy của bạn nếu bạn chưa cài đặt. Yêu cầu thứ hai là cài đặt Docker Compose. Chúng tôi có các công cụ cần thiết và mục tiêu trong tâm trí thiết lập NginxDựa trên yêu cầu của chúng tôi, Nginx sẽ là một vùng chứa. Vùng chứa này sẽ chạy hình ảnh Nginx chính thức. Vì chúng tôi đang sử dụng Docker Compose, bây giờ chúng tôi sẽ tạo docker-compose sau. tập tin yml. YAML này sẽ chạy hình ảnh Nginx mới nhất và đặt cổng 80 thành cổng 8080
Bây giờ chúng ta có thể chạy container
Bây giờ bạn sẽ thấy trang chào mừng của Nginx trên cổng 8080 qua localhost hoặc IP của máy cục bộ của bạn, thông qua trình duyệt bạn chọn Bây giờ chúng ta có một máy chủ web đang chạy, hãy cấu hình thêm một chút. Trước tiên, chúng ta cần cập nhật docker-compose. yml để gắn thư mục cục bộ mà chúng ta cần bên trong bộ chứa Nginx của mình. Tôi sẽ sử dụng một thư mục có tên src, nằm trong cùng thư mục với docker-compose của chúng tôi. tập tin yml
Bước tiếp theo là cho Nginx biết rằng thư mục này tồn tại Hãy tạo mặc định sau. conf ở cùng cấp độ với docker-compose. tập tin yml
Chúng tôi sẽ xem xét những gì chúng tôi đang làm ở đây ngay từ đầu. chỉ số. html sẽ là chỉ mục mặc định của chúng tôi, tên máy chủ là phpfpm. local và nó sẽ trỏ (Cập nhật tệp máy chủ của bạn nếu cần) vào môi trường Docker của bạn (Linux. máy chủ cục bộ, Mac hoặc Windows. IP cục bộ). Chúng tôi vẫn đặt nhật ký trong trường hợp truy cập hoặc lỗi, để sau này chúng tôi cũng có thể xem nhật ký trong nhật ký soạn thảo Docker của mình. Cuối cùng, chúng tôi chỉ định thư mục gốc mà chúng tôi đã gắn trong vùng chứa Để tiện ích mở rộng này có hiệu lực, chúng tôi cần thực hiện thêm một thay đổi đối với docker-compose. tập tin yml
Điều này thêm mặc định. conf vào thư mục nơi Nginx tìm kiếm các tệp cấu hình để đưa vào. Bây giờ bạn có thể đặt một chỉ mục. html với bất kỳ nội dung nào trong thư mục src Chúng tôi bắt đầu lại vùng chứa của mình
Bây giờ hãy nhìn vào nội dung của chỉ mục. html trong trình duyệt của bạn dưới phpfpm. địa phương. 8080 Thêm PHP FPMBây giờ máy chủ web Nginx của chúng tôi đã hoạt động, chúng tôi có thể đưa PHP vào hoạt động. Đầu tiên, chúng tôi lấy repo PHP8-FPM chính thức và liên kết nó với bộ chứa Nginx của chúng tôi Những điều sau đây cần được lưu ý. PHP chạy trong môi trường riêng của nó (vùng chứa) và không có quyền truy cập vào mã. Chúng ta cũng cần gắn thư mục src trong bộ chứa PHP. Bằng cách này, Nginx sẽ có thể phục vụ tất cả các tệp tĩnh và PHP sẽ có thể tìm thấy các tệp của nó để diễn giải docker-compose của chúng tôi. yml bây giờ sẽ trông như thế này
Tiếp theo, bạn cần định cấu hình Nginx để sử dụng bộ chứa PHP FPM để diễn giải các tệp PHP Mặc định được cập nhật của chúng tôi. conf
Để kiểm tra các thay đổi của chúng tôi, chúng tôi đổi tên chỉ mục. tệp html để lập chỉ mục. php và thay thế nội dung của nó ________số 8Và cuối cùng nhưng không kém phần quan trọng
Chúng tôi quay lại trình duyệt của chúng tôi. Sau khi làm mới, chúng tôi thấy thông tin PHP đáng thèm muốn Giờ đây, bạn có thể chạy bất kỳ ứng dụng PHP đơn giản nào bằng bộ chứa Docker, sử dụng hình ảnh chính thức cho Nginx và PHP Bạn có thể tìm thấy dự án ví dụ tại đây. Hướng dẫn và cấu hình này, không bao giờ được sử dụng trên máy chủ sản xuất và không phải là ví dụ về phương pháp hay nhất. Bài đăng này nhằm mục đích giới thiệu về Docker Compose cho người mới bắt đầu bạn muốn tạo một miền cục bộ trên mạng riêng của mình để các thiết bị hoặc dịch vụ khác có thể truy cập được, hãy đọc kỹ bài viết này. Làm cách nào để dễ dàng gán miền cục bộ tĩnh cho Raspberry Pi?
Các bài viết khác của tác giả Mục lụcXINH PrevPrevious Article5 lỗi tiếp thị kỹ thuật số bạn nên tránh Bài viết tiếp theoCác phương pháp hay nhất để bảo vệ trang web WordPress của bạn khỏi các cuộc tấn công mạngTiếp theo Joseph Zimmerman nói. Xin chào, Không chắc bạn đã biết chưa vì trang web này đã được một năm tuổi nhưng docker-compose thứ hai của bạn. khối yml có lỗi đánh máy trong đó Nó có "-. /src. /src” thay vì “-. /src. /var/www/html” đó là những gì tất cả các khối tệp yml khác có Chạy nó như một lỗi "không tìm thấy tệp" trên trang web. Thay đổi nó thành những gì người khác có, hoạt động Cảm ơn bạn cho hướng dẫn này
Stefan Chrobak nói. Bài đăng đầy đủ, cảm ơn rất nhiều, nếu tìm thấy hai điều quan trọng, nếu bạn muốn sử dụng nó cục bộ và cũng đã chạy một máy chủ web cục bộ (apache, nginx, etx…) hoặc/và chạy một Máy chủ DB cục bộ (mysql, v.v.). ) Thông thường, máy chủ web cục bộ theo dõi cổng 8080, vì vậy chúng tôi gặp sự cố khi cố gắng chạy Vùng chứa trên cùng một cổng 80. 80. Đầu tiên hãy tìm các cổng (web) cục bộ miễn phí. Tôi chỉnh sửa docker-compose. yml ở dòng 13 (dịch vụ. nginx. cổng). Cũng phải thay đổi cổng DB-Server ở dòng 42 (các dịch vụ. mariadb. cổng), Bây giờ tôi có một câu hỏi. tôi phải viết gì trong /etc/hosts để sử dụng (Xin lỗi vì tiếng Anh của tôi không tốt)
|