[轉]Python web 簡單服務器的搭建與運行


Python web 簡單服務器的搭建與運行
 
 
Python 3 服務器搭建是配置好環境變量后,在dos里cd到項目所在目錄下, 輸入:python -m http.server --cgi 8080
 
以下是本人在搭建過程中遇到的問題以及解決方法:
 
1、根據 http://www.cnblogs.com/xuxn/archive/2011/02/14/build-simple-web-server-with-python.html,建立簡單的web服務器,具體如下:

利用Python自帶的包可以建立簡單的web服務器。在DOS里cd到准備做服務器根目錄的路徑下,輸入命令:

  • python -m Web服務器模塊 [端口號,默認8000]
例如:
  • python -m SimpleHTTPServer 8080

然后就可以在瀏覽器中輸入

  • http://localhost:端口號/路徑
來訪問服務器資源。 
例如:
  • http://localhost:8080/index.htm(當然index.htm文件得自己創建)
其他機器也可以通過服務器的IP地址來訪問。

這里的“Web服務器模塊”有如下三種:

  • BaseHTTPServer: 提供基本的Web服務和處理器類,分別是HTTPServer和BaseHTTPRequestHandler。
  • SimpleHTTPServer: 包含執行GET和HEAD請求的SimpleHTTPRequestHandler類。
  • CGIHTTPServer: 包含處理POST請求和執行CGIHTTPRequestHandler類。
 
2、按上述操作后出現問題:'python'不是內部或者外部命令
這是因為沒有配置環境變量,配置如下:
計算機--右擊--屬性,然后在左欄找到高級系統設置 -- 環境變量,在系統變量中找到PATH,然后再加上你安裝python的路徑,例如我的是在后面追加:;D:\Python33
 
3、按上述操作后又出現: No module named CGIHTTPServer
出現這個原因主要是上述所說的建立服務器的方法是針對python 2x,根據 http://my.oschina.net/hevakelcj/blog/373830中提到的:

在Python2.6版本里,/usr/bin/lib/python2.6/ 目錄下會有 BaseHTTPServer.py, SimpleHTTPServer.py, CGIHTTPServer.py

但是在Python3.4里,就沒有上面的3個文件,而是合閉到了 /usr/bin/python3.4/http/server.py文件里了。

在python2.6里啟動CGI服務命令是:

  • python -mCGIHTTPServer 8080
在python3.4里則是:
  • python3.4 -m http/server --cgi 8080 

 

 

端口號是可選參數。

 

4、不知道是上述內容寫的有問題還是因為我的python版本是3.3.5,所以使用上述命令會報 No module namedhttp/server,重新修改如下后即可

python -m http.server --cgi 8080

5、在運行時需要將程序拷貝到  准備做服務器根目錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM