Finished BUD 1
This commit is contained in:
68
scripts/start-fcgi.sh
Executable file
68
scripts/start-fcgi.sh
Executable file
@@ -0,0 +1,68 @@
|
||||
#!/bin/bash
|
||||
# Start Ginxsom FastCGI Application
|
||||
|
||||
# Configuration
|
||||
FCGI_BINARY="./build/ginxsom-fcgi"
|
||||
SOCKET_PATH="/tmp/ginxsom-fcgi.sock"
|
||||
PID_FILE="/tmp/ginxsom-fcgi.pid"
|
||||
|
||||
# Function to cleanup on exit
|
||||
cleanup() {
|
||||
echo "Cleaning up..."
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if kill -0 "$PID" 2>/dev/null; then
|
||||
echo "Stopping FastCGI process $PID"
|
||||
kill "$PID"
|
||||
sleep 1
|
||||
# Force kill if still running
|
||||
if kill -0 "$PID" 2>/dev/null; then
|
||||
kill -9 "$PID"
|
||||
fi
|
||||
fi
|
||||
rm -f "$PID_FILE"
|
||||
fi
|
||||
rm -f "$SOCKET_PATH"
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Setup signal handlers
|
||||
trap cleanup SIGINT SIGTERM
|
||||
|
||||
# Check if binary exists
|
||||
if [ ! -f "$FCGI_BINARY" ]; then
|
||||
echo "Error: FastCGI binary not found at $FCGI_BINARY"
|
||||
echo "Please run 'make' to build the application first"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Clean up old socket and pid file
|
||||
rm -f "$SOCKET_PATH" "$PID_FILE"
|
||||
|
||||
# Start the FastCGI application
|
||||
echo "Starting Ginxsom FastCGI application..."
|
||||
echo "Socket: $SOCKET_PATH"
|
||||
echo "Binary: $FCGI_BINARY"
|
||||
|
||||
# Use spawn-fcgi to start the application
|
||||
spawn-fcgi -s "$SOCKET_PATH" -M 666 -u "$USER" -g "$USER" -f "$FCGI_BINARY" -P "$PID_FILE"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "FastCGI application started successfully"
|
||||
echo "PID: $(cat $PID_FILE 2>/dev/null || echo 'unknown')"
|
||||
|
||||
# Wait for the process to exit or be killed
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
echo "Monitoring process $PID (Press Ctrl+C to stop)"
|
||||
while kill -0 "$PID" 2>/dev/null; do
|
||||
sleep 1
|
||||
done
|
||||
echo "FastCGI process exited"
|
||||
fi
|
||||
else
|
||||
echo "Failed to start FastCGI application"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cleanup
|
||||
Reference in New Issue
Block a user