Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint
Một đoạn trích từ PHP & MySQL Novice to Ninja, 7th Edition, một hướng dẫn thực tế để tìm hiểu tất cả các công cụ, nguyên tắc và kỹ thuật cần thiết để tạo một ứng dụng web chất lượng, được cung cấp bên dưới. Trong bài học đầu tiên của loạt bài này, chúng ta sẽ tìm hiểu cách định cấu hình Docker cho môi trường phát triển PHP của bạn Show
Cùng nhau, chúng ta sẽ khám phá thế giới xây dựng trang web và khám phá vô số công cụ động, khái niệm và khả năng mà chúng mở ra khi chúng ta thực hiện những bước đầu tiên vượt ra khỏi thế giới tĩnh của việc xây dựng trang web bằng các công nghệ HTML thuần túy phía máy khách . Không bao giờ nhìn xuống, bất kể bạn làm gì Được rồi, có lẽ bạn nên nhìn xuống; . Nhưng hãy nhớ rằng bạn đã được cảnh báo Giống như nướng bánh, bạn sẽ cần các nguyên liệu trước khi có thể bắt đầu sử dụng công thức, vì vậy hãy thu thập các công cụ bạn cần cho công việc trước khi bắt đầu xây dựng trang web động đầu tiên của mình. Tôi sẽ trình bày cách tải xuống và cài đặt các gói phần mềm cần thiết trong chương này Bạn có thể quen với việc tải các tệp tạo nên trang web của mình lên một vị trí cụ thể, chẳng hạn như dịch vụ lưu trữ web mà bạn đã trả tiền, không gian web do nhà cung cấp dịch vụ internet của bạn cung cấp hoặc có thể là máy chủ web do bộ phận CNTT thiết lập . Nếu bạn sao chép các tệp của mình vào bất kỳ vị trí nào trong số này, một chương trình được gọi là máy chủ web sẽ có thể định vị và cung cấp các bản sao của các tệp đó bất cứ khi nào một trình duyệt web như Microsoft Edge, Internet Explorer hoặc Google yêu cầu chúng. Các chương trình phần mềm máy chủ web phổ biến mà bạn có thể đã nghe nói đến bao gồm Máy chủ HTTP Apache (Apache), NGINX và Dịch vụ thông tin Internet PHP là ngôn ngữ kịch bản phía máy chủ có thể tải xuống và sử dụng miễn phí. Khi cài đặt PHP, máy chủ web của bạn sẽ có thể chạy các chương trình nhỏ được gọi là tập lệnh PHP có thể thực hiện các tác vụ như truy xuất thông tin cập nhật từng phút từ cơ sở dữ liệu và sử dụng nó để tạo nhanh một trang web trước khi gửi đi. Phần lớn cuốn sách này sẽ dành cho việc tạo các tập lệnh PHP để thực hiện điều đó. Trước tiên, bạn phải có một cơ sở dữ liệu để các tập lệnh PHP của bạn truy xuất dữ liệu từ đó và đó là nơi MySQL xuất hiện. Chúng ta sẽ đi vào chi tiết hơn về chức năng và hoạt động của MySQL sau, nhưng nói một cách ngắn gọn, đó là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) có thể tổ chức và quản lý nhiều dữ liệu một cách hiệu quả trong khi theo dõi xem tất cả dữ liệu đó có liên quan như thế nào . Với các ngôn ngữ kịch bản phía máy chủ như PHP, MySQL cũng giúp truy cập thông tin đó cực kỳ đơn giản. Và, giống như PHP, nó hoàn toàn miễn phí cho hầu hết các mục đích sử dụng Tôi sẽ cung cấp các hướng dẫn từng bước hoạt động trên các phiên bản Windows, macOS và Linux hiện tại, vì vậy, bất kể bạn đang sử dụng loại máy tính nào, các hướng dẫn bạn cần sẽ có ngay tại đây. Mục tiêu của chương đầu tiên này là giúp bạn thiết lập một máy chủ web được trang bị PHP và MySQL Máy chủ web của riêng bạnNếu máy chủ web của bạn được trang bị như vậy, thì tin tốt là bạn sẽ có thể xuất bản trang web đầu tiên của mình mà không cần phải tìm máy chủ web hỗ trợ các công nghệ phù hợp. PHP và MySQL có thể đã được cài đặt trên máy chủ lưu trữ web hiện tại của bạn, đó là một trong những lý do khiến PHP và MySQL trở nên phổ biến Khi tạo các trang web tĩnh, bạn chỉ cần tải các tệp HTML của mình từ ổ cứng vào trình duyệt để xem chúng xuất hiện như thế nào, điều này tốt vì trình duyệt web có thể đọc và hiểu mã HTML mà không cần bất kỳ phần mềm bổ sung nào. Tuy nhiên, trình duyệt web của bạn cần một số hỗ trợ khi nói đến các trang web động được tạo bằng PHP và MySQL vì trình duyệt web không thể hiểu được các tập lệnh PHP. Thay vào đó, các tập lệnh PHP bao gồm các hướng dẫn để máy chủ web PHP có kinh nghiệm thực thi nhằm tạo mã HTML thân thiện với trình duyệt Bạn vẫn muốn có thể tự chạy các tập lệnh PHP mà không phải sử dụng máy chủ của người khác, vì vậy bạn sẽ cần thiết lập máy chủ web của riêng mình ngay cả khi bạn đã có máy chủ web hỗ trợ PHP. Nhưng đừng lo, bạn không cần bất kỳ phần cứng mới lạ mắt nào. Từ "máy chủ" có thể khiến bạn hình dung ra một căn phòng lớn, có máy lạnh chứa đầy những chiếc máy tính lớn trên giá đỡ. Máy tính để bàn hoặc máy tính xách tay của bạn sẽ hoạt động mà không gặp sự cố Bạn chỉ có thể xem kết quả của các tập lệnh PHP trên máy chủ lưu trữ web của mình bằng cách điều hướng đến URI của tệp bạn đã tạo sau khi viết chúng trong trình chỉnh sửa, mở ứng dụng khách FTP hoặc SSH của bạn và tải chúng lên máy chủ. Điều này thật tẻ nhạt và chiếm thời gian quý báu mà lẽ ra bạn có thể sử dụng để viết mã, nhưng nếu bạn mắc lỗi và xảy ra lỗi, bạn sẽ cần phải thay đổi mã, quay lại chương trình FTP của mình, tải lại tệp lên và . Bạn sẽ có thể lưu tệp trong trình chỉnh sửa của mình và xem các thay đổi trong trình duyệt của mình bằng cách làm mới trang bằng cách chạy một máy chủ trên PC của riêng bạn, đây là một lợi ích tiết kiệm thời gian đáng kể (nhưng không phải là duy nhất). lợi ích của việc chạy một máy chủ trên máy tính của bạn, ngay cả khi bạn đã có một máy chủ web đáng tin cậy Vậy làm thế nào để bạn thiết lập một máy chủ web trên máy tính của mình? 1. Cài đặt thủ công tất cả các thành phần phần mềm cho máy chủMáy chủ web là Apache và giống như hầu hết các phần mềm, nó đi kèm với trình cài đặt giúp bạn dễ dàng thiết lập nó trên PC và bắt đầu phục vụ các trang web. Để làm cho nó hoạt động để tạo các trang web PHP, có hàng trăm tùy chọn cấu hình và trừ khi bạn biết mình đang làm gì, có thể mất nhiều thời gian và gây nhầm lẫn Chỉ riêng một máy chủ web là không đủ cho mục đích chạy các tập lệnh PHP của chúng tôi; . Tương tự như Apache, có rất nhiều tùy chọn và các cấu hình mặc định được thiết kế để chạy một trang web trực tiếp, điều không mong muốn đối với việc phát triển mã vì không có lỗi nào được hiển thị. Nếu bạn mắc lỗi, bạn sẽ nhận được một trang trống không có dấu hiệu cho thấy điều gì đã xảy ra; . Để khắc phục điều này, bạn cần định cấu hình cài đặt PHP theo cách thủ công và sửa đổi cài đặt để hiển thị thông báo lỗi và cung cấp các công cụ khác giúp việc phát triển trở nên thú vị hơn Ngoài ra, bạn phải thiết lập Apache để giao tiếp với PHP sao cho bất cứ khi nào máy khách kết nối với máy chủ và yêu cầu tệp có phần mở rộng " 5", trước tiên, tệp sẽ được gửi tới PHP để xử lýBạn cũng sẽ cần MySQL, vì vậy bạn sẽ cần cài đặt và định cấu hình thủ công nếu bạn muốn làm theo cuốn sách này Ngay cả khi bạn là một chuyên gia, bạn sẽ mất ít nhất một giờ để mọi thứ hoạt động vì mỗi Apache, MySQL và PHP đều có hàng tá tùy chọn cấu hình Khả năng cấu hình máy chủ chắc chắn là một kỹ năng hữu ích, nhưng nó không giúp bạn học cách lập trình bằng PHP — đó là điều bạn thực sự quan tâm nếu bạn đang đọc cuốn sách này. Cài đặt thủ công đòi hỏi một lượng kiến thức hoặc nghiên cứu đáng kể và nằm ngoài phạm vi của cuốn sách này Nếu bạn thực sự muốn cài đặt và định cấu hình thiết lập của mình theo cách thủ công, hãy xem hướng dẫn cài đặt PHP trên Windows của chúng tôi. Tùy chọn này không dành cho người yếu tim và ngay cả đối với các chuyên gia dày dặn kinh nghiệm cũng rất dễ bỏ lỡ một số cài đặt quan trọng. Tuy nhiên, có một số tùy chọn tuyệt vời nếu bạn không muốn lo lắng về việc cài đặt và định cấu hình riêng từng phần mềm thay thế Thiết lập máy chủ 2. Cài đặt đóng gói sẵnDo những khó khăn khi cài đặt thủ công, các nhà phát triển đã tạo các bản cài đặt đóng gói sẵn, bao gồm một trình cài đặt duy nhất thiết lập PHP, Apache, MySQL và các chương trình thích hợp khác với các cài đặt phù hợp. Ví dụ nổi tiếng nhất của loại gói này là XAMPP. Các lựa chọn thay thế cho X (bất kỳ hệ điều hành nào), Apache, MySQL (hay cụ thể hơn là MariaDB, một "nhánh" của MySQL với giấy phép tốt hơn), PHP và Perl bao gồm WAMP (Windows, Apache, MySQL và PHP), LAMP ( Điều này rõ ràng là đơn giản hơn nhiều so với cài đặt thủ công từng phần mềm và nó không yêu cầu bạn học cách định cấu hình máy chủ của mình, nhưng vẫn có một số vấn đề bạn có thể gặp phải với phương pháp này, được liệt kê bên dưới
Bản cài đặt đóng gói sẵn tốt hơn nhiều so với bản cài đặt, nhưng do những vấn đề này, chúng không lý tưởng. May mắn thay, có một phương pháp thậm chí còn tốt hơn Thiết lập máy chủ 3. máy chủ ảoMột "máy chủ ảo", có chức năng giống như một máy chủ web trên một máy tính khác, là cách thứ ba để khởi động và chạy máy chủ. Bạn có thể kết nối với máy tính này từ PC của mình và truy cập nó bằng bất kỳ hệ điều hành nào như thể nó được đặt ở một nơi khác trên thế giới Là một nhà phát triển web, bạn có thể quen thuộc với các công cụ như phần mềm ảo hóa hiện đại như VirtualBox và các công cụ do VMware cung cấp. tức là một dịch vụ hữu ích do Microsoft cung cấp cho phép bạn tải xuống các máy ảo chạy các phiên bản khác nhau của Windows, Microsoft Edge và Internet Explorer. Ví dụ: nếu bạn muốn xem trang web của mình xuất hiện như thế nào trong Internet Explorer 8 trên Windows XP, bạn có thể tải xuống máy ảo có liên quan và chạy nó trong Cửa sổ trên máy tính để bàn Windows 10/macOS/Linux mà không cần phải thực sự cài đặt và chạy Windows Bạn có thể sử dụng phần mềm như VirtualBox để chạy một hệ điều hành bên trong một hệ điều hành khác, chẳng hạn như bạn có thể chạy Windows 7 trong một máy ảo để kiểm tra Internet Explorer 8. Chúng tôi có thể chạy một máy chủ web Linux có cài đặt PHP, Apache và MySQL trên Windows hoặc macOS của chúng tôi Điều này cho phép bạn sử dụng chính xác các phiên bản PHP, MySQL và Apache đang được máy chủ lưu trữ web của bạn sử dụng trên cùng một hệ điều hành, ngăn ngừa mọi sự cố có thể tồn tại do sự khác biệt về phiên bản hoặc sự khác biệt về khả năng tương thích của hệ điều hành Một trong những lợi ích lớn nhất là bạn có thể tải xuống các máy ảo được cấu hình sẵn, chẳng hạn như máy ảo Windows XP và Internet Explorer 8 do Microsoft cung cấp hoặc máy ảo đã cài đặt và cấu hình PHP, Apache và MySQL để hoạt động cùng nhau Hạn chế của tất cả những điều này là cần phải cài đặt toàn bộ hệ điều hành để chạy mã của bạn, điều này dẫn đến việc tải xuống bổ sung. Để chuyển từ PHP 7 sang PHP 8, yêu cầu tải xuống một bản sao hoàn toàn mới của hệ điều hành và các gói bị khóa đối với bất kỳ thứ gì được cung cấp bởi máy ảo mà bạn tải xuống Thiết lập máy chủ 4. dockerMỗi ứng dụng (hoặc "dịch vụ" theo thuật ngữ của Docker) chạy trong môi trường biệt lập của riêng nó được gọi là vùng chứa, đây là công nghệ dựa trên ảo hóa Nhà phát triển phần mềm có thể sử dụng Docker để cung cấp tệp cấu hình liệt kê tất cả ứng dụng họ cần để chạy ứng dụng, chẳng hạn như PHP, MySQL, Apache và các chương trình khác Khi bạn khởi chạy ứng dụng, Docker sẽ tự động tải xuống và cài đặt mọi phần mềm được liệt kê trong tệp cấu hình, coi nó như thể đó là ứng dụng của riêng nó Có rất nhiều lợi thế và chi phí thấp hơn nhiều so với bạn có thể dự đoán
Tùy chọn tốt nhất ngay bây giờ để thiết lập môi trường phát triển PHP là Docker; . " Bắt đầuTôi đã cung cấp tất cả cấu hình cho bạn, nhưng trước khi bắt đầu, bạn cần cài đặt Docker. Chúng tôi sẽ thiết lập môi trường phát triển bằng Docker trước khi viết bất kỳ mã PHP nào và phát triển trang web của bạn Cài đặt trên WindowsTrước tiên, hãy truy cập trang web Docker và tải xuống và cài đặt phiên bản Docker mới nhất cho Windows Tạo một thư mục trên máy tính nơi bạn muốn lưu trữ trang web của mình sau khi cài đặt Docker (và khởi động lại nếu được nhắc). Bạn có thể lưu trữ nó trên máy tính để bàn, ổ cứng ngoài, thư mục 2 của bạn và những nơi khác, nhưng hãy chắc chắn rằng bạn biết nó ở đâu vì bạn sẽ cần truy cập nó thường xuyênWindows 10 giúp việc mở một thiết bị đầu cuối trở nên đơn giản, đây là một kỹ năng khác mà bạn sẽ cần. Đảm bảo rằng bạn thực hiện việc này từ menu Tệp chứ không phải menu bắt đầu, vì nhấp vào nó từ Tệp sẽ mở dấu nhắc lệnh trong thư mục bạn đã chọn, với thư mục được mở trong trình khám phá tệp, hãy chọn menu Tệp ở trên cùng bên trái của cửa sổ Mở PowerShell và đảm bảo đường dẫn mà nó hiển thị là đường dẫn bạn muốn, chẳng hạn như 3, trước khi chuyển sang phần "Bắt đầu với Docker" bên dướiTại thời điểm viết bài (tháng 9 năm 2021), PowerShell đã được đổi tên thành Windows Terminal và được truy cập theo một cách khác trong bản dựng xem trước gần đây nhất của Windows 11
Lưu ý rằng sau khi Windows 11 được phát hành và cuốn sách này đã được xuất bản, những hướng dẫn này có thể đã thay đổi Cài đặt trên macOSCài đặt Docker cho macOS trước bằng cách tải xuống từ trang web Docker Tạo một thư mục trên máy tính của bạn, nơi bạn muốn lưu trữ trang web của mình sau khi cài đặt Docker (và khởi động lại nếu được nhắc). Mặc dù bạn sẽ cần quay lại thư mục này thường xuyên, nhưng hãy đảm bảo rằng bạn biết nó ở đâu. Ví dụ về các vị trí bao gồm thư mục 2 của bạn, máy tính để bàn, ổ cứng ngoài, v.v.Nếu bạn cảm thấy thoải mái khi sử dụng thiết bị đầu cuối để điều hướng xung quanh máy tính của mình, bạn có thể bỏ qua bước này, nhưng để thuận tiện, tôi khuyên bạn nên bật tính năng cho phép bạn mở thiết bị đầu cuối trong thư mục hiện tại
Với điều này được kích hoạt
Bây giờ, bạn có thể chuyển sang phần "Bắt đầu với Docker" bên dưới khi thiết bị đầu cuối này đang mở Nếu bạn muốn bắt đầu hoặc dừng máy chủ của mình trong tương lai, bạn chỉ cần lặp lại các bước gần đây nhất Cài đặt trên LinuxDocker thực sự là một chương trình Linux theo thiết kế và Linux thường làm cho việc cài đặt phần mềm trở nên rất đơn giản. Trên hầu hết các bản phân phối, bạn có thể cài đặt Docker thông qua trình quản lý gói của mình, nhưng bạn có thể cần thiết lập kho lưu trữ gói tùy chỉnh Có một tập lệnh cài đặt tạo một kho lưu trữ duy nhất và cài đặt Docker cho các bản phân phối dựa trên RedHat (RedHat, CentOS, Fedora) và các bản phân phối dựa trên Debian (Debian, Ubuntu, Mint và KDE Neon) _16Xem hướng dẫn sử dụng Docker để biết hướng dẫn cụ thể cho bản phân phối của bạn Khi Docker được thiết lập, bạn phải sử dụng các lệnh này để kích hoạt và khởi chạy dịch vụ _10Cuối cùng, bạn có thể tham gia nhóm 6 để tránh sử dụng dịch vụ 7 để chạy các ứng dụng Docker________mườiBạn phải đăng xuất và đăng nhập lại để thay đổi nhóm người dùng, vì vậy hãy làm điều đó. Khi bạn quay lại, bạn có thể khởi chạy thiết bị đầu cuối sau khi lưu mọi tệp đang mở Tạo một thư mục trên máy tính của bạn, bất cứ nơi nào bạn thích, nơi bạn muốn lưu trữ trang web của mình sau khi đăng nhập lại. Bạn có thể lưu trữ tệp này trên máy tính để bàn, ổ cứng ngoài, thư mục 8 của bạn hoặc một vị trí khác; Nhấp chuột phải vào thư mục trong trình quản lý tệp của bạn và chọn Mở Terminal. Trong trình quản lý tệp Dolphin, bạn có thể thực hiện việc này nhưng tùy thuộc vào trình quản lý tệp bạn đang sử dụng, tùy chọn này có thể ở một vị trí khác hoặc có một tên khác Bắt đầu với DockerĐã đến lúc chạy một số lệnh Docker khi bạn đã cài đặt tất cả phần mềm cần thiết và thiết bị đầu cuối của bạn đang mở ở vị trí thích hợp Tôi đã cung cấp một số cấu hình dựa trên bài viết mà tôi đã liên kết trước đó; đầu tiên, sử dụng lệnh này để sao chép cấu hình ________thứ mười haiThư mục cần trống để lệnh này hoạt động, vì vậy hãy đảm bảo không có tệp hoặc thư mục con nào trong thư mục mà bạn đang cố chạy lệnh này từ đó. Lệnh này tải xuống một số tệp cấu hình từ kho lưu trữ GitHub và sao chép chúng vào thư mục hiện tại Rất nhiều dự án nguồn mở sử dụng dịch vụ lưu trữ mã nguồn GitHub. Trong trường hợp này, mã đang được tải xuống từ github, đây là tên được đặt cho một dự án. com/v-je/docker Mẹo. Tại thời điểm này, bạn chỉ cần chạy lệnh sau nếu bạn đã cài đặt Git. Tuy nhiên, tôi tạo một tập lệnh cài đặt để giải quyết vấn đề này cho bạn thay vì yêu cầu mỗi người đọc cuốn sách này cài đặt Git cho một lệnh duy nhất Bạn chỉ cần chạy lệnh này một lần và sau khi chạy xong, bạn sẽ thấy một số tệp cấu hình trong thư mục của mình. Vui lòng duyệt các tệp được tạo. Máy chủ web được cấu hình bởi 00;Bạn không cần phải hiểu những tập tin này; Trước khi tiếp tục, điều quan trọng cần lưu ý là môi trường chúng ta vừa thiết lập sử dụng NGINX chứ không phải Apache. Máy chủ web, là Apache nếu bạn đang sử dụng XAMPP hoặc gói tương tự, là thành phần của máy chủ đáp ứng các yêu cầu từ trình duyệt web và gửi tệp cho chúng Mặc dù Apache hoạt động tốt và hoạt động tốt, nhưng nó đã xuất hiện từ rất lâu và Web rất khác khi nó được phát triển lần đầu tiên. Web đã thay đổi đáng kể kể từ khi Apache được tạo ra, và mặc dù nó vẫn là một máy chủ có khả năng và sẽ hoạt động tốt, hầu hết các trang web ngày nay có xu hướng sử dụng NGINX thay vì Apache vì nó lớn hơn và có nhiều tính năng khác nhau đã xuất hiện và biến mất nhưng Apache . Nó đơn giản hơn để thiết lập, nhẹ hơn và phù hợp hơn cho các loại tác vụ mà nhiều trang web hiện đại sử dụng (như truyền phát video); Khuyến nghị chung của tôi là sử dụng NGINX nếu bạn đang bắt đầu một dự án mới từ đầu thay vì gặp rắc rối khi chuyển từ Apache nếu bạn đã có một trang web chạy trên đó Chạy lệnh bên dưới để hướng dẫn Docker tải xuống và chạy tất cả các chương trình liên quan đến máy chủ sau khi bạn đã tải xuống các tệp cấu hình máy chủ 7Lưu ý rằng lệnh 03 trước đây là một chương trình riêng biệt có tên là 04 vì những lý do kỹ thuật tẻ nhạt không đáng để đi sâu vào đây. Tuy nhiên, nếu bạn đang sử dụng bản phân phối Linux cũ hơn hoặc sử dụng phiên bản Docker Desktop cũ hơn, bạn có thể cần thay thế 03 bằng 04 trong tất cả các lệnh 03 vì chức năng này hiện đã được chuyển vào chính Docker. 08 chỉ nên có sự thay thế này; Khi chạy 20, bạn có thể gặp lỗi sau 6Nếu trường hợp này xảy ra, bạn phải thay thế lệnh bằng 21 và nếu bạn sử dụng Linux, bạn cũng có thể phải cài đặt gói 04 riêng biệt bằng trình quản lý gói của mìnhCác thành phần chính mà chúng tôi quan tâm trong thời điểm hiện tại là PHP, NGINX và MariaDB. Lệnh 03 tải 02, sau đó tải xuống và cài đặt tất cả phần mềm được liệt kê là dịch vụĐừng lo lắng, điều này chỉ xảy ra khi bạn chạy lệnh này lần đầu tiên; . Sau khi tải xuống và cài đặt phần mềm, việc khởi động máy chủ trong tương lai sẽ đơn giản hơn nhiều Máy chủ chỉ được khởi động khi bạn muốn bằng cách chạy 20 và bạn có thể dừng máy chủ bất kỳ lúc nào bằng cách quay lại thiết bị đầu cuối và nhấn Ctrl + C. Điều này không giống như sử dụng cài đặt thủ công NGINX/PHP/MySQL trực tiếp trên PC của bạnNgoài ra, bạn có thể sử dụng lệnh này để khởi động máy chủ ở chế độ nền 2Chạy _ 26 từ thiết bị đầu cuối của bạn để dừng máy chủ (bạn phải mở thiết bị đầu cuối trong thư mục thích hợp để khởi động và dừng máy chủ). )Quy trình tương tự có thể được sử dụng để khởi động và dừng máy chủ mỗi khi bạn muốn làm việc trên trang web
Khi hoàn tất, sử dụng quy trình tương tự để chấm dứt máy chủ
Ngoài ra, bạn có thể chỉ cần mở cửa sổ và thực hiện bước 3 nếu bạn để thiết bị đầu cuối chạy ngầm Lời khuyên. Lệnh 26 xóa và dừng mọi dịch vụ đang chạy để giải phóng dung lượng ổ đĩa. Ngoài ra, nó đòi hỏi sự sáng tạo của họ mỗi lầnĐể dừng và khởi động máy chủ, bạn cũng có thể sử dụng 70 và 71, nhưng những thứ này phụ thuộc vào mạng, vùng chứa và những thứ khác mà Docker xây dựng trong nền được duy trì giữa các lần thực thi. Chúng có thể được loại bỏ bằng cách khôi phục hệ thống, truyền tệp giữa các máy tính hoặc thậm chí bằng cách sử dụng các lệnh Docker khác cho các mục đích khác (hãy cẩn thận với 72)Nó yêu cầu xóa khi không sử dụng và tạo lại khi bạn sử dụng, nhưng sử dụng 73 và 74 sẽ sử dụng phương pháp phương tiện chặn trống và luôn đáng tin cậy. Nhưng đừng lo lắng, không có tệp PHP, JavaScript hoặc CSS nào bạn đặt trong thư mục bạn đã tạo sẽ bị xóaTạo tệp đầu tiên của bạn và kết nối với máy chủSau khi máy chủ hoạt động, bạn có thể kết nối với nó bằng trình duyệt web ưa thích của mình vì nó hoạt động giống như một máy chủ web chính hãng đang chạy ở đâu đó trên Internet. Bằng cách khởi chạy trình duyệt của bạn, nhập 75 vào thanh địa chỉ và nhấp Enter, bạn có thể truy cập nóBạn sẽ thấy một trang thử nghiệm tương tự như trang được hiển thị bên dưới Khi bạn thực hiện lệnh 21, một thư mục có tên 77 sẽ tự động được tạo trong thư mục mà lệnh được thực thi. Bây giờ máy chủ đã hoạt động, đã đến lúc tạo tệp đầu tiên của bạn. Các tệp được sử dụng cho trang kiểm tra trong ảnh chụp màn hình trước được đặt trong thư mục 78Tạo một tệp có tên 79 trong thư mục ___178 với mã sau bằng trình soạn thảo văn bản ưa thích của bạn 8Theo mặc định (sau này chúng ta sẽ thấy rằng điều này có thể bị ghi đè), một URL ánh xạ trực tiếp tới một tệp và giờ đây bạn có thể xem trang web của mình trên máy chủ. Các tập tin thậm chí có thể được đặt trong các thư mục con; Dấu. Bạn có thể thắc mắc tại sao lại có ba cấp thư mục thay vì chỉ có thư mục 62 với các tệp trong đó. 77, 69 và 62Môi trường được thiết lập để lưu trữ nhiều trang web từ nhiều thư mục khác nhau bên trong thư mục 77 mới được tạo, vì vậy để tạo một trang web mới có thể truy cập tại 23, hãy làm theo các hướng dẫn sau
Nếu không có tên miền phụ nào được chỉ định và bạn chỉ cần truy cập 75, trang web sẽ tải từ thư mục 69. Bất kỳ thư mục nào bạn tạo bên trong thư mục 77 đều được coi là tên miền phụ của 7Mỗi trang web có một thư mục 62 bởi vì, như chúng ta sẽ thấy ở phần sau của cuốn sách, cách tốt nhất là giữ một số tệp bên ngoài thư mục 62 để bảo mậtCần lưu ý rằng các trình soạn thảo văn bản do hệ điều hành cung cấp như Notepad và TextEdit không thực sự phù hợp để chỉnh sửa các tập lệnh HTML và PHP. Tuy nhiên, có một số trình soạn thảo văn bản tốt với sự hỗ trợ rộng rãi để chỉnh sửa các tập lệnh PHP mà bạn có thể tải xuống miễn phí và sử dụng trên Windows, macOS và Linux. Ở đây có một ít
Bất kỳ một trong số này đều là một lựa chọn tốt cho mục đích của cuốn sách này và sẽ giúp cuộc sống của bạn với tư cách là một nhà phát triển dễ dàng hơn nhiều so với Notepad hoặc TextEdit Chúng tôi đã sẵn sàngTôi chỉ trình bày các nguyên tắc cơ bản để nhanh chóng đi vào nội dung cốt lõi của cuốn sách này, vì vậy bây giờ bạn đã biết cách lưu trữ tệp HTML trên máy chủ và cách thiết lập môi trường phát triển PHP của mình với Docker. Tuy nhiên, với tư cách là một nhà phát triển PHP, bản thân việc có một quy trình phát triển tốt là một kỹ năng. Tuy nhiên, với mục đích của chúng tôi, máy chủ đang hoạt động và bạn đã chuẩn bị để tạo tập lệnh PHP đầu tiên của mình, chúng tôi sẽ thực hiện điều này trong chương sau, Hướng dẫn cho người mới bắt đầu về PHP Chia sẻ bài viết nàytom quản gia Với bằng tiến sĩ về các phương pháp hay nhất về công nghệ phần mềm, Tom Butler, nhà phát triển web và giảng viên đại học, thích so sánh các cách tiếp cận khác nhau để giải quyết các thách thức về viết mã Bài viết sau đây là một đoạn trích từ PHP & MySQL. Novice to Ninja, Phiên bản thứ 7, hướng dẫn thực hành để tìm hiểu tất cả các công cụ, nguyên tắc và kỹ thuật cần thiết để xây dựng một ứng dụng web chuyên nghiệp. Trong hướng dẫn đầu tiên của loạt bài này, chúng tôi đề cập đến cách thiết lập môi trường phát triển PHP của bạn với Docker
Trong cuốn sách này, tôi sẽ hướng dẫn bạn khi bạn thực hiện những bước đầu tiên vượt ra ngoài thế giới tĩnh của việc xây dựng các trang web bằng các công nghệ thuần túy phía máy khách gồm HTML, CSS và JavaScript. Cùng nhau, chúng ta sẽ khám phá thế giới xây dựng trang web và khám phá vô số công cụ động, khái niệm và khả năng mà chúng mở ra. Dù bạn làm gì, đừng nhìn xuống Được rồi, có lẽ bạn nên nhìn xuống. Rốt cuộc, đó là nơi mà phần còn lại của cuốn sách này. Nhưng hãy nhớ rằng, bạn đã được cảnh báo Trước khi xây dựng trang web động đầu tiên của mình, bạn phải tập hợp các công cụ cần thiết cho công việc. Giống như nướng bánh, bạn sẽ cần nguyên liệu trước khi có thể bắt đầu làm theo công thức. Trong chương này, tôi sẽ chỉ cho bạn cách tải xuống và thiết lập các gói phần mềm cần thiết Nếu bạn đã quen với việc xây dựng các trang web bằng HTML, CSS và thậm chí có thể là một chút JavaScript, thì có lẽ bạn đã quen với việc tải các tệp tạo nên trang web của mình lên một vị trí nhất định. Đó có thể là dịch vụ lưu trữ web mà bạn đã trả tiền, không gian web do nhà cung cấp dịch vụ internet của bạn cung cấp hoặc có thể là máy chủ web do bộ phận CNTT của công ty bạn làm việc thiết lập. Trong mọi trường hợp, khi bạn sao chép các tệp của mình tới bất kỳ đích nào trong số này, một chương trình phần mềm được gọi là máy chủ web có thể tìm và cung cấp các bản sao của các tệp đó bất cứ khi nào chúng được yêu cầu bởi một trình duyệt web như Microsoft Edge, Internet Explorer, Google . Các chương trình phần mềm máy chủ web phổ biến mà bạn có thể đã nghe nói đến bao gồm Máy chủ HTTP Apache (Apache), NGINX và Dịch vụ thông tin Internet PHP là ngôn ngữ kịch bản phía máy chủ. Nó hoàn toàn miễn phí để tải về và sử dụng. Bạn có thể coi nó như một plugin cho máy chủ web của mình, cho phép nó làm được nhiều việc hơn là chỉ gửi các bản sao chính xác của các tệp được trình duyệt web yêu cầu. Khi cài đặt PHP, máy chủ web của bạn sẽ có thể chạy các chương trình nhỏ — được gọi là tập lệnh PHP — có thể thực hiện các tác vụ như truy xuất thông tin cập nhật từng phút từ cơ sở dữ liệu và sử dụng nó để tạo nhanh một trang web trước khi gửi đi. . Phần lớn cuốn sách này sẽ tập trung vào việc viết các tập lệnh PHP để thực hiện chính xác điều đó Để các tập lệnh PHP của bạn truy xuất thông tin từ cơ sở dữ liệu, trước tiên bạn phải có cơ sở dữ liệu. Đó là nơi MySQL xuất hiện. MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ, hoặc RDBMS. Chúng ta sẽ thảo luận về vai trò chính xác của nó và cách nó hoạt động sau, nhưng ngắn gọn, đây là một chương trình phần mềm có thể sắp xếp và quản lý nhiều thông tin một cách hiệu quả trong khi vẫn theo dõi được tất cả các thông tin đó liên quan với nhau như thế nào. MySQL cũng làm cho thông tin đó thực sự dễ dàng truy cập bằng các ngôn ngữ kịch bản phía máy chủ như PHP. Và, giống như PHP, nó hoàn toàn miễn phí cho hầu hết các mục đích sử dụng Mục tiêu của chương đầu tiên này là giúp bạn thiết lập một máy chủ web được trang bị PHP và MySQL. Tôi sẽ cung cấp các hướng dẫn từng bước hoạt động trên các phiên bản Windows, macOS và Linux gần đây, vì vậy, bất kể bạn đang sử dụng loại máy tính nào, các hướng dẫn bạn cần sẽ có ngay tại đây Máy chủ web của riêng bạnRất có thể, máy chủ web hiện tại của máy chủ lưu trữ web của bạn đã cài đặt PHP và MySQL — đó là một trong những lý do khiến PHP và MySQL trở nên phổ biến. Nếu máy chủ web của bạn được trang bị như vậy, thì tin tốt là bạn sẽ có thể xuất bản trang web đầu tiên của mình mà không cần phải mua máy chủ web hỗ trợ các công nghệ phù hợp Khi phát triển các trang web tĩnh, bạn chỉ cần tải trực tiếp các tệp HTML của mình từ đĩa cứng vào trình duyệt để xem chúng trông như thế nào. Không có phần mềm máy chủ web nào liên quan khi bạn làm điều này, điều này không sao cả, bởi vì các trình duyệt web có thể tự đọc và hiểu mã HTML Tuy nhiên, khi nói đến các trang web động được xây dựng bằng PHP và MySQL, trình duyệt web của bạn cần một số trợ giúp. Trình duyệt web không thể hiểu các tập lệnh PHP. Thay vào đó, các tập lệnh PHP chứa các hướng dẫn để máy chủ web hiểu biết về PHP thực thi để tạo mã HTML mà trình duyệt có thể hiểu được Ngay cả khi bạn có một máy chủ web hỗ trợ PHP, bạn vẫn muốn có thể tự chạy các tập lệnh PHP mà không cần sử dụng máy chủ của người khác. Đối với điều này, bạn sẽ cần thiết lập máy chủ web của riêng mình. Từ “máy chủ” có thể khiến bạn liên tưởng đến một căn phòng lớn, có điều hòa, chứa đầy những chiếc máy tính lớn trên giá đỡ. Nhưng đừng lo, bạn không cần bất kỳ phần cứng mới lạ mắt nào. Máy tính xách tay hoặc máy tính để bàn của bạn sẽ hoạt động tốt Để chạy các tập lệnh PHP trên máy chủ lưu trữ web của bạn, bạn cần viết chúng trong trình chỉnh sửa của mình, mở ứng dụng khách FTP hoặc SSH và tải chúng lên máy chủ. Chỉ sau đó, bạn mới có thể thấy kết quả trong trình duyệt của mình bằng cách điều hướng đến URI của tệp bạn đã tạo. Nếu bạn mắc lỗi và xảy ra lỗi, bạn sẽ cần thay đổi mã, quay lại chương trình FTP của mình, tải tệp lên lại rồi tải lại trang. Điều này thật tẻ nhạt và sử dụng hết thời gian quý báu mà bạn có thể sử dụng để viết mã. Bằng cách chạy một máy chủ trên PC của riêng bạn, bạn sẽ có thể lưu tệp trong trình chỉnh sửa của mình và xem các thay đổi trong trình duyệt của mình chỉ bằng cách làm mới trang — không cần tải tệp lên. Đây là một trình tiết kiệm thời gian thực và là một trong những trình tiết kiệm lớn nhất (mặc dù không chỉ. ) lợi ích của việc chạy một máy chủ trên PC của bạn — ngay cả khi bạn đã có một máy chủ lưu trữ web hoàn toàn tốt Vậy làm cách nào để bạn có được một máy chủ web chạy trên PC của mình? Thiết lập máy chủ 1. Cài đặt thủ công tất cả các thành phần phần mềmApache là một máy chủ web và giống như hầu hết các phần mềm, nó đi kèm với trình cài đặt cho phép bạn dễ dàng thiết lập nó trên PC của mình. Không cần nỗ lực nhiều, bạn có thể yêu cầu nó phục vụ các trang web. Tuy nhiên, có hàng trăm tùy chọn cấu hình và trừ khi bạn biết mình đang làm gì, nếu không việc làm cho nó hoạt động để phát triển các trang web PHP có thể tốn thời gian và khó hiểu Đối với mục đích chạy các tập lệnh PHP của chúng tôi, một máy chủ web thôi là không đủ. Để cài đặt thủ công, bạn cũng cần cài đặt PHP — không có trình cài đặt — và định cấu hình nó. Như với Apache, có rất nhiều tùy chọn và các giá trị mặc định được thiết lập như thể bạn đang chạy một trang web trực tiếp. Đối với việc phát triển mã, điều này thật tệ vì không có lỗi nào được hiển thị. Nếu bạn mắc lỗi, bạn sẽ nhận được một trang trống không có dấu hiệu cho thấy điều gì đã xảy ra. Ngay cả một ký tự đơn lẻ không đúng chỗ — chẳng hạn như dấu ngoặc nhọn hoặc dấu chấm phẩy bị thiếu — sẽ cung cấp cho bạn một trang trống, không có dấu hiệu cho biết nguyên nhân gây ra sự cố. Để giải quyết vấn đề này, bạn sẽ cần định cấu hình cài đặt PHP theo cách thủ công và điều chỉnh cài đặt để hiển thị thông báo lỗi và bật các công cụ khác giúp việc phát triển trở thành một nhiệm vụ thú vị hơn Bạn cũng cần định cấu hình Apache để nói chuyện với PHP, để khi ai đó kết nối với máy chủ và yêu cầu tệp có phần mở rộng 44, trước tiên, tệp sẽ được gửi tới PHP để xử lýĐể theo dõi cuốn sách này, bạn cũng sẽ muốn có MySQL, nghĩa là cài đặt và định cấu hình thủ công. Apache, MySQL và PHP đều có hàng chục tùy chọn cấu hình và trừ khi bạn biết chính xác mình đang làm gì, chúng có thể khó thiết lập. Ngay cả khi bạn là một chuyên gia, sẽ mất ít nhất một giờ để mọi thứ hoạt động Cài đặt thủ công đòi hỏi một lượng kiến thức hoặc nghiên cứu đáng kể và nằm ngoài phạm vi của cuốn sách này. Khả năng định cấu hình máy chủ chắc chắn là một kỹ năng hữu ích, nhưng nó không giúp bạn học cách lập trình bằng PHP — đó là điều bạn thực sự quan tâm nếu bạn đang đọc cuốn sách này Tùy chọn này không dành cho những người yếu tim và ngay cả đối với các chuyên gia dày dặn kinh nghiệm cũng rất dễ bỏ lỡ một số cài đặt quan trọng. Nếu bạn thực sự muốn cài đặt và định cấu hình thiết lập của mình theo cách thủ công, hãy xem hướng dẫn cài đặt PHP trên Windows của chúng tôi. Tuy nhiên, nếu bạn không muốn lo lắng về việc thiết lập và định cấu hình tất cả phần mềm riêng lẻ, thì có một số tùy chọn thay thế tuyệt vời Thiết lập máy chủ 2. Cài đặt đóng gói sẵnCác vấn đề với cài đặt thủ công đã được các nhóm nhà phát triển nhận ra trong nhiều năm và để khắc phục chúng, họ đã xây dựng các bản cài đặt đóng gói sẵn — một trình cài đặt duy nhất cài đặt PHP, Apache, MySQL và phần mềm có liên quan khác, tất cả đều được định cấu hình sẵn với phần mềm thích hợp . Ví dụ phổ biến nhất của loại gói này là XAMPP. X (bất kỳ hệ điều hành nào), Apache, MySQL (hay cụ thể hơn là MariaDB, một “phân nhánh” của MySQL với giấy phép tốt hơn), PHP và Perl. Các lựa chọn thay thế bao gồm WAMP (Windows, Apache, MySQL và PHP), LAMP (Linux, Apache, MySQL và PHP) và MAMP (macOS, Apache, MySQL và PHP) Điều này rõ ràng là đơn giản hơn rất nhiều so với việc cài đặt thủ công từng phần mềm và không yêu cầu bạn phải tìm hiểu cách định cấu hình máy chủ của mình. Nó nhanh chóng, dễ dàng và tốt hơn nhiều so với cài đặt thủ công, mặc dù vẫn còn một số vấn đề bạn có thể gặp phải với phương pháp này, được liệt kê bên dưới
Mặc dù các cài đặt đóng gói sẵn tốt hơn nhiều so với cài đặt sẵn, nhưng những vấn đề này không làm cho chúng trở nên lý tưởng. May mắn thay, có một cách tiếp cận thậm chí còn tốt hơn Thiết lập máy chủ 3. máy chủ ảoPhương pháp thứ ba để thiết lập và chạy máy chủ là “máy chủ ảo”. Một máy chủ ảo hoạt động như một máy chủ web trên một máy tính khác. Máy tính này có thể chạy bất kỳ hệ điều hành nào và bạn có thể kết nối với nó từ PC của mình như thể nó đang ở một nơi khác trên thế giới Phần mềm ảo hóa như VirtualBox và các công cụ do VMware cung cấp là phổ biến. Là một nhà phát triển web, bạn có thể quen thuộc với các công cụ như hiện đại. tức là một dịch vụ hữu ích do Microsoft cung cấp cho phép bạn tải xuống các máy ảo chạy các phiên bản khác nhau của Windows, Microsoft Edge và Internet Explorer. Nếu bạn muốn xem trang web của mình trông như thế nào trong Internet Explorer 8 trên Windows XP, bạn có thể tải xuống máy ảo có liên quan và chạy nó trong một Cửa sổ trên máy tính để bàn Windows 10/macOS/Linux của bạn mà không cần phải thực sự cài đặt và chạy Windows 7 với Phần mềm như VirtualBox cho phép bạn chạy một hệ điều hành bên trong một hệ điều hành khác. Để thử nghiệm Internet Explorer 8, bạn có thể chạy Windows 7 trong máy ảo. Tuy nhiên, với mục đích chạy các tập lệnh PHP, điều này cho phép chúng tôi làm điều gì đó thú vị hơn nhiều. chúng ta có thể chạy máy chủ web Linux có cài đặt PHP, Apache và MySQL trên PC chạy Windows hoặc macOS Điều này có thể được sử dụng để cho phép bạn chạy chính xác các phiên bản PHP, MySQL và Apache đang được sử dụng trên máy chủ lưu trữ web của bạn, trên cùng một hệ điều hành, giúp ngăn ngừa mọi sự cố có thể tồn tại do sự khác biệt về phiên bản hoặc sự khác biệt trong Một trong những lợi thế lớn nhất là bạn có thể tải xuống các máy ảo được cấu hình sẵn, chẳng hạn như máy ảo Windows XP và Internet Explorer 8 do Microsoft cung cấp hoặc máy ảo đã cài đặt và cấu hình PHP, Apache và MySQL để hoạt động cùng nhau. Đây giống như gói được cấu hình sẵn nhưng chạy trên Linux như thể nó là một máy chủ web thực sự trên mạng của bạn Nhược điểm của tất cả điều này là bạn phải tải xuống toàn bộ hệ điều hành để chạy mã của mình. Điều đó có nghĩa là tải xuống nhiều hơn. Điều đó cũng có nghĩa là các gói bị khóa đối với bất kỳ thứ gì được cung cấp bởi máy ảo mà bạn tải xuống. Hoán đổi PHP 7 lấy PHP 8 yêu cầu tải xuống một bản sao hoàn toàn mới của hệ điều hành Thiết lập máy chủ 4. dockerDocker lấy ý tưởng về ảo hóa và lật ngược nó lại. Mỗi chương trình (hoặc “dịch vụ”, theo thuật ngữ của Docker) chạy trong môi trường biệt lập của nó được gọi là vùng chứa Docker cho phép nhà phát triển phần mềm cung cấp tệp cấu hình mô tả tất cả các chương trình cần thiết để chạy một ứng dụng — ví dụ: PHP, MySQL, Apache, v.v. Tệp cấu hình này sau đó được coi là ứng dụng của chính nó. Khi bạn chạy ứng dụng, Docker sẽ tự động tải xuống và thiết lập tất cả phần mềm được liệt kê trong tệp cấu hình Chi phí cho việc này thấp hơn nhiều so với bạn nghĩ và có rất nhiều lợi ích
Docker hiện là lựa chọn tốt nhất để thiết lập môi trường phát triển PHP. Nếu bạn muốn biết thêm về cách thiết lập môi trường phát triển cho chính mình bằng Docker, hãy xem bài viết của tôi “Thiết lập môi trường phát triển PHP hiện đại với Docker” Bắt đầuTrước khi viết bất kỳ mã PHP nào và phát triển trang web của bạn, chúng tôi sẽ thiết lập môi trường phát triển bằng Docker. Tôi đã cung cấp tất cả cấu hình cho bạn, nhưng trước khi bắt đầu, bạn cần cài đặt Docker Cài đặt trên WindowsĐầu tiên, tải xuống và cài đặt phiên bản Docker mới nhất cho Windows từ trang Docker Khi bạn đã cài đặt Docker (và khởi động lại nếu được yêu cầu), hãy tạo một thư mục trên máy tính nơi bạn muốn lưu trữ trang web của mình. Đây có thể là bất cứ nơi nào. thư mục 2 của bạn, máy tính để bàn, ổ cứng ngoài, v.v., nhưng hãy đảm bảo rằng bạn biết đây là đâu vì bạn sẽ cần quay lại thư mục này thường xuyênBạn cũng cần biết cách mở terminal. Windows 10 giúp việc này trở nên dễ dàng. Với thư mục được mở trong trình khám phá tệp, hãy chọn menu Tệp ở trên cùng bên trái của cửa sổ, sau đó nhấp vào Mở Windows PowerShell. Đảm bảo rằng bạn thực hiện việc này từ menu Tệp chứ không phải menu bắt đầu, vì nhấp vào nó từ Tệp sẽ mở dấu nhắc lệnh trong thư mục bạn đã chọn Khi PowerShell đang mở, hãy xác minh rằng đường dẫn đang hiển thị là thư mục bạn đã chọn — ví dụ: 3. Sau đó vào phần “Bắt đầu với Docker” bên dướiTại thời điểm viết bài (tháng 9 năm 2021), trong bản dựng xem trước hiện tại của Windows 11, PowerShell đã được đổi tên thành Windows Terminal và được truy cập theo một cách khác
Ghi chú. những hướng dẫn này có thể đã thay đổi vào thời điểm Windows 11 được phát hành và sau khi cuốn sách này được xuất bản Cài đặt trên macOSĐầu tiên, tải xuống và cài đặt Docker cho macOS từ trang Docker Khi bạn đã cài đặt Docker (và khởi động lại nếu được yêu cầu), hãy tạo một thư mục trên máy tính nơi bạn muốn lưu trữ trang web của mình. Đây có thể là bất cứ nơi nào. thư mục 2 của bạn, máy tính để bàn, ổ cứng ngoài, v.v., nhưng hãy đảm bảo rằng bạn biết đây là đâu, vì bạn sẽ cần quay lại thư mục này thường xuyênNếu bạn đã quen với việc điều hướng xung quanh máy tính của mình bằng thiết bị đầu cuối, bạn có thể bỏ qua bước này, nhưng để thuận tiện, tôi khuyên bạn nên bật tính năng cho phép bạn mở thiết bị đầu cuối trong thư mục hiện tại. Điều này có thể được bật bằng các bước sau
Với điều này được kích hoạt
Khi thiết bị đầu cuối này đang mở, bạn đã sẵn sàng để tiếp tục với phần “Bắt đầu với Docker” bên dưới Về sau, bạn chỉ cần lặp lại tập hợp các bước cuối cùng mỗi khi bạn muốn bắt đầu hoặc dừng máy chủ của mình Cài đặt trên LinuxLinux thường làm cho việc cài đặt phần mềm trở nên rất đơn giản và Docker thực sự là một chương trình Linux theo thiết kế. Trên hầu hết các bản phân phối, nó có thể được cài đặt thông qua trình quản lý gói của bạn, nhưng bạn có thể cần thiết lập kho lưu trữ gói tùy chỉnh Đối với các bản phân phối dựa trên Debian (Debian, Ubuntu, Mint và KDE Neon) và các bản phân phối dựa trên RedHat (RedHat, CentOS, Fedora), có một tập lệnh cài đặt để thiết lập kho lưu trữ tùy chỉnh và cài đặt Docker 5Để biết hướng dẫn cụ thể cho bản phân phối của bạn, hãy xem hướng dẫn sử dụng Docker Khi Docker được cài đặt, bạn phải kích hoạt và khởi động dịch vụ bằng các lệnh này
Cuối cùng, bạn có thể tự thêm mình vào nhóm 6 để không cần chạy các ứng dụng Docker thông qua 7 9Thay đổi nhóm người dùng yêu cầu đăng xuất và đăng nhập lại, vì vậy hãy đăng xuất và đăng nhập lại (nhớ lưu bất kỳ thứ gì bạn đã mở. ) và sau khi quay lại, bạn đã sẵn sàng mở một thiết bị đầu cuối Sau khi bạn đăng nhập lại, hãy tạo một thư mục trên máy tính nơi bạn muốn lưu trữ trang web của mình. Đây có thể là bất cứ nơi nào. thư mục 8 của bạn, máy tính để bàn, ổ cứng ngoài, v.v., nhưng hãy đảm bảo rằng bạn biết đây là đâu vì bạn sẽ cần quay lại thư mục này thường xuyênMở thư mục trong trình quản lý tệp của bạn và chọn tùy chọn Mở Terminal. Trong trình quản lý tệp Dolphin, bạn có thể nhấp chuột phải và chọn Open Terminal, nhưng tùy chọn này có thể ở một vị trí khác và có thể được đặt tên khác tùy thuộc vào trình quản lý tệp bạn đang sử dụng Bắt đầu với DockerBây giờ bạn đã cài đặt tất cả phần mềm và thiết bị đầu cuối của bạn đang mở ở đúng vị trí, đã đến lúc chạy một số lệnh Docker Mặc dù bạn có thể tự thiết lập môi trường và tự định cấu hình mọi thứ, nhưng điều này đòi hỏi một bộ kỹ năng khác với lập trình và nằm ngoài phạm vi của cuốn sách này. Tôi đã cung cấp một số cấu hình dựa trên bài viết mà tôi đã liên kết trước đó Đầu tiên, sao chép cấu hình bằng lệnh này 1Lệnh này tải xuống một số tệp cấu hình từ kho lưu trữ GitHub và sao chép chúng vào thư mục hiện tại. Thư mục phải trống để lệnh này hoạt động, vì vậy hãy đảm bảo không có tệp hoặc thư mục con nào trong thư mục mà bạn đang cố chạy lệnh này từ đó Ghi chú. GitHub là một nền tảng lưu trữ mã nguồn được rất nhiều dự án mã nguồn mở sử dụng. Kho lưu trữ là tên được đặt cho một dự án riêng lẻ. Trong trường hợp này, mã đang được tải xuống từ github. com/v-je/docker Mẹo. nếu bạn đã cài đặt Git, bạn có thể chạy lệnh sau vào thời điểm này. 9 Tuy nhiên, thay vì yêu cầu mọi người đọc cuốn sách này cài đặt Git cho một lệnh duy nhất, tôi đã tạo một tập lệnh cài đặt giúp bạn thực hiện việc nàyBạn chỉ cần làm điều này lần đầu tiên và sau khi lệnh hoàn thành, bạn sẽ thấy một số tệp cấu hình xuất hiện trong thư mục của mình. Vui lòng xem qua các tệp được tạo. Có 90, cấu hình máy chủ web; Đừng lo lắng về việc cố gắng hiểu những tệp này. Bạn không cần phải làm bất cứ điều gì với chúng, vì chúng chỉ ở đó để định cấu hình máy chủ khi bạn chạy lệnh tiếp theo Ghi chú. trước khi chúng tôi tiếp tục, điều đáng nói là môi trường chúng tôi vừa thiết lập sử dụng NGINX chứ không phải Apache. Nếu bạn đang sử dụng XAMPP hoặc gói tương tự, máy chủ web bạn đang sử dụng là Apache. Máy chủ web là một phần của máy chủ lắng nghe yêu cầu từ trình duyệt web và gửi tệp cho nó Apache vẫn ổn, và nó hoạt động, nhưng nó tồn tại mãi mãi. Khi Apache được tạo ra, Web là một nơi rất khác. Apache rất lớn và có rất nhiều tính năng khác nhau đã xuất hiện và biến mất — nhưng những tính năng mà Apache vẫn hỗ trợ. Web đã thay đổi rất nhiều kể từ khi Apache được tạo ra và mặc dù Apache là một máy chủ có năng lực và sẽ hoạt động tốt, hầu hết các trang web ngày nay đều có xu hướng sử dụng NGINX. Nó dễ cấu hình hơn, nhẹ hơn và được điều chỉnh tốt hơn cho các loại tác vụ mà nhiều trang web hiện đại sử dụng (chẳng hạn như truyền phát video); Lời khuyên chung của tôi là. nếu bạn đã có một trang web chạy Apache, thì không có lý do gì để thay đổi nó, nhưng nếu bạn đang bắt đầu một dự án mới từ đầu, hãy sử dụng NGINX Bây giờ bạn đã tải xuống các tệp cấu hình máy chủ, đã đến lúc tải Docker để tải xuống và chạy tất cả các chương trình cần thiết cho máy chủ. Chạy lệnh sau 6Ghi chú. vì những lý do kỹ thuật nhàm chán không đáng để vào đây, lệnh 93 từng là một chương trình riêng biệt có tên là 94. Chức năng này hiện đã được chuyển vào chính Docker. Tuy nhiên, nếu bạn đang sử dụng bản phân phối Linux cũ hơn hoặc chạy phiên bản Docker Desktop cũ hơn, bạn có thể cần thay thế 93 bằng 94 trong tất cả các lệnh 93. Chỉ làm điều này thay thế cho 98. Các lệnh khác như 99 sẽ giữ lại khoảng trắngBạn có thể gặp lỗi sau khi chạy 10 5Nếu vậy, bạn sẽ cần thay thế lệnh bằng 11 và nếu bạn đang dùng Linux, có thể bạn cũng cần cài đặt gói 94 riêng biệt bằng trình quản lý gói của mìnhLệnh 93 tải 92, sau đó tải xuống và cài đặt tất cả phần mềm được liệt kê là dịch vụ. Những thứ chính mà chúng tôi quan tâm hiện tại là PHP, NGINX và MariaDBLần đầu tiên bạn chạy lệnh này, sẽ mất vài phút vì nó phải tải xuống tất cả phần mềm cần thiết. Đừng lo lắng, vì điều này chỉ xảy ra lần đầu tiên. Sau khi phần mềm được tải xuống và cài đặt, việc khởi động máy chủ trong tương lai sẽ dễ dàng hơn nhiều Không giống như sử dụng cài đặt NGINX/PHP/MySQL thủ công trực tiếp trên PC của bạn, máy chủ chỉ được khởi động khi bạn muốn, bằng cách chạy 10. Bạn có thể dừng máy chủ bất cứ lúc nào bằng cách quay lại thiết bị đầu cuối và nhấn Ctrl + CNgoài ra, bạn có thể khởi động máy chủ ở chế độ nền bằng lệnh này 01Bạn có thể dừng máy chủ bằng cách chạy 16 từ thiết bị đầu cuối của mình. (Bạn phải mở terminal trong đúng thư mục để khởi động và dừng máy chủ. )Mỗi lần bạn muốn làm việc trên trang web, bạn có thể bắt đầu và dừng máy chủ bằng cùng một quy trình
Khi hoàn tất, bạn có thể dừng máy chủ bằng quy trình tương tự
Nếu bạn để thiết bị đầu cuối mở ở chế độ nền, bạn chỉ cần mở cửa sổ và chạy bước 3 Mẹo. lệnh 16 dừng các dịch vụ đang chạy và xóa chúng, giải phóng dung lượng ổ đĩa. Nó cũng buộc chúng phải được tạo lại mỗi lầnBạn cũng có thể sử dụng 60 và 61 để dừng và khởi động máy chủ. Nhưng những thứ này phụ thuộc vào vùng chứa, mạng và những thứ khác mà Docker tạo ra đằng sau hậu trường được lưu giữ giữa các lần thực thi. Khôi phục hệ thống, di chuyển tệp giữa các máy tính hoặc thậm chí chạy các lệnh Docker khác mà bạn đang sử dụng cho các tác vụ khác (hãy cẩn thận với 62. ) có thể loại bỏ nhữngSử dụng 63 và 64 sẽ sử dụng phương pháp tiếp cận phương tiện chặn trống và luôn đáng tin cậy. Tuy nhiên, nó yêu cầu xóa khi không sử dụng và tạo lại khi bạn sử dụng. Đừng lo lắng, mặc dù. tất cả các tệp PHP, JavaScript và CSS của bạn trong thư mục bạn đã tạo sẽ không bị xóaKết nối với máy chủ và tạo tệp đầu tiên của bạnBây giờ bạn đã có máy chủ đang chạy, bạn có thể kết nối với nó bằng trình duyệt web yêu thích của mình. Máy chủ hoạt động như một máy chủ web thực sự đang chạy ở đâu đó trên Internet. Bạn có thể kết nối với nó bằng cách mở trình duyệt của mình, nhập 65 vào thanh địa chỉ và nhấn enterBạn sẽ thấy một trang thử nghiệm giống như hình bên dưới Khi máy chủ đang chạy, đã đến lúc tạo tệp đầu tiên của bạn. Khi bạn chạy lệnh 11, một thư mục có tên là 67 được tạo tự động trong thư mục mà lệnh được chạy từ đó. Các tệp trong thư mục 68 là các tệp được sử dụng cho trang thử nghiệm trong ảnh chụp màn hình ở trênSử dụng trình soạn thảo văn bản yêu thích của bạn, tạo một tệp có tên 69 trong thư mục 68 chứa mã sau 17Bây giờ bạn có thể xem trang web của mình trên máy chủ. Theo mặc định (sau này chúng ta sẽ thấy rằng điều này có thể bị ghi đè) một URL ánh xạ trực tiếp tới một tệp. Tệp có tên 69 được đặt trong thư mục 52 có thể được truy cập trên 53, có thể xem 54 trên 55 và các tệp thậm chí có thể được đặt trong thư mục con. Ví dụ: 56 có thể được xem tại URL 57Mẹo. bạn có thể thắc mắc tại sao lại có ba cấp độ thư mục — 67, 59 và ________ 952 — thay vì chỉ có thư mục ________ 952 với các tệp trong đóMôi trường được định cấu hình để lưu trữ nhiều trang web từ các thư mục khác nhau trong thư mục 67 đã tạo. Để tạo một trang web mới có sẵn tại 013, hãy thực hiện các bước sau
Bất kỳ thư mục nào bạn tạo bên trong thư mục 67 đều được coi là tên miền phụ của 65. Nếu không có tên miền phụ nào được chỉ định và bạn chỉ cần truy cập vào 65, nó sẽ tải trang web từ thư mục 59Như chúng ta sẽ thấy ở phần sau của cuốn sách, nên giữ một số tệp nhất định bên ngoài thư mục ________ 952 để bảo mật, đó là lý do tại sao mỗi trang web có một thư mục ________ 952 Ghi chú. trình soạn thảo văn bản do hệ điều hành của bạn cung cấp — chẳng hạn như Notepad hoặc TextEdit — không thực sự phù hợp để chỉnh sửa tập lệnh HTML và PHP. Tuy nhiên, có một số trình soạn thảo văn bản vững chắc với sự hỗ trợ phong phú để chỉnh sửa các tập lệnh PHP mà bạn có thể tải xuống miễn phí. Dưới đây là một số hoạt động trên Windows, macOS và Linux
Tất cả chúng đều rất giống nhau và vì mục đích của cuốn sách này, bất kỳ một trong số chúng đều là một lựa chọn tốt và sẽ giúp cuộc sống của bạn với tư cách là một nhà phát triển đơn giản hơn nhiều so với Notepad hoặc TextEdit Chúng tôi đã sẵn sàngTrong chương này, bạn đã học cách thiết lập môi trường phát triển PHP với Docker và cách lưu trữ tệp HTML trên máy chủ. Tôi chỉ trình bày những điều cơ bản để nhanh chóng đi vào phần cốt lõi của cuốn sách này. thực sự lập trình trong PHP. Tuy nhiên, có một quy trình phát triển tốt với tư cách là một nhà phát triển PHP là một kỹ năng theo đúng nghĩa của nó. Tuy nhiên, với mục đích của chúng ta, máy chủ đã được thiết lập và chạy, và bạn đã sẵn sàng viết tập lệnh PHP đầu tiên của mình, đó chính xác là những gì chúng ta sẽ làm trong chương tiếp theo, Hướng dẫn PHP cho người mới bắt đầu Chia sẻ bài viết nàytom quản gia Tom Butler là một nhà phát triển web và giảng viên đại học. Anh ấy có bằng tiến sĩ trong lĩnh vực thực hành tốt nhất về công nghệ phần mềm và thích đánh giá các cách tiếp cận khác nhau đối với các vấn đề lập trình Bạn có thể sử dụng Docker làm môi trường phát triển không?Docker là một cách tuyệt vời để cung cấp môi trường phát triển nhất quán . Nó sẽ cho phép chúng tôi chạy từng dịch vụ và giao diện người dùng của mình trong một vùng chứa. Chúng tôi cũng sẽ thiết lập mọi thứ để chúng tôi có thể phát triển cục bộ và bắt đầu các phụ thuộc của mình bằng một lệnh docker. Điều đầu tiên chúng tôi muốn làm là dockerize từng ứng dụng của chúng tôi.
Tôi có thể sử dụng Docker cho PHP không?Có rất nhiều cách để thiết lập môi trường phát triển PHP của bạn, nhưng sử dụng Docker là phương pháp hay nhất hiện nay . Tôi sẽ bắt đầu với một lịch sử ngắn gọn về cách mọi người đã thiết lập môi trường phát triển PHP của họ trong những năm qua, dẫn đến vị trí của chúng tôi hiện nay.
Bạn sẽ tạo môi trường trong Docker như thế nào?Khởi chạy từ thư mục cục bộ . Từ Môi trường dành cho nhà phát triển trong Bảng điều khiển Docker, chọn Tạo. . Chọn Bắt đầu Không bắt buộc. Đặt tên cho môi trường nhà phát triển của bạn Chọn Thư mục cục bộ làm nguồn Chọn Chọn để mở thư mục gốc của mã mà bạn muốn làm việc trên đó Cấu hình mở rộng Docker PHP là gì?docker-php-ext-enable - bật tiện ích mở rộng đã có bằng cách thêm mục nhập cụ thể vào php. ini . Các tiện ích mở rộng được cài đặt với pecl hoặc trình quản lý gói gốc có thể không được bật theo mặc định, do đó yêu cầu bước bổ sung này. Như đã đề cập ở trên, các tiện ích mở rộng được cài đặt bằng docker-php-ext-install đang được bật tự động.
|