Paano Magsimula ng Simpleng Web Server sa Python 3 sa Mac
Talaan ng mga Nilalaman:
Kung isa kang Python user maaaring pamilyar ka na sa madaling gamiting trick na nagbibigay-daan sa iyong gumawa kaagad ng simpleng web server gamit ang madaling command string na inilagay sa command line ng Mac OS. Ngunit kung ikaw ay gumagamit ng Mac Python na nag-install o nag-update sa Python 3, makikita mo ang tradisyonal na command string mula sa mga naunang bersyon ng Python ay hindi gumagana upang simulan ang web server sa bagong Python 3.x+ release.
Huwag mag-alala, ang simpleng web server na Python trick ay gumagana pa rin sa Python 3 para sa Mac (at para sa Linux at Windows din siyempre, ngunit malinaw na sinasaklaw namin ang MacOS), ito ay ang command syntax ay medyo iba lang. Ipapakita namin sa iyo ang paano magsimula ng simpleng web server gamit ang Python 3 sa pamamagitan ng paggamit ng bagong Python 3.0+ na katumbas ng python -m SimpleHTTPServer command.
Paano Magsimula ng Web HTTP Server sa Python 3.0+
Ipagpalagay namin na na-install o na-update mo na sa Python 3.0+ sa Mac, nangangailangan ng Python 3.0 o mas bago ang variation na ito ng command.
Mula sa command line, eksaktong ilagay ang sumusunod na syntax:
python -m http.server
OR (depende sa kung paano naka-install at pinangalanan ang Python 3.x):
python3 -m http.server
Hit return at ang Python 3 ay agad na magsisimula ng isang simpleng HTTP server mula sa direktoryo kung saan naisakatuparan ang command.
Ang http.server sa Python 3 ay tatakbo sa terminal, kung walang web file sa direktoryo kaysa sa mismong directory index ang ipapakita.
Maaari mo itong subukan kaagad sa pamamagitan ng pagbubukas ng sumusunod na URL sa anumang web browser sa computer:
http://0.0.0.0:8000
Lahat ng aktibidad ng web server, tulad ng pag-access sa mga indibidwal na file, folder, direktoryo, atbp, ay ipapakita sa aktibong Python terminal window nang live habang nangyayari ito, tulad ng pag-tail ng mga web log sa isang Apache o Nginx server .
Mahalagang Tandaan: kung mayroon kang python at python3 na naka-install nang magkasabay, maaaring kailanganin mong baguhin nang bahagya ang syntax upang i-reference ang python3 at python2 o isa pang bersyon ng python. Ito ay depende sa kung paano ka nag-update sa Python 3 sa Mac, ngunit ang isang karaniwang halimbawa ay ang paggamit ng command na 'python3' sa halip:
python3 -m http.server
Tulad ng dati, pindutin ang return at ang aktibong direktoryo ay gagawing web server.
Ano ang katumbas ng Python3 ng python -m CGIHTTPServer?
Ang isa pang karaniwang trick ay ang paggamit ng CGI (Common Gateway Interface) server sa Python para sa mga CGI script sa python o perl. Kaya kung kailangan mong patakbuhin ang katumbas ng python3 ng "python -m CGIHTTPServer" na utos para sa CGI na magiging mga sumusunod:
python3 -m http.server --cgi
Bilang kahalili, kung ang Python 3 ay naka-install at pinangalanan bilang python, ang utos ay magiging:
python -m http.server --cgi
Alinmang paraan kakailanganin mo ang –cgi flag para simulan ang CGI HTTP server sa Python 3.
Nakatanggap ako ng error na nagsasabing “/usr/bin/python: No module na pinangalanang http” ano ngayon?
Kung nakakita ka ng error na “/usr/bin/python: No module na pinangalanang http” kapag sinusubukang i-execute ang python -m http.server command string, malamang na hindi mo pinapatakbo ang Python 3, o gumagamit ka ng maling command para sa python3 (i.e. python vs python3, depende sa kung paano pinangalanan ang bersyon at kung paano ito na-install o na-update sa Mac). Posible rin na ang Python ay hindi naka-install sa computer, kahit na mas malamang para sa mga Mac dahil ang Python2 ay naka-install bilang default sa Mac OS, kahit na ang mga user ay dapat na manu-manong i-install ang na-update na Python 3.x sa Mac, na sabay-sabay na pinapanatili ang orihinal bersyon ng paglabas ng Python 2.x. Kadalasan ito ay nakakamit gamit ang Homebrew.
Baguhin ang syntax gaya ng nabanggit sa itaas, o kung gumagamit ka ng mas naunang bersyon ng Python subukan ang command na “python -m SimpleHTTPServer” mula sa Python 2 at bago.
Siyempre ang mga simpleng web server ng python ay hindi para sa mga production environment at talagang pinakamaganda ang mga ito para sa mabilis na scratchpad o test environment. Kung gusto mong magpatakbo ng isang web server na nakaharap sa publiko o mas matatag sa pangkalahatan, gusto mong sumama sa isang bagay tulad ng Apache o Nginx, kahit na ang pag-configure ng mga iyon nang paisa-isa sa isang Mac ay nangangailangan ng ilang setup. Ang isang mas simpleng opsyon para sa isang buong kapaligiran ng web server sa Mac ay ang paggamit ng MAMP, na gumagawa ng pagse-set up at pagsisimula ng isang buong Apache, MySQL, PHP na kapaligiran sa Mac na halos kasing simple nito.
May alam ka bang iba pang kawili-wiling tip o trick sa Python? May alam ka bang iba pang kapaki-pakinabang na python command string para sa pagsisimula ng mga http server o kung hindi man? Ibahagi sa amin sa mga komento sa ibaba!