feat: add proper openresty support

This change allows supporting the openresty package as installed on Ubuntu 18.04 from the official openresty package repository, while also returning general nginx support.

Closes #3675
This commit is contained in:
Jose Diaz-Gonzalez
2019-09-16 03:05:35 -04:00
parent dd2bbc7722
commit 6e3fddb544
8 changed files with 183 additions and 87 deletions

View File

@@ -13,6 +13,8 @@ log-fail() {
}
main() {
local NGINX_ROOT
if [[ ! -d /mnt/dokku ]]; then
log-info "Creating missing /mnt/dokku"
mkdir -p /mnt/dokku
@@ -49,14 +51,23 @@ main() {
echo "export DOCKER_BIN=/usr/local/bin/docker" >"/home/dokku/.dokkurc/DOCKER_BIN"
fi
if [[ ! -f /mnt/dokku/etc/nginx/dhparam.pem ]]; then
mkdir -p /mnt/dokku/etc/nginx
openssl dhparam -out /mnt/dokku/etc/nginx/dhparam.pem 2048
NGINX_ROOT="/etc/nginx"
if [[ -x /usr/bin/openresty ]]; then
NGINX_ROOT="/usr/local/openresty/nginx/conf"
rm -rf /etc/runit/runsvdir/default/nginx
else
rm -rf /etc/runit/runsvdir/default/openresty
fi
cp -f /mnt/dokku/etc/nginx/dhparam.pem /etc/nginx/dhparam.pem
chown root:root /etc/nginx/dhparam.pem
chown root:root /etc/nginx/conf.d
if [[ ! -f "/mnt/dokku${NGINX_ROOT}/dhparam.pem" ]]; then
mkdir -p "/mnt/dokku${NGINX_ROOT}"
openssl dhparam -out "/mnt/dokku${NGINX_ROOT}/dhparam.pem" 2048
fi
mkdir -p "${NGINX_ROOT}/conf.d"
cp -f "/mnt/dokku${NGINX_ROOT}/dhparam.pem" "${NGINX_ROOT}/dhparam.pem"
chown root:root "${NGINX_ROOT}/dhparam.pem"
chown root:root "${NGINX_ROOT}/conf.d"
}
main "$@"

View File

@@ -0,0 +1,7 @@
#!/bin/bash
exec >>/var/log/services/openresty
exec 2>&1
echo "Running openresty"
exec /usr/bin/openresty -c /usr/local/openresty/nginx/conf/nginx.conf -g "daemon off;"

View File

@@ -0,0 +1,30 @@
user www-data;
worker_processes auto;
pid /run/openresty.pid;
include /usr/local/openresty/nginx/conf/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /usr/local/openresty/nginx/conf/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
access_log /var/log/openresty/access.log;
error_log /var/log/openresty/error.log;
gzip on;
include /usr/local/openresty/nginx/conf/conf.d/*.conf;
include /usr/local/openresty/nginx/conf/sites-enabled/*;
}