diff --git a/conf/hot-line-prod.conf b/conf/hot-line-prod.conf new file mode 100644 index 0000000..46d791c --- /dev/null +++ b/conf/hot-line-prod.conf @@ -0,0 +1,30 @@ +upstream hunchentoot { + server 127.0.0.1:3002; +} + +server { + listen 80; + server_name charts.craigoates.net; + + root ~/quicklisp/local-projects/hot-line/templates/; + + # General request handling this will match all locations + location / { + + # check if with it's a directory and there'a an index.html + # if so, rewrite the url to include it and stop processing rules. + if (-f $request_filename/index.html) { + rewrite ^(.*) $1/index.html break; + } + + # Define custom HTTP Headers to be used when proxying + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + + # if the requested file does not exist then + # proxy to the hunchentoot server cluster + if (!-f $request_filename) { + proxy_pass http://hunchentoot; + } + } +} \ No newline at end of file diff --git a/conf/hot-line-prod.service b/conf/hot-line-prod.service new file mode 100644 index 0000000..d610641 --- /dev/null +++ b/conf/hot-line-prod.service @@ -0,0 +1,13 @@ +[Unit] +Description=Production version of charts.craigoates.net. +After = syslog.target network.target + +[Service] +ExecStart=/usr/bin/sbcl --eval '(ql:quickload :hot-line)' --eval '(setf (osicat:environment-variable "APP_ENV") "production")' --eval '(hot-line:main)' +Restart=always +RestartSec=10 +KillSignal=SIGINT +User=craig + +[Install] +WantedBy=multi-user.target \ No newline at end of file