💨
GCEで簡単なWebサーバーを動かしたい時のStartup Scriptメモ
はじめに
GCEで色々試してる時に、パッとWebサーバーとして動かしたいな〜という時に使うStartup Scriptの備忘録。
2023年12月末段階では動作確認済み。
内容
以下のスクリプトを、GCEのstartup scriptに仕込めばOK
#!/bin/bash
set -ex
# PythonのWebサーバー用のスクリプトの内容
python_script_content=$(cat <<'EOF'
from http.server import BaseHTTPRequestHandler, HTTPServer
class MyHandler(BaseHTTPRequestHandler):
def do_GET(self):
# レスポンスヘッダの設定
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
# レスポンスの内容を指定
response_content = b"Hello, this is a custom response!\n"
# レスポンスの送信
self.wfile.write(response_content)
if __name__ == '__main__':
# サーバーの設定
server_address = ('localhost', 8080)
httpd = HTTPServer(server_address, MyHandler)
# サーバーの開始
print(f"Starting server on http://{server_address[0]}:{server_address[1]}...")
httpd.serve_forever()
EOF
)
# ファイルのパス
file_path="server.py"
# ファイルの作成と書き込み
echo "$python_script_content" > "$file_path"
echo "Python server script created at: $file_path"
python3 server.py
あとはGCEをそのまま動かせば、ローカルで動くAPIはできる。
Discussion