chore: clean publish artifacts and add sources
This commit is contained in:
103
verify-mongodb-connection.sh
Executable file
103
verify-mongodb-connection.sh
Executable file
@@ -0,0 +1,103 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "╔══════════════════════════════════════════════════════════════╗"
|
||||
echo "║ MongoDB Connection Verification ║"
|
||||
echo "╚══════════════════════════════════════════════════════════════╝"
|
||||
echo ""
|
||||
|
||||
# 1. Check MongoDB Service
|
||||
echo "[1/5] MongoDB Service Status"
|
||||
if systemctl is-active --quiet mongod; then
|
||||
echo " ✅ MongoDB service is running"
|
||||
UPTIME=$(systemctl show mongod --property=ActiveEnterTimestamp --value)
|
||||
echo " 📅 Uptime: $UPTIME"
|
||||
else
|
||||
echo " ❌ MongoDB service is NOT running"
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 2. Check MongoDB Port
|
||||
echo "[2/5] MongoDB Network Binding"
|
||||
if sudo ss -tulpn | grep -q 27017; then
|
||||
echo " ✅ MongoDB listening on port 27017"
|
||||
BIND=$(sudo ss -tulpn | grep 27017 | awk '{print $5}')
|
||||
echo " 🔌 Binding: $BIND"
|
||||
else
|
||||
echo " ❌ MongoDB NOT listening on port 27017"
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 3. Test Direct Connection
|
||||
echo "[3/5] Direct MongoDB Connection Test"
|
||||
if mongosh --quiet --eval "db.version()" SkyArtShopDB >/dev/null 2>&1; then
|
||||
VERSION=$(mongosh --quiet --eval "db.version()" SkyArtShopDB 2>/dev/null)
|
||||
echo " ✅ Can connect to MongoDB"
|
||||
echo " 📦 Version: $VERSION"
|
||||
|
||||
COLLECTIONS=$(mongosh --quiet --eval "db.getCollectionNames().length" SkyArtShopDB 2>/dev/null)
|
||||
echo " 📚 Collections: $COLLECTIONS"
|
||||
|
||||
PRODUCTS=$(mongosh --quiet --eval "db.Products.countDocuments()" SkyArtShopDB 2>/dev/null)
|
||||
echo " 🛍️ Products: $PRODUCTS"
|
||||
else
|
||||
echo " ❌ Cannot connect to MongoDB"
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 4. Check Application Configuration
|
||||
echo "[4/5] Application MongoDB Configuration"
|
||||
if [ -f /var/www/SkyArtShop/publish/appsettings.Production.json ]; then
|
||||
CONN_STRING=$(grep -A 1 "ConnectionString" /var/www/SkyArtShop/publish/appsettings.Production.json | grep -oP '(?<=": ")[^"]+')
|
||||
DB_NAME=$(grep -A 2 "MongoDB" /var/www/SkyArtShop/publish/appsettings.Production.json | grep "DatabaseName" | grep -oP '(?<=": ")[^"]+')
|
||||
|
||||
echo " ✅ Configuration file found"
|
||||
echo " 🔗 Connection: $CONN_STRING"
|
||||
echo " 💾 Database: $DB_NAME"
|
||||
else
|
||||
echo " ❌ Configuration file NOT found"
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 5. Test Website Data Retrieval
|
||||
echo "[5/5] Website Data Retrieval Test"
|
||||
PRODUCTS_ON_PAGE=$(curl -s https://skyarts.ddns.net/Shop 2>&1 | grep -c "product-card")
|
||||
if [ "$PRODUCTS_ON_PAGE" -gt 0 ]; then
|
||||
echo " ✅ Website retrieving data from MongoDB"
|
||||
echo " 📦 Products displayed: $PRODUCTS_ON_PAGE"
|
||||
|
||||
# Test admin dashboard
|
||||
curl -c /tmp/mongo-test.txt -b /tmp/mongo-test.txt -X POST "https://skyarts.ddns.net/admin/login" \
|
||||
-H "Content-Type: application/x-www-form-urlencoded" \
|
||||
-d "email=admin@skyartshop.com&password=Admin123!" \
|
||||
-k -s -o /dev/null 2>&1
|
||||
|
||||
if curl -b /tmp/mongo-test.txt "https://skyarts.ddns.net/admin/products" -k -s 2>&1 | grep -q "product"; then
|
||||
echo " ✅ Admin backend accessing MongoDB"
|
||||
fi
|
||||
rm -f /tmp/mongo-test.txt
|
||||
else
|
||||
echo " ❌ Website NOT retrieving data"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Summary
|
||||
echo "╔══════════════════════════════════════════════════════════════╗"
|
||||
echo "║ ✅ CONNECTION VERIFIED ║"
|
||||
echo "╚══════════════════════════════════════════════════════════════╝"
|
||||
echo ""
|
||||
echo "Architecture:"
|
||||
echo " 🖥️ Linux Server: $(hostname)"
|
||||
echo " 🌐 Web Application: ASP.NET Core 8.0 (localhost:5000)"
|
||||
echo " 💾 MongoDB: Local (127.0.0.1:27017)"
|
||||
echo " 🔒 Nginx Proxy: Public (skyarts.ddns.net:443)"
|
||||
echo ""
|
||||
echo "Data Flow:"
|
||||
echo " Browser → Nginx (SSL) → ASP.NET App → MongoDB"
|
||||
echo " (All running on the same Linux server)"
|
||||
echo ""
|
||||
echo "✅ Website is properly connected to MongoDB on this Linux server"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user