通過近幾天學習,完成乙個看可以在命令視窗啟動,使用命令指定埠的多工靜態web服務區。(這篇文章只附上了主要**,html檔案不附)
#!/usr/bin/env python
# coding=utf-8
import socket
import re
import sys
import gevent
from gevent import monkey
monkey.patch_all()
# 定義伺服器類
# 定義服務端套接字
tcp_server_socket = socket.socket(socket.af_inet, socket.sock_stream)
# 繫結埠
tcp_server_socket.bind(('', port))
# 設定埠復用
tcp_server_socket.setsockopt(socket.sol_socket, socket.so_reuseaddr, true)
# 設定監聽
tcp_server_socket.listen(128)
print(tcp_server_socket)
# 設定類屬性
self.tcp_server_socket = tcp_server_socket
@staticmethod
def open_file(file_path):
with open("static" + file_path, 'rb') as file:
file_data = file.read()
return file_data
# 定義請求處理方法
# 接受資料
client_request = service_client_socket.recv(4096)
# 列印客戶端請求
# print(client_request)
# 拿到請求路徑
request_line = re.search("/\s*", client_request.decode("utf-8")).group()
print(request_line)
# 判斷是否訪問index
if request_line == "/":
request_line = "/index.html"
# 開啟檔案報錯
try:
response_body = self.open_file(request_line)
# 定義響應行
# 無法開啟檔案,就開啟404.html
response_body = self.open_file("static/404.html")
# 定義響應行
# 定義響應頭
response_hearder = "server: pws1.0\r\ncontent-type: text/html;charset=utf-8\r\n"
# 拼接響應資料
response_data = (response_line + response_hearder + "\r\n").encode('utf-8') + response_body
# 傳送資料
service_client_socket.send(response_data)
# 關閉
service_client_socket.close()
# 定義開始服務的方法
print("引數傳遞錯誤,程式終止...")
return
if not sys.argv[1].isdigit():
print("引數傳遞錯誤,程式終止...")
pythonweb靜態伺服器 靜態Web伺服器
靜態web伺服器 可以發出請求的瀏覽器提供靜態文件的程式。搭建python自帶靜態web伺服器 如何搭建python自帶的靜態web伺服器 windows可以實現資源共享的目的 語法 python m http.server 埠號 1.win r 輸入cmd進入命令指令視窗 2.切換目錄,選擇目錄建...
nginx學習 七 nginx提供靜態資源服務
這裡準備了乙個資料夾,裡面放入了乙個img資料夾和index.html檔案,將檔案上傳到home下。這裡我們從新起個埠 server error page 500 502 503 504 50x.html location 50x.html 注意這裡訪問的時候,是訪問 home static kev...
nginx教程三,搭建乙個靜態資源Web伺服器
3.然後再將tar檔案壓縮成gzip檔案,上傳到nginx所在伺服器中 4.上傳到nginx所在伺服器後,將檔案解壓到 root webassets目錄下 二 nginx中的簡單配置 1.修改nginx.conf檔案如下,其中alias配置處理結果為 使用alias路徑替換location路徑,這是...