Help Center/Elastic Cloud Server/Best Practices/Summary of ECS Best Practices
Updated on 2026-01-09 GMT+08:00

Summary of ECS Best Practices

This section describes common application scenarios of Elastic Cloud Server (ECS) and provides solution details and operation guidance for each scenario, so you can easily deploy services using ECS.

Best Practices for Using ECSs

Table 1 Best practices

Category

Scenario

Reference

Description

Selection and Configuration

Selecting ECS specifications

Selecting ECS Specifications

This practice describes how to select ECSs suitable for your service requirements.

Configuring an ECS

Configuring an ECS

This practice describes how to configure an ECS after purchasing it.

Enabling public network access for an ECS

Enabling Public Network Access for an ECS

It summarizes how to enable public network access for an ECS.

Configuring performance

Best Practices for Performance Configuration

A c9.large.2 ECS running Huawei Cloud EulerOS 2.0 is used as an example to describe how to disable deep hibernation for CPUs.

Allowing a non-root user for login

Creating an ECS and Specifying a Non-root User for Login

This practice describes how to create an ECS and allow a non-root user to log in to the ECS.

Managing instance login credentials

Managing Login Credentials (Usernames/Passwords/Key Pairs)

After creating an ECS, you can log in to it as the default user or a created user, or connect to it using a password or key pair.

Environment setup

Setting up an LNMP environment

Manually Deploying LNMP (CentOS 7.2)

An ECS running CentOS 7.2 64-bit is used as an example to describe how to set up an LNMP environment.

Manually Deploying LNMP (CentOS 8.0)

An ECS running CentOS 8.0 64-bit is used as an example to describe how to set up an LNMP environment.

Manually Deploying LNMP (Ubuntu 20.04)

An ECS running Ubuntu 20.04 64-bit is used as an example to describe how to set up an LNMP environment.

Manually Deploying LNMP (Huawei Cloud EulerOS 2.0)

An ECS running Huawei Cloud EulerOS 2.0 64-bit is used as an example to describe how to set up an LNMP environment.

Setting up a LAMP environment

Manually Deploying LAMP (CentOS 7.8 PHP 7.0)

An ECS running CentOS 7.8 64-bit is used as an example to describe how to set up a LAMP environment.

Manually Deploying LAMP (Ubuntu)

An ECS running Ubuntu is used as an example to describe how to set up a LAMP environment.

Setting up a Java web environment

Setting Up a Tomcat-based Java Web Environment (CentOS 7.4)

An ECS running CentOS 7.4 64-bit is used as an example to describe how to set up a Java Web environment.

Setting Up a Tomcat-based Java Web Environment (Huawei Cloud EulerOS 2.0)

An ECS running Huawei Cloud EulerOS 2.0 64-bit is used as an example to describe how to set up a Java Web environment.

Setting up a Python environment

Setting Up a Python Environment

This practice describes how to set up a Python environment manually on an ECS.

Setting up a Hadoop environment

Manually Deploying Hadoop (Linux)

An ECS running CentOS is used as an example to describe how to set up a Hadoop environment.

Setting up a Node.js environment

Manually Deploying Node.js

An ECS running CentOS 7.2 64-bit is used as an example to describe how to set up a Node.js environment.

Website setup

Setting up a WordPress website

Setting Up a WordPress Website (Linux)

An ECS running CentOS 7.2 64-bit is used as an example to describe how to set up a WordPress website.

Setting up a Discuz! forum

Setting Up a Discuz! Forum

An ECS running CentOS is used as an example to describe how to set up a Discuz! forum.

Configuring Multiple Websites

Setting Up Multiple Websites Using IIS

This practice describes how to use the IIS service to set up multiple websites on an ECS running Windows Server 2022 Standard 64-bit.

Setting Up Multiple Websites Using Nginx

This practice describes how to use Nginx to set up multiple websites on a Linux ECS.

Deploying a Ghost blog

Manually Deploying a Ghost Blog (Ubuntu 20.04)

An ECS running Ubuntu 20.04 64-bit is used as an example to describe how to deploy a Ghost blog.

Application setup

