Cách khởi động một máy chủ web đơn giản bằng Python 3 trên máy Mac
Mục lục:
Nếu là người dùng Python, bạn có thể đã quen thuộc với thủ thuật hữu ích cho phép bạn tạo ngay một máy chủ web đơn giản bằng cách sử dụng chuỗi lệnh dễ dàng được nhập trong dòng lệnh của Mac OS. Nhưng nếu bạn là người dùng Mac Python đã cài đặt hoặc cập nhật lên Python 3, thì bạn sẽ thấy chuỗi lệnh truyền thống từ các phiên bản Python trước đó không hoạt động để khởi tạo máy chủ web trong Python 3 mới.bản phát hành x+.
Đừng lo lắng, thủ thuật Python dành cho máy chủ web đơn giản vẫn hoạt động trong Python 3 cho Mac (và tất nhiên là cho Linux và Windows nữa, nhưng rõ ràng là chúng tôi đang đề cập đến MacOS), đó là cú pháp lệnh là chỉ hơi khác một chút. Chúng tôi sẽ chỉ cho bạn cách khởi động một máy chủ web đơn giản với Python 3 bằng cách sử dụng Python 3.0+ mới tương đương với lệnh python -m SimpleHTTPServer.
Cách Khởi động Máy chủ HTTP Web bằng Python 3.0+
Chúng tôi cho rằng bạn đã cài đặt hoặc cập nhật lên Python 3.0 trở lên trên máy Mac, biến thể này của lệnh yêu cầu Python 3.0 trở lên.
Từ dòng lệnh, nhập chính xác cú pháp sau:
python -m http.server
OR (tùy thuộc vào cách Python 3.x được cài đặt và đặt tên):
python3 -m http.server
Nhấn return và Python 3 sẽ ngay lập tức khởi động một máy chủ HTTP đơn giản từ thư mục thực thi lệnh.
http.server trong Python 3 sẽ chạy trong thiết bị đầu cuối, nếu không có tệp web trong thư mục thì chỉ mục của thư mục sẽ được hiển thị.
Bạn có thể kiểm tra điều này ngay lập tức bằng cách mở URL sau trong bất kỳ trình duyệt web nào trên máy tính:
http://0.0.0.0:8000
Tất cả hoạt động của máy chủ web, như truy cập các tệp, thư mục, thư mục riêng lẻ, v.v., sẽ được hiển thị trực tiếp trong cửa sổ thiết bị đầu cuối Python đang hoạt động khi nó diễn ra, giống như nhật ký web theo dõi trên máy chủ Apache hoặc Nginx .
Lưu ý quan trọng: nếu bạn đã cài đặt đồng thời python và python3, bạn có thể cần thay đổi cú pháp một chút để tham chiếu python3 và python2 hoặc phiên bản python khác. Điều này sẽ phụ thuộc vào cách bạn cập nhật lên Python 3 trên máy Mac, nhưng một ví dụ phổ biến là sử dụng lệnh 'python3' để thay thế:
python3 -m http.server
Cũng như trước, nhấn quay lại và thư mục hoạt động sẽ được chuyển thành máy chủ web.
Python3 tương đương với python -m CGIHTTPServer là gì?
Một thủ thuật phổ biến khác là sử dụng máy chủ CGI (Giao diện cổng chung) trong Python cho tập lệnh CGI trong python hoặc perl. Vì vậy, nếu bạn cần chạy lệnh python3 tương đương với lệnh “python -m CGIHTTPServer” cho CGI, lệnh đó sẽ như sau:
python3 -m http.server --cgi
Ngoài ra, nếu Python 3 được cài đặt và đặt tên là python, lệnh sẽ đơn giản là:
python -m http.server --cgi
Dù bằng cách nào, bạn cũng sẽ cần cờ –cgi để khởi động máy chủ HTTP CGI trong Python 3.
Tôi gặp lỗi khi nói “/usr/bin/python: Không có mô-đun nào có tên http” bây giờ là gì?
Nếu bạn thấy lỗi “/usr/bin/python: No module named http” khi cố gắng thực thi chuỗi lệnh python -m http.server thì rất có thể bạn đang không chạy Python 3 hoặc bạn đang sử dụng sai lệnh cho python3 (tức là python so với python3, tùy thuộc vào cách phiên bản được đặt tên và cách phiên bản được cài đặt hoặc cập nhật trên máy Mac). Cũng có thể Python hoàn toàn không được cài đặt trên máy tính, mặc dù điều đó ít xảy ra hơn đối với máy Mac vì Python2 được cài đặt theo mặc định trên Mac OS, mặc dù người dùng phải cài đặt thủ công Python 3.x đã cập nhật trên máy Mac, đồng thời bảo toàn bản gốc Phiên bản phát hành Python 2.x. Thông thường, điều này đạt được với Homebrew.
Thay đổi cú pháp như tham chiếu ở trên hoặc nếu bạn đang sử dụng phiên bản Python cũ hơn, hãy thử lệnh “python -m SimpleHTTPServer” từ Python 2 trở về trước.
Tất nhiên, máy chủ web đơn giản python không dành cho môi trường sản xuất và chúng thực sự chỉ tốt nhất cho môi trường thử nghiệm hoặc sổ ghi chép nhanh. Nếu bạn muốn chạy một máy chủ web đối mặt công khai hoặc nói chung là mạnh mẽ hơn, bạn sẽ muốn sử dụng thứ gì đó như Apache hoặc Nginx, mặc dù việc định cấu hình những máy chủ đó riêng lẻ trên máy Mac yêu cầu một số thiết lập. Một tùy chọn đơn giản hơn cho môi trường máy chủ web đầy đủ trên máy Mac là sử dụng MAMP, giúp thiết lập và bắt đầu môi trường Apache, MySQL, PHP đầy đủ trên máy Mac trở nên đơn giản nhất có thể.
Bạn có biết mẹo hay thủ thuật Python thú vị nào khác không? Bạn có biết bất kỳ chuỗi lệnh python hữu ích nào khác để khởi động máy chủ http hay không? Chia sẻ với chúng tôi trong phần bình luận bên dưới!