Máy chủ web Python với PHP

Python vẫn là một trong những ngôn ngữ lập trình tốt nhất để học vào năm 2022, với các ứng dụng trong phát triển web back-end, máy học, mô hình hóa khoa học, vận hành hệ thống và một số phần mềm dành riêng cho doanh nghiệp. Nó thường được coi là một trong những ngôn ngữ lập trình dễ tiếp cận hơn, với cú pháp giống như tiếng Anh được gõ động và nhiều thư viện.  

Khả năng truy cập đó mở rộng để tạo một máy chủ web Python mà bạn có thể thực hiện chỉ trong một vài dòng mã. Giống như các bài hướng dẫn Python khác của chúng tôi, bạn sẽ thấy rằng một số thao tác cơ bản nhất được thực hiện chỉ trong vài phút

Chúng tôi sẽ chỉ cho bạn cách tạo máy chủ web Python của riêng bạn để thử nghiệm cục bộ. Toàn bộ quá trình chỉ mất vài phút và một vài dòng mã.  

Nhưng trước tiên, hãy xem máy chủ web là gì

Một máy chủ web là gì?

Trong cơ sở hạ tầng của internet, máy chủ là một phần của mô hình khách-chủ. Khi một trình duyệt máy khách truy cập một trang web, nó sẽ tạo một yêu cầu HTTP tới máy chủ chứa các tệp cần thiết để vận hành một trang web. Máy chủ lắng nghe yêu cầu của máy khách, xử lý nó và phản hồi với các tệp cần thiết để trình bày trang web. Nội dung này có thể là HTML [văn bản và phương tiện bạn nhìn thấy trên trang web] và JSON [ứng dụng]

Bạn có thể đã gặp phải một vài mã lỗi máy chủ khi duyệt internet - “không tìm thấy tệp” hoặc 404 là mã phổ biến hơn. Trong những trường hợp này, máy chủ gặp sự cố khi truy cập một số tệp nhất định. Với lỗi 404, tệp cụ thể bị thiếu

Có nhiều sắc thái hơn đối với máy chủ web, bao gồm phân loại thành máy chủ web tĩnh và động. Ví dụ: máy chủ web tĩnh chỉ trả về các tệp như hiện tại, không xử lý thêm. Máy chủ web động giới thiệu cơ sở dữ liệu và máy chủ ứng dụng mà bạn có thể tiếp tục sau khi đã hiểu rõ về máy chủ tĩnh.  

Đã nói tất cả những điều đó, chúng ta sẽ tìm hiểu cách bạn tạo một máy chủ web. Chúng tôi sẽ cho rằng bạn đang chạy phiên bản Python mới nhất. Có các tài nguyên để bạn tìm hiểu cách chạy tập lệnh python, trong số các bài học hữu ích khác.  

Làm thế nào để bạn tạo một máy chủ web Python đơn giản?

Việc khởi chạy một máy chủ web Python rất nhanh chóng và đơn giản, bạn sẽ chỉ mất vài phút để khởi động và chạy. Tất cả chỉ cần một dòng mã để có được máy chủ cục bộ đơn giản nhất chạy trên máy tính của bạn.  

Bằng thử nghiệm cục bộ, hệ thống của bạn trở thành máy chủ cho ứng dụng khách là trình duyệt của bạn và các tệp được lưu trữ cục bộ trên hệ thống của bạn. Mô-đun bạn sẽ sử dụng để tạo máy chủ web là máy chủ http của Python. Có một cảnh báo cho điều này. nó chỉ có thể được sử dụng như một máy chủ tệp tĩnh. Bạn sẽ cần một khung web Python, như Django, để chạy các máy chủ web động

Hãy lấy mã, giống như sau

python -m http.server

Nhập mã này vào thiết bị đầu cuối hoặc dấu nhắc lệnh, tùy thuộc vào hệ thống của bạn và bạn sẽ thấy thông báo “máy chủ đã khởi động” và “máy chủ đã dừng” khi bạn đóng máy chủ