Setting up an FTP site

Setting Up an FTP Site (Windows 2012)

An ECS running Windows Server 2012 Datacenter 64-bit is used as an example to describe how to set up an FTP site.

Setting Up an FTP Site (Windows 2019)

An ECS running Windows Server 2019 Datacenter 64-bit is used as an example to describe how to set up an FTP site.

Setting Up an FTP Site (CentOS 7.2)

An ECS running CentOS 7.2 64-bit is used as an example to describe how to set up an FTP website.

Setting Up an FTP Site (Ubuntu)

An ECS running Ubuntu 22.04 64-bit is used as an example to describe how to set up an FTP website.

Setting Up an FTP Site (Huawei Cloud EulerOS 2.0)

An ECS running Huawei Cloud EulerOS 2.0 64-bit is used as an example to describe how to set up an FTP website.

Building Microsoft SharePoint Server

Building Microsoft SharePoint Server 2016

An ECS running Windows Server 2012 Datacenter 64-bit is used as an example to describe how to build Microsoft SharePoint Server 2016.

Deploying a database

Deploying MySQL on a Linux ECS

This practice describes how to deploy MySQL databases on a Linux ECS.

Deploying MySQL on a Windows ECS

This practice describes how to deploy MySQL databases on a Windows ECS.

Deploying Docker

Manually Deploying Docker (CentOS 7.5)

An ECS running CentOS 7.5 64-bit is used as an example to describe how to deploy Docker.

Deploying an ECS as an official WeChat account server

Deploying an ECS for Handling Text Messages from an Official WeChat Account

An ECS running CentOS 7.4 64-bit is used as an example to describe how to deploy an ECS as an official WeChat account server.

Installing a BT panel

Manually Installing a BT Panel (CentOS 7.2)

An ECS running CentOS 7.2 64-bit is used as an example to describe how to install the BT panel.

Deploying GitLab

Manually Deploying GitLab (CentOS 7.2)

An ECS running CentOS 7.2 64-bit is used as an example to describe how to deploy GitLab.

Deploying RabbitMQ

Manually Deploying RabbitMQ (CentOS 7.4)

An ECS running CentOS 7.4 64-bit is used as an example to describe how to deploy RabbitMQ.

Deploying and using SVN

Deploying and Using SVN

An ECS running CentOS 7.2 64-bit is used as an example to describe how to deploy and use SVN.

Setting up a ThinkPHP framework

Setting Up a ThinkPHP Framework

An ECS running CentOS 7.2 64-bit is used as an example to describe how to set up a ThinkPHP framework.

Setting up primary-secondary replication on PostgreSQL

Setting Up Primary-Secondary Replication on PostgreSQL

An ECS running CentOS 7.6 64-bit is used as an example to describe how to set up primary-secondary replication on PostgreSQL.

Deploying Jenkins

Installing and Deploying Jenkins on an ECS

An ECS running CentOS 7.6 64-bit is used as an example to describe how to deploy Jenkins.

Configuring auditd

Using auditd to Record File Changes (Linux)

An ECS running CentOS 7.4 64-bit is used as an example to describe how to install and configure auditd.

Restoring data using Extundelete

Restoring Accidentally Deleted Data Using Extundelete (Linux)

An ECS running CentOS 7.5 64-bit is used as an example to describe how to use the open-source tool Extundelete to quickly restore accidentally deleted data.

Setting up an AD domain

Setting Up an AD Domain Using a Windows ECS

An ECS running Windows Server 2022 is used as an example to describe how to set up and use an AD domain.

Creating an image using Packer

Creating a Private Image Using Packer

This practice describes how to use Packer to create an Ubuntu 22.04 Server 64-bit private image on a CentOS 8.2 64-bit ECS.

Deploying Django

Deploying Django Using Nginx and uWSGI

This practice describes how to use Nginx and uWSGI to deploy Django on a Linux ECS.

ECS security

Enhancing security for SSH logins to Linux ECSs

Enhancing Security for SSH Logins to Linux ECSs

An ECS running CentOS 7.6 64-bit is used as an example to describe how to enhance security for SSH logins.

