Listing Thumbnail

    Hardened Node.js+Nginx and MySQL 8.4 on CentOS Stream 9

     Info
    Deployed on AWS
    AWS Free Tier
    This is a repackaged open source software product wherein additional charges apply for security hardening, optimization, and pre-integration of the Node.js, Nginx and MySQL 8.4 stack provided by Hanwei. All three components are service-enabled at build time, on a base running SELinux enforcing with root login locked and key-only SSH access.

    Overview

    Charges for this image cover the security hardening, optimization, and pre-integration work Hanwei performs on top of the upstream Node.js, Nginx and MySQL 8.4 and CentOS Stream 9 projects. Three components start with the instance: Node.js 24 LTS with npm, Nginx as the front-end web server, and MySQL 8.4 LTS with its data directory initialized. A subscriber launches the instance and has a runtime, a web server and a database already running. The operating system underneath carries the same hardened and tuned baseline used across this catalogue.

    What Hanwei Adds to Upstream Node.js, Nginx and MySQL 8.4

    • Component sources: Node.js 24 LTS with npm and Nginx 1.26 come from the distribution module streams, MySQL 8.4 LTS from the vendor repository.
    • Component versions advanced: the previous image carried Node.js 20 and MySQL 8.0; both move to the current long-term support series.
    • Transparent huge pages disabled at boot: a oneshot unit sets them to never before the database starts, following the vendor's guidance. This is not the distribution default, where the tuned virtual-guest profile leaves them enabled.
    • TLS material generated per instance, not baked into the image: the MySQL certificate, CA and RSA key pair are removed before sealing and regenerated on first boot, so no two subscribers share a private key.
    • Tuning baseline applied identically across the catalogue: the file descriptor limit goes from 1024 to 65536 and the memory-map ceiling from 65530 to 262144; the device receive backlog goes from 1000 to 16384 and the TCP SYN backlog from 128 to 8192, so bursts queue instead of being dropped; socket buffer maxima reach 16 MB for larger autotuned windows; connections keep their congestion window across idle periods; and the journal is capped at 500 MB. The profile raises ceilings only and does not alter protocol semantics or application behaviour.
    • Applied hardening beyond the distribution default: SSH is limited to a vetted cipher, key exchange and MAC list, X11 forwarding is off, the login grace period is shortened and verbose authentication logging is on; auditd runs a base rule set for privileged command execution; the kernel drops ICMP redirects on IPv4 and IPv6, logs martian packets, filters reverse paths in loose mode, restricts dmesg, disables setuid core dumps and turns off sysrq.
    • AWS operational integration: the SSM Agent is installed and enabled for Session Manager and Patch Manager without an inbound SSH rule; chrony points at the Amazon Time Sync Service; and the root filesystem extends at boot when the volume exceeds the image default.
    • Patch level and repeatable build: packages come from official upstream repositories at the newest level published when the image was built, and each version is launched and exercised on EC2 before release.

    Access and Security Posture

    • SELinux runs in enforcing mode and auditd records activity against a base rule set.
    • Sign in as 'ec2-user' with the key pair selected at launch, then use 'sudo su -' for a root shell. Session Manager is available as an alternative that needs no inbound port.
    • Direct root login over SSH is disabled and password authentication is not accepted.
    • No authorized keys and no SSH private keys are embedded in the image.

    Operational Impact on EC2

    • Launch-to-serving time is reduced to a single boot cycle for all three components.
    • Every instance starts from an identical configuration, removing drift between development, staging and production hosts.
    • Network services need no per-host limit or backlog adjustment before handling load.
    • Clock accuracy comes from the Amazon Time Sync Service, which matters for log correlation and request signing.
    • Post-launch patching effort is lower because the package set is current at release.

    Where This Image Fits

    • Web applications needing a runtime, a reverse proxy and a database on one instance.
    • Prototypes and internal tools where separating the tiers is not yet warranted.
    • Development and demonstration environments reproducible from an image.
    • Small production workloads where a single host is a deliberate cost decision.

    About Node.js, Nginx and MySQL 8.4 and CentOS Stream 9

    Node.js is a JavaScript runtime on the V8 engine, using an event loop and non-blocking I/O to serve many concurrent connections from one process; version 24 is an LTS release maintained through April 2028. Nginx sits in front of it, handling TLS, compression and request routing. MySQL 8.4 LTS provides the relational store, supported to 2032.

    CentOS Stream 9 is a Linux distribution that tracks the development stream of Red Hat Enterprise Linux 9. Packages land in CentOS Stream before they appear in a RHEL minor release, so it stays close to the RHEL package set and toolchain while remaining freely redistributable. It uses dnf, systemd and SELinux, which makes it a predictable base for server workloads that need RHEL compatibility.

    Highlights

    • WHAT IS PACKAGED - This image provides Node.js 24 LTS with npm, Nginx 1.26 and MySQL 8.4 LTS all service-enabled at build time, advancing from the previous Node.js 20 and MySQL 8.0, with per-instance MySQL TLS material generated on first boot.
    • HOW THE BASELINE IS HARDENED AND TUNED - SELinux enforcing, root login locked and SSH limited to key-based authentication with a vetted cipher, key exchange and MAC list. auditd runs a base rule set for privileged commands. The kernel drops ICMP redirects, logs martian packets and restricts dmesg. The file descriptor limit goes from 1024 to 65536 and the memory-map ceiling from 65530 to 262144; receive and SYN backlogs are enlarged and socket buffers reach 16 MB.
    • HOW IT FITS AWS OPERATIONS - The SSM Agent is installed and enabled, so instances can be managed through Session Manager and Patch Manager without an inbound SSH rule. chrony is pointed at the Amazon Time Sync Service, the root filesystem extends automatically when the volume exceeds the image default, and cloud-init handles user-data provisioning in launch templates and Auto Scaling groups.

    Details

    Delivery method

    Delivery option
    64-bit (x86) Amazon Machine Image (AMI)

    Latest version

    Operating system
    CentOs CentOS Stream 9

    Deployed on AWS
    New

    Introducing multi-product solutions

    You can now purchase comprehensive solutions tailored to use cases and industries.

    Multi-product solutions

    Features and programs

    Financing for AWS Marketplace purchases

    AWS Marketplace now accepts line of credit payments through the PNC Vendor Finance program. This program is available to select AWS customers in the US, excluding NV, NC, ND, TN, & VT.
    Financing for AWS Marketplace purchases

    Pricing

    Hardened Node.js+Nginx and MySQL 8.4 on CentOS Stream 9

     Info
    Pricing is based on actual usage, with charges varying according to how much you consume. Subscriptions have no end date and may be canceled any time. Alternatively, you can pay upfront for a contract, which typically covers your anticipated usage for the contract duration. Any usage beyond contract will incur additional usage-based costs.
    Additional AWS infrastructure costs may apply. Use the AWS Pricing Calculator  to estimate your infrastructure costs.
    If you are an AWS Free Tier customer with a free plan, you are eligible to subscribe to this offer. You can use free credits to cover the cost of eligible AWS infrastructure. See AWS Free Tier  for more details. If you created an AWS account before July 15th, 2025, and qualify for the Legacy AWS Free Tier, Amazon EC2 charges for Micro instances are free for up to 750 hours per month. See Legacy AWS Free Tier  for more details.

    Usage costs (557)

     Info
    • ...
    Dimension
    Cost/hour
    t2.small
    Recommended
    $0.04
    t2.micro
    $0.04
    t3.micro
    $0.04
    c7a.large
    $0.09
    i3en.2xlarge
    $0.19
    m5a.24xlarge
    $0.99
    r5dn.8xlarge
    $0.39
    m6a.12xlarge
    $0.69
    c7a.8xlarge
    $0.39
    r5d.metal
    $0.99

    AI Insights

     Info

    Dimensions summary

    You pay by the hour for a preconfigured software stack running Node.js, Nginx, and MySQL 8.0 on CentOS Stream 9. Each dimension maps to a specific AWS EC2 instance type, so pricing scales with the size and family of the instance you choose. Smaller instances like t3.nano and t3a.micro cost less per hour, while larger and specialized instances such as GPU, memory-optimized, and metal types cost more. You are not locked into a term. The software fee applies alongside your standard AWS infrastructure charges for the running instance.

    Top-of-mind questions for buyers

    Each dimension bills per hour that the matching AWS EC2 instance runs the packaged stack. One unit equals one instance-hour of that specific instance type. The stack bundles Node.js, Nginx, MySQL 8.0, and their required libraries and runtimes, so no separate software setup is needed.
    The software fee meters running hours only. When an instance is fully stopped, no hourly software charge accrues. You may still owe standard AWS charges for attached storage while the instance is stopped. Charges resume when you start the instance again.
    You change cost by choosing a different instance type. Moving to a smaller type like t3.nano reduces the hourly rate. Moving to larger, GPU, memory-optimized, or metal types raises it. The transition is manual: you select the instance size when you launch or resize.
    www.proimage.cloud
    Helpful?

    Vendor refund policy

    no refunds

    How can we make this page better?

    Tell us how we can improve this page, or report an issue with this product.
    Tell us how we can improve this page, or report an issue with this product.

    Legal

    Vendor terms and conditions

    Upon subscribing to this product, you must acknowledge and agree to the terms and conditions outlined in the vendor's End User License Agreement (EULA) .

    Content disclaimer

    Vendors are responsible for their product descriptions and other product content. AWS does not warrant that vendors' product descriptions or other product content are accurate, complete, reliable, current, or error-free.

    Usage information

     Info

    Delivery details

    64-bit (x86) Amazon Machine Image (AMI)

    Amazon Machine Image (AMI)

    An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.

    Version release notes

    Updated to the latest

    Additional details

    Usage instructions

    How To Use

    1.Connection Methods

    ssh as user 'ec2-user' to the running instance and use sudo to run commands requiring root access Use "sudo su - root" to switch to root

    Nginx:

    Nginx Service Management

    To start/stop/status Nginx Service: sudo systemctl start/stop/status nginx

    Configuration Information

    Configuration file:

    /etc/nginx/nginx.conf

    /etc/nginx/conf.d

    Node.js:

    Node.js Version: Nodejs-24

    To check the Node.js and npm versions, you can use the following commands in your terminal:

    For Node.js version: node --version

    For npm version: npm --version

    MySQl:

    MySQL Version: 8.4 MySQL Community Server

    Installation Information: The MySQL installation user in the system: mysql

    MySQL configuration file directory: /etc/my.cnf

    MySQL Port: 3306

    Local login method: mysql -uroot -p

    To view the initial MySQL root user password, you can check the file located at '/root/mysql-password'.

    Use the command 'sudo cat /root/mysql-password' to view the initial password for the MySQL root user.

    Service Management: To start/stop/status mysql Service: sudo systemctl start/stop/status mysqld

    Please allow SSH port 22, mysql port 3306, nginx port 80,443. to limited IPs for access.

    Support

    Vendor support

    If you encounter problems in the process of using the system, please feel free to contact us by emai: prosupport@hanweie.com , thank you!

    AWS infrastructure support

    AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.

    Similar products

    Customer reviews

    Ratings and reviews

     Info
    0 ratings
    5 star
    4 star
    3 star
    2 star
    1 star
    0%
    0%
    0%
    0%
    0%
    0 reviews
    No customer reviews yet
    Be the first to review this product . We've partnered with PeerSpot to gather customer feedback. You can share your experience by writing or recording a review, or scheduling a call with a PeerSpot analyst.