nice123d / test_nginx.sh
Raymond Weitekamp
Add Nginx testing and fix non-root configuration
c88d551
#!/bin/bash
# Function to log messages
log_msg() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
}
# Test Nginx directories and permissions
test_nginx() {
log_msg "Testing Nginx configuration..."
# Test directory existence and permissions
directories=(
"/var/log/nginx"
"/var/lib/nginx"
"/var/lib/nginx/body"
"/run/nginx"
"/etc/nginx"
)
for dir in "${directories[@]}"; do
if [ ! -d "$dir" ]; then
log_msg "ERROR: Directory $dir does not exist"
return 1
fi
# Test write permissions
if ! touch "$dir/test_file" 2>/dev/null; then
log_msg "ERROR: Cannot write to $dir"
return 1
fi
rm -f "$dir/test_file"
log_msg "OK: $dir exists and is writable"
done
# Test Nginx configuration
if ! nginx -t; then
log_msg "ERROR: Nginx configuration test failed"
return 1
fi
log_msg "Nginx configuration test passed"
return 0
}
# Run the test
test_nginx