Và bạn đã có nó - máy chủ web Python đầu tiên của bạn. Phải thừa nhận rằng, đó là một cách đơn giản, không cần làm gì khác ngoài việc mở một máy chủ web trên cổng mặc định của hệ thống là 8000. Cũng có thể thay đổi cổng bằng cách chỉ định số cổng ở cuối dòng, như thế này

python -m http.server 8080

Một máy chủ web đơn giản như máy chủ bạn vừa tạo là tốt và tốt. Tuy nhiên, việc tạo một máy chủ web tùy chỉnh sẽ thú vị và mang tính giáo dục hơn nhiều. Xét cho cùng, cách tốt nhất để học python là thông qua phương pháp thực hành - viết mã, gỡ lỗi, sửa chữa, rửa sạch và lặp lại.  

Đề xuất khóa học Python

Hoàn thành Python Bootcamp từ Zero đến Hero trong Python

Tạo một máy chủ web tùy chỉnh bằng Python

Máy chủ web tùy chỉnh cho phép bạn làm nhiều hơn một máy chủ web tích hợp. Đoạn mã bạn sắp xem sẽ dạy bạn rất nhiều về một số chức năng và quy trình quan trọng. Đừng lo lắng về độ dài của mã - chỉ có một số khái niệm chính được sử dụng ở đây. Bạn không cần phải tự gõ tất cả những thứ này để tự kiểm tra - nhưng hãy lưu ý tầm quan trọng của những khái niệm đó

từ http. máy chủ nhập HTTPServer, BaseHTTPRequestHandler Thư viện tích hợp sẵn của Python