Setting up a high-availability web cluster

Using a Virtual IP Address and Keepalived to Set Up a High-Availability Web Cluster

An ECS running CentOS 7.8 64-bit is used as an example to describe how to use a virtual IP address and Keepalived to set up a high-availability web cluster.

Configuring security groups

Configuring Security Groups

This practice describes the concept of security groups and how to set security group rules.

ECS migration

Migrating servers to the cloud

Migrating Servers to the Cloud

This practice describes how to use Server Migration Service (SMS) and image import to migrate applications and data from your existing servers to Huawei Cloud.

Migrating ECSs across accounts and regions through image replication

Migrating ECSs Across Accounts and Regions Through Image Replication

This practice describes how to migrate ECSs between Huawei Cloud accounts in different regions.

Data backup and restore

Backing up and restoring ECS data

Backing Up and Restoring ECS Data

If a disk partition is damaged or data is lost in the OS, and no snapshot is created in advance, you can use tools such as fdisk to repair the disk partition and restore data.

Partitioning disks and rolling back data on a Windows ECS

Partitioning Disks and Rolling Back Data on a Windows ECS

This practice describes how to restore data that is lost due to misoperations, formatting, or system breakdown in the Windows OS.

ECS O&M and monitoring

Logs

Viewing and Using Windows ECS Logs

An ECS running Windows Server 2022 is used as an example to describe how to view and use system logs, application logs, security logs, and applications and services logs.

Monitoring and alarms

Using Cloud Eye to Monitor and Report Alarms for Websites

This practice uses the general website service architecture as an example to describe how to use Cloud Eye to build website monitoring capabilities.

Using Prometheus and Grafana to Monitor Servers in Real Time

This practice describes how to configure Prometheus and Grafana to collect monitoring data and visualize monitoring metrics.

Using Grafana Loki to Visualize Application Data Logs

This practice describes how to configure Loki to collect various application logs and push the log data to Grafana Loki.

GPU instances

Deploying a deep learning framework

Deploying an NGC Container Environment to Create a Deep Learning Development Environment

This practice uses the TensorFlow deep learning framework as an example to describe how to use the containerized solution to deploy the NGC container environment on a GPU ECS to pre-install the deep learning development environment.

Deploying a quantized DeepSeek model

Deploying a Quantized DeepSeek Model with Ollama on a Single Server (Linux)

This practice describes how to use Ollama to deploy a quantized DeepSeek model.

Deploying a DeepSeek-R1 or DeepSeek-V3 model

Using Ray, Docker, and vLLM to Manually Deploy a DeepSeek-R1 or DeepSeek-V3 Model on Multi-GPU Linux ECSs

This practice describes how to use vLLM to deploy a DeepSeek-R1 or DeepSeek-V3 model.

Deploying a DeepSeek-R1 or DeepSeek-V3 model

Using SGLang and Docker to Manually Deploy a DeepSeek-R1 or DeepSeek-V3 Model on Multi-GPU Linux ECSs

This practice describes how to use SGLang to deploy a DeepSeek-R1 or DeepSeek-V3 model.

Deploying a distilled DeepSeek model

Deploying a Distilled DeepSeek Model with vLLM on a Single Server (Linux)

This practice describes how to use vLLM to deploy a distilled DeepSeek model.

Other

Accessing OBS from an ECS over an intranet

Accessing OBS over Intranet by Using OBS Browser+ on a Windows ECS

This practice describes how to use OBS Browser+ to access OBS over intranet on a Windows ECS.

Accessing OBS over Intranet by Using obsutil on a Linux ECS

This practice describes how to use obsutil to access OBS over intranet on a Linux ECS.

Deploying an HA architecture

Deploying a MySQL InnoDB Cluster on ECSs

This practice describes how to build an HA database cluster across multiple ECSs and use the proxy service to implement flexible scheduling and read/write splitting.

Using VNC Viewer to access a Linux ECS

Using VNC Viewer to Access a Linux ECS

Ubuntu 20.04 OS is used as an example to describe how to install VNC Server on a Linux ECS and how to use VNC Viewer to access the ECS.