From 0045b7e0a4af52d3697f10a34564a294839b60e0 Mon Sep 17 00:00:00 2001 From: caandt Date: Wed, 18 Sep 2024 22:10:48 -0500 Subject: [PATCH] switch dev server to nginx --- Makefile | 2 +- nginx.conf | 25 +++++++++++++++++++++++++ server.py | 31 ------------------------------- shell.nix | 1 + 4 files changed, 27 insertions(+), 32 deletions(-) create mode 100644 nginx.conf delete mode 100644 server.py diff --git a/Makefile b/Makefile index 92562a0..74158b0 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ static/highlight.css: build.py server: all -killall flask flask run & - python server.py $(OUT) + nginx -c $$(pwd)/nginx.conf -e stderr clean: -rm -r $(OUT) diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..5dc2686 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,25 @@ +pid /tmp/pid.pid; +daemon off; +events {} +http { + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + access_log /dev/stdout main; + + server { + listen 8080; + server_name localhost; + + root /tmp/2h; + location / { + try_files $uri $uri.html $uri/ =404; + autoindex on; + types { + text/html html htm shtml; + text/css css; + application/javascript js; + } + } + } +} diff --git a/server.py b/server.py deleted file mode 100644 index 52c8fcb..0000000 --- a/server.py +++ /dev/null @@ -1,31 +0,0 @@ -import http.server -import socketserver -import sys -from pathlib import Path - -dir = sys.argv[1] - -class RequestHandler(http.server.SimpleHTTPRequestHandler): - def __init__(self, *args, **kwargs): - super().__init__(*args, directory=dir, **kwargs) - - def do_GET(self): - if Path(f'{dir}/{self.path}').is_dir(): - self.path += '/index.html' - elif self.path[-1] != '/' and Path(self.path).suffix == '': - self.path += '.html' - super().do_GET() - -port = 8080 - -server = socketserver.TCPServer(('localhost', port), RequestHandler, False) -server.allow_reuse_port = True -server.allow_reuse_address = True -server.server_bind() -server.server_activate() -try: - print(f'http://localhost:{port}') - server.serve_forever() -except KeyboardInterrupt: - server.shutdown() - server.server_close() diff --git a/shell.nix b/shell.nix index 78921c2..90bb420 100644 --- a/shell.nix +++ b/shell.nix @@ -25,5 +25,6 @@ pkgs.mkShell { packages = with pkgs; [ gnumake python311 + nginx ]; }