Customer Story: Web Scraping and App Hosting on Express Linux VPS

I am a web developer. To ensure the stable operation and seamless deployment of my website, Nexsoll.com, I chose Database Mart's Express Linux VPS. This solution provides reliable uptime, fast network connectivity, and flexible configuration options. With its affordable pricing and simple setup, it's the perfect choice for hosting Docker applications, running VPNs, and securely managing Node.js or PHP projects—all within a single environment.

Submitted by user "mu***6rehm**786@g**il.com"

Application Scenario

I mainly use my VPS server to host and manage multiple web applications under Nexsoll.com, including web scraping services, VPN solutions, and full-stack web development projects. On this VPS, I run Docker applications, WireGuard VPN, PHP processors, and Node.js services at the same time.

Users access my applications securely via HTTPS on port 443, and Nginx handles the reverse proxying to route requests to the appropriate backend services. The system processes real-time user interactions, database operations, and dynamic content responses. At the same time, various automated background tasks—such as scheduled maintenance scripts, data processing workflows, and log rotation—run without affecting overall performance.

In addition, my server supports a continuous development workflow with Git deployments, Docker containers, and automated scripts to keep everything updated. Through monitoring and performance tuning, I ensure the entire environment runs securely, efficiently, and reliably for all my applications.

Server Specifications

✅ CPU: 2 vCPU Cores
✅ RAM: 4GB
✅ Storage: 60GB SSD
✅ Bandwidth: 100Mbps Unmetered
✅ IP Address: 1 Dedicated IP
✅ Operating System: Linux Ubuntu 24

Deployment Process

  • Step1: Connecting to the Server
    Used Bitwise SSH Client to connect securely to the VPS.
    Logged in with server IP, username, and password.
    Used the Bitwise SFTP panel to upload and manage files.

  • Step2: Uploading Application Files
    Transferred project files via drag-and-drop in Bitwise SFTP.
    Confirmed all files were correctly uploaded to the target directory.

  • Step3: Updating System Packages & Installing Dependencies
    Executed essential setup commands through the Bitwise terminal:
    > sudo apt update && sudo apt upgrade -y
    > sudo apt install python3 python3-pip nginx git -y
    Installed or configured:
    Python 3.12 & pip
    Nginx (web server / reverse proxy)
    Git (code version control)

  • Step4: Environment & Application Configuration
    Created a .env file to store environment variables (DB credentials, tokens, API keys).
    Configured the application to run internally (e.g., on localhost:5000) behind Nginx.
    Adjusted necessary app settings such as ports, timeout values, and feature toggles.

  • Step5: Nginx Reverse Proxy & HTTPS Setup
    Configured Nginx as a reverse proxy:
    Forwarded HTTPS requests (port 443) to the application’s internal port.
    Enabled logging (access/error logs).
    Set basic performance tweaks including keepalive_timeout and gzip compression.
    Installed SSL certificates using Certbot to enable secure HTTPS traffic.

  • Step6: Background Services & Automation
    Set up application services (e.g., Gunicorn or systemd units) with worker processes and threads.
    Added scheduled or automated maintenance scripts for:
    Log rotation
    Cache cleanup
    Periodic data tasks

  • Step7: Performance Configuration
    Configured Gunicorn with 3 worker processes / 2 threads each.
    Applied memory limits via systemd (e.g., LimitMEMLOCK=512M).
    Tuned:
    Nginx worker connections
    Database connection pools
    Compression & caching rules
    Configured logging and rotation to control disk usage.

  • Step8: Security & Stability
    Enforced HTTPS-only access.
    Began preparation for UFW firewall setup (allowing only ports 80/443/SSH).
    Restricted sensitive endpoints and enabled authentication in the application.

Performance Review

Under normal usage, my server performs smoothly and reliably. It handles multiple concurrent user requests over HTTPS without noticeable delays, and both CPU and memory usage remain stable. The application responds quickly to user interactions, and background tasks—such as database queries and automated scripts—run without affecting overall responsiveness.

Occasional minor slowdowns can occur during peak database operations, but the system remains stable and generally does not require a daily reboot. Logging and monitoring tools give me clear insight into resource usage, allowing me to maintain consistent performance over time.

In my experience, the server performs well for CPU-based workloads, but its capabilities are limited without a GPU. Regularly monitoring CPU and memory usage, optimizing concurrency levels, and using caching and compression are important for maintaining good performance. Enforcing HTTPS on port 443 and securely configuring environment variables have improved both stability and security.

Scheduled maintenance tasks—such as log rotation and database optimization—help prevent performance degradation. I also avoid running heavy AI or GPU-based workloads on this server to prevent unnecessary slowdowns. Overall, careful resource management, monitoring, and optimization have been key to ensuring smooth and stable operation.

Network Performance

ping
speed

Reliability Evaluation

In terms of reliability, my server has performed consistently well during normal operation. It has been able to run continuously for around 24 hours without interruption, and overall stability has been strong. The system handles daily workloads—including web requests, data processing, and background tasks—without crashes or unexpected slowdowns.

I did experience one incident where the connection became unreachable, which required a restart to resolve. Aside from that single occurrence, the server has remained stable, with no forced restarts or major operational issues. Performance remains dependable even when handling multiple concurrent requests, and the application continues to respond smoothly.

Regular monitoring, log analysis, and resource optimization have helped maintain this reliability. With proper configuration and periodic maintenance—such as log rotation, database tuning, and performance checks—the server remains stable and dependable for my hosting, VPN, and web application needs.

Resource Utilization (Under Load)

Conclusion & Recommendations

“Based on my experience, the server performs reliably for CPU-based workloads, but performance can be limited by the absence of a GPU. It is important to monitor CPU and memory usage regularly, optimize application concurrency and worker threads, and use caching and compression to reduce load. Enforcing HTTPS on port 443 and configuring environment variables securely improves stability and security.

Scheduled maintenance tasks, such as log rotation and database optimization, help prevent performance degradation over time. Users should avoid running high-intensity AI or GPU-based tasks on this server, as it may lead to slowdowns. Overall, careful resource management and monitoring are key to maintaining smooth and stable operation.”

Why DBM?

I chose Database Mart (DBM) over other providers due to its affordable pricing, reliable performance, and excellent technical support. The interface is user-friendly, making server management straightforward, and the service ensures stable uptime with minimal interruptions. Additionally, DBM’s responsive support team helped quickly resolve setup and configuration issues, which was crucial for maintaining smooth operations. We highly recommend DBM for its outstanding hosting service, ease of use, and professional support."

Deploy Your Own Version of This Use Case Now?

Hot Sale

Express Linux VPS

  • 4GB RAM
  • 2 CPU Cores
  • 60GB SSD Disk Space
  • 100Mbps Unmetered
  • Once per 4 Weeks Backup
  • 1 Shared IP
  • Ubuntu/CentOS/Debian&More
  • No Setup Fee
1mo3mo12mo24mo
Save 52% (Was $5.99)
2.87/mo
Outline