import time
hostName = "localhost"
serverPort = 8080 #You can choose any available port; by default, it is 8000
Class MyServer[BaseHTTPRequestHandler]:
def do_GET[self]: //the do_GET method is inherited from BaseHTTPRequestHandler
self.send_response[200]
             self.send_header["Content-type", "text/html"]
             self.end_headers[]
            self.wfile.write[bytes["//testserver.com", "utf-8"]]
            self.wfile.write[bytes["

Request: %s

" % self.path, "utf-8"]]
            self.wfile.write[bytes["", "utf-8"]]
              self.wfile.write[bytes["

This is an example web server.

", "utf-8"]]
            self.wfile.write[bytes["", "utf-8"]]
if __name__ == "__main__":
  webServer = HTTPServer[[hostName, serverPort], MyServer]
             print["Server started //%s:%s" % [hostName, serverPort]] #Server starts
try:
         webServer.serve_forever[]
except KeyboardInterrupt:
pass
webServer.server_close[] #Executes when you hit a keyboard interrupt, closing the server
    print["Server stopped."]

Trước khi chúng ta chuyển sang các phần quan trọng, hãy nhanh chóng lướt qua một số điều. Nếu bạn đã hoàn thành bài tập về HTML của mình, thì bạn sẽ thấy một số thuật ngữ quen thuộc trong mã. Lớp MyServer ghi vào luồng đầu ra [wfile] được gửi dưới dạng phản hồi cho máy khách bằng cách sử dụng “self. wfile. viết[]". Những gì chúng tôi đang làm ở đây là viết một trang HTML cơ bản một cách nhanh chóng

Chúng tôi sẽ giải quyết một số thực thi quan trọng hơn đang diễn ra ở đây, cụ thể là

  • mô-đun http. người phục vụ
  • Các lớp HTTPServer và BaseHTTPRequestHandler, bắt nguồn từ thư viện http. người phục vụ
  • Phương thức do_GET

Máy chủ HTTP là một mô-đun tiêu chuẩn trong thư viện Python có các lớp được sử dụng trong giao tiếp máy khách-máy chủ. Hai lớp đó là HTTPServer và BaseHTTPRequestHandler. Cái sau truy cập máy chủ thông qua cái trước. HTTPServer lưu trữ địa chỉ máy chủ dưới dạng các biến thể hiện, trong khi BaseHTTPRequestHandler gọi các phương thức để xử lý các yêu cầu

Tóm lại, mã bắt đầu ở chức năng chính. Tiếp theo, lớp MyServer được gọi và BaseHTTPRequestHandler gọi phương thức do_GET[] để đáp ứng yêu cầu. Khi bạn làm gián đoạn chương trình, máy chủ sẽ đóng

Nếu bạn đã làm điều này một cách chính xác, bạn sẽ thấy những thông báo như thế này

Tại sao bạn muốn sử dụng một máy chủ web tùy chỉnh? . Trong mọi trường hợp, bạn có thể thấy rằng việc tạo một máy chủ web tùy chỉnh cũng khá đơn giản

Phần kết luận

Không mất nhiều thời gian để máy chủ web của bạn hoạt động bằng Python. Đó là ý tưởng cơ bản mà bạn nên tiếp thu. Tạo máy chủ của bạn là một bước tiến nhỏ nhưng quan trọng trên con đường tạo ứng dụng toàn ngăn xếp của bạn.  

Tự mình thử mã và thậm chí có thể tìm kiếm các dự án Python kết hợp triển khai máy chủ. Có rất nhiều dự án sử dụng khái niệm này, vì vậy thật tốt khi biết cách triển khai nó trong bối cảnh lớn hơn

Nếu bạn đang tìm kiếm thêm các bài học như vậy, hãy truy cập trang hướng dẫn Python của chúng tôi, có rất nhiều thông tin về mọi thứ, từ các tài nguyên tốt nhất đến các bài học tập trung vào một khái niệm cụ thể.  

Và nếu bạn đang muốn xây dựng trang web của riêng mình, chúng tôi đã tìm thấy một số giảm giá lớn trên NameCheap cho tên miền và dịch vụ lưu trữ web.  

Máy chủ web Python có hỗ trợ PHP không?

Chạy cục bộ các ngôn ngữ phía máy chủ . mô-đun máy chủ [hoặc SimpleHTTPServer cho Python 2] rất hữu ích, nhưng nó chỉ là một máy chủ tệp tĩnh; . it doesn't know how to run code written in languages such as Python, PHP or JavaScript.

Tôi có thể sử dụng PHP và Python cùng nhau không?

Có, nó sẽ hoạt động và mức độ rủi ro của nó tùy thuộc vào mức độ triển khai của bạn. Điều này là hoàn toàn chấp nhận được nếu được thực hiện một cách chính xác. Tôi đã tích hợp thành công PHP và C, khi PHP đơn giản là quá chậm để thực hiện một số tác vụ thích hợp nhất định trong thời gian thực [IIRC, PHP chậm hơn 7 lần so với đối tác C của nó].

Làm cách nào để chạy Python trên máy chủ PHP?

Để chạy Python Script trong PHP, chúng tôi sử dụng “shell_exec” trả về tất cả các luồng đầu ra dưới dạng chuỗi . Shell thực thi nó và kết quả có thể được trả về dưới dạng một chuỗi. Nó trả về một lỗi hoặc không có đầu ra nào nếu một giá trị trống được truyền vào.

Làm cách nào để khởi động máy chủ HTTP bằng PHP?

#Cách sử dụng .
Bắt đầu một máy chủ php -S localhost. 8000. .
Chỉ định thư mục gốc của tài liệu php -S localhost. 8000 -t foo/.
Sử dụng tệp bộ định tuyến php -S localhost. bộ định tuyến 8000. .
Bước 1. Tải xuống pChart curl -LOk http. //www. biểu đồ. mạng/phát hành/pChart2. 1. 4. hắc ín. .
Bước 2. Giải nén tệp zip/tar tar -xzf pChart2. 1. 4

Chủ Đề