mirror of
https://github.com/vdsm/virtual-dsm.git
synced 2026-08-29 12:17:07 +00:00
feat: Improve webserver configuration (#1262)
This commit is contained in:
+38
-14
@@ -16,13 +16,15 @@ WEB_PID="/run/nginx.pid"
|
||||
WSD_PID="$QEMU_DIR/websocketd.pid"
|
||||
|
||||
prepareWebFiles() {
|
||||
cp -r /var/www/* "$QEMU_DIR"
|
||||
rm -f "$WSD_PID" "$WEB_PID"
|
||||
|
||||
cp -r /var/www/* "$QEMU_DIR" || return 1
|
||||
rm -f "$WSD_PID" "$WEB_PID" || return 1
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
configureWebPorts() {
|
||||
|
||||
sed -i "s/listen 5000 default_server;/listen $WEB_PORT default_server;/g" /etc/nginx/sites-enabled/web.conf
|
||||
sed -i "s/proxy_pass http:\/\/127.0.0.1:8004\/;/proxy_pass http:\/\/127.0.0.1:$WSD_PORT\/;/g" /etc/nginx/sites-enabled/web.conf
|
||||
|
||||
@@ -32,7 +34,7 @@ configureWebPorts() {
|
||||
configureIpv6Listen() {
|
||||
|
||||
# shellcheck disable=SC2143
|
||||
if [ -f /proc/net/if_inet6 ] && [[ "$(cat /proc/sys/net/ipv6/conf/all/disable_ipv6 2>/dev/null)" != "1" ]] && [ -n "$(ifconfig -a | grep inet6)" ]; then
|
||||
if [ -f /proc/net/if_inet6 ] && [[ "$(cat /proc/sys/net/ipv6/conf/all/disable_ipv6 2>/dev/null)" != "1" ]]; then
|
||||
sed -i "s/listen $WEB_PORT default_server;/listen [::]:$WEB_PORT default_server ipv6only=off;/g" /etc/nginx/sites-enabled/web.conf
|
||||
fi
|
||||
|
||||
@@ -44,8 +46,8 @@ configureWebServer() {
|
||||
mkdir -p /etc/nginx/sites-enabled
|
||||
cp /etc/nginx/default.conf /etc/nginx/sites-enabled/web.conf
|
||||
|
||||
configureWebPorts
|
||||
configureIpv6Listen
|
||||
configureWebPorts || return 1
|
||||
configureIpv6Listen || return 1
|
||||
|
||||
return 0
|
||||
}
|
||||
@@ -53,24 +55,46 @@ configureWebServer() {
|
||||
startWebServer() {
|
||||
|
||||
# Start webserver
|
||||
nginx -e stderr
|
||||
nginx -e stderr || return 1
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
startWebsocketServer() {
|
||||
|
||||
local log="/var/log/websocketd.log"
|
||||
rm -f "$log"
|
||||
|
||||
# Start websocket server
|
||||
websocketd --address 127.0.0.1 --port="$WSD_PORT" /run/socket.sh >/var/log/websocketd.log &
|
||||
echo "$!" > "$WSD_PID"
|
||||
websocketd --address 127.0.0.1 --port="$WSD_PORT" /run/socket.sh > "$log" 2>&1 &
|
||||
local pid=$!
|
||||
|
||||
if ! echo "$pid" > "$WSD_PID"; then
|
||||
kill "$pid" 2>/dev/null || :
|
||||
return 1
|
||||
fi
|
||||
|
||||
sleep 0.1
|
||||
|
||||
if ! isAlive "$pid"; then
|
||||
rm -f "$WSD_PID"
|
||||
[ -s "$log" ] && cat "$log" >&2
|
||||
error "Failed to start websocket server!"
|
||||
return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
prepareWebFiles
|
||||
prepareWebFiles || return 1
|
||||
|
||||
html "Starting $APP for $ENGINE..."
|
||||
|
||||
if ! disabled "${WEB:-}"; then
|
||||
configureWebServer
|
||||
startWebServer
|
||||
startWebsocketServer
|
||||
fi
|
||||
disabled "${WEB:-}" && return 0
|
||||
|
||||
configureWebServer || return 1
|
||||
|
||||
startWebServer || return 1
|
||||
startWebsocketServer || return 1
|
||||
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user