1. CPANEL How-To Guide

CPANEL How-To Guide

  1. what is cPanel: A Beginner’s Guide
  2. cPanel Login and Basic Setup Guide
  3. creating a Website with cPanel
  4. how to Use cPanel’s File Manager
  5. setting Up Email Accounts with cPanel
  6. managing Databases with cPanel
  7. managing Domains and Subdomains
  8. Installing an SSL Certificate
  9. managing backups and restores
  10. hardening Security Settings in cPanel
  11. understanding Addon Domains and Park Domains in cPanel
  12. setting Up an FTP Account with cPanel
  13. setting Up Cron Jobs in cPanel
  14. managing WordPress with cPanel
  15. utilizing cPanel’s Statistics and Analytics Tools
  16. installing Apps with cPanel’s Softaculous
  17. managing DNS in cPanel
  18. checking Account Usage in cPanel
  19. how to Troubleshoot Problems in cPanel
  20. exploring cPanel’s Advanced Features
  21. How to Migrate Your IP
  22. How to Block an IP

1. what is cPanel: A Beginner’s Guide

subtopicswhy you should do itwhat you need to know for beginners
what is cPanel and what does it do?to manage your website efficiently, you need to understand the basic concepts of cPanel.cPanel is your one-stop shop for file management, database management, email settings, and more.
explore the main menus and featuresknowing the different features makes it easier to do what you need to do.check out the File Manager, Email Accounts, and Database (MySQL) menus.
why use cPanel?because it makes complex server tasks simple and just a few clicks away.it’s a simple tool that lets you install or manage your website without any server administration knowledge.

2. cPanel login and basic setup guide

detailed topicswhy you should do itwhat beginners can easily learn
how to log in to cPanelyou need access to your dashboard before you can start setting up and working.log in with your cPanel’s URL, username, and password.
set your language and time zoneyou can set your language and time zone to make your work more convenient.select your preferred language and time zone from the Change language option in thetop right corner.
understand the dashboard organizationknowing your dashboard will help you quickly find the menus you need.take a look at each section of the dashboard screen (for example, Files, Databases, Email).

3. creating WordPress with cPanel

subtopicwhy you should do itwhat beginners can easily see
installing WordPresswith cpanel, you can easily create a WordPress homepage with just one click.using cPanel’s wp toolkit , you can make WordPress a one-click installation.
upload HTML files using the file managerthis is necessary when you want to create a customized website.Openthe File Managerand hit the Upload button to upload your HTML file.
connect your domainyou need to connect your domain before your website will be visible on the internet.add a new domain in the Domains section of your cPanel.

4. how to use the File Manager in cPanel

subtopicwhy you should do itwhat you need to know for beginners
uploading and downloading filesto add or modify files to your server.Click the Upload or Download button in theFile Manager menu.
compress and decompress filesallows you to efficiently manage multiple files.select the files you want and right-click to **Compress** or **Extract** them.
understand directory structureto properly manage your files and folders, you need to understand the directory structure.remember that thepublic_html directory is the root folder of your website.

5. setting up an email account with cPanel

subtopicwhy you should do iteasy to understand for beginners
create an email accountyou can create an email with your domain name.Add a new email account from theEmail Accounts menu.
set up an email client connectionThis is required to use email conveniently on your PC or mobile.find your client settings in Connect Devicesin your cPanel.
set up email forwarding and filtersyou can automate so you don’t miss important emails.add email filters or forwarding settings from the Email Filters menu.

6. manage your database with cPanel

detailed topicwhy you should do itwhat beginners can expect to learn
Create and manage MySQL databasesyou need one to store and manage data on your website.Create a new database from theMySQL Databases menu.
manage your database with phpMyAdminyou can view or modify the details of your database.click thephpMyAdmin menu to open a database and view its tables.
back up and restore your databasethis is necessary to avoid losing important data.Select a database from theBackup menu to backup or restore it.

7. managing domains and subdomains

detailed topicwhy you need to do itwhat you need to know for beginners
adding a new domainyou’ll need this when you run multiple websites or change domains.Add a new domain from theAddon Domains menu.
create and manage subdomainsuseful for managing specific projects or sections separately.Create a new subdomain from theSubdomains menu.
set up domain redirectsrequired to automatically divert visitors to a different URL.Add redirect settings in theRedirects menu.

below are additional tables for the rest of the topics, each with a reason why you should do it and what you need to do to make it easier for beginners.

8. Installing an SSL certificate

detailed topicwhy you should do itwhat you need to know for beginners
using SSL/TLS in cPanelrequired to encrypt data on your website to keep it secure.click the SSL/TLS menu in cPanel to set up or renew your certificate.
free SSL vs. paid SSLdepending on your needs, you can choose the right option to save money or add extra security.Free SSL, like Let’s Encrypt, provides basic security, while paid SSL provides additional security and reliability.
How to test your SSL after installationyou can gain user trust by verifying that it’s installed correctly.enter your website address in a browser and check the HTTPS connection.

9. manage backups and restores

detailed topicwhy you should do itwhat you need to know for beginners
create a full account backupyou need regular backups to recover in case of data loss.download a full account backup from the Backup menu in cPanel.
restore specific files or databasesthis is useful for recovering or fixing partially corrupted data.Select specific files or databases to restore from theBackup Wizard menu.
set up an automatic backup schedulesave time and automate your backups to ensure your data is always safe.activate the automatic backup service offered by your web host or set up a schedule in cPanel.

10. strengthen your security settings in cPanel

detailed topicwhy you should do itwhat you need to know for beginners
create a strong passwordweak passwords make you an easy target for hackers.use the Password & Security menu in cPanel to create complex passwords.
Set up IP blockingyou can increase your security by proactively blocking malicious access.In theIP Blocker menu, enter specific IP addresses to block them.
enable two-step verificationadd an extra layer of account security with an additional authentication process.Open theTwo-Factor Authentication menu to enable it.

11. understanding addon domains and park domains in cPanel

detailed topicwhy you should do itwhat you need to know for beginners
setting up add-on domainsyou can manage multiple websites from one account.add it from the Addon Domains menu in cPanel and specify the root directory.
use cases for parked domainsyou need it to link multiple domains to one website.Add new domains from theAliases menu to link to the same content.
optimize domain utilizationunderstanding the different domain options can help you utilize them efficiently.here’s a quick comparison of the differences between addon and parked domains and how to use them.

12. setting up an FTP account with cPanel

subtopicwhy you should do itwhat you need to know for beginners
Create an FTP accountyou’ll need one when you upload or download large files to your server.Add a new account from theFTP Accounts menu.
recommend file transfer softwareFTP software can help you transfer files faster and more securely.Download and try free software like FileZilla.
Manage FTP permissionsyou can set different folder access permissions for different users.set directory paths and permissions on the FTP account creation screen in cPanel.

13. set up a cron job in cPanel

subtopicwhy you should do itwhat you need to know for beginners
what is a cron job?you can save time by running recurring tasks automatically.open the Cron Jobs menu in cPanel to see the job setup screen.
example cron job settingsyou can set a script to run only at a specific time.enter the job frequency (minutes, hours, days, etc.) and add the execution command.
cron job management tipsyou can avoid incorrect settings and manage your jobs efficiently.after you set up a cron job, check the logs to review the results of its execution.

14. managing WordPress with cPanel

subtopicwhy you should do itwhat you need to know for beginners
use the automatic installation toolThe fastest and easiest way to install WordPress.use the Softaculous Apps Installerin your cPanel to install with just a few clicks.
manage plugin and theme updatesregular updates are required to maintain security and performance.Check the Updates menu in your WordPress dashboard and update the necessary items.
optimize your WordPress databaseimprove your website’s speed and remove unnecessary data.run a database optimization from phpMyAdminin your cPanel.

15. how to utilize cPanel’s statistics and analytics tools

detailed topicwhy you should do itwhat beginners can easily see
check visitor statistics (AWStats, etc.)you can analyze the number of visitors to your website and their behavior to build a better strategy.Check theAWStats menu to see the number of visitors, page views, and traffic sources.
monitor bandwidth usageprevent bandwidth overages and ensure stable website operations.View traffic usage graphs in theBandwidth menu.
how to check error logsidentify website errors and resolve issues quickly.Check and fix any error messages you encounter in theError Logs menu.

16. installing apps with Softaculous in cPanel

detailed topicwhy you should do itwhat you need to know for beginners
What is Softaculous?It’s a tool that makes it easy to install apps like WordPress, Joomla, and Drupal.Open theSoftaculous Apps Installer menu to see a list of available apps.
install popular applicationsspend less time working with easy-to-use CMSs and tools.Select WordPress or Joomla and follow the installation options.
initial setup after installationset up the installed apps to get them ready to use quickly.after the app installation is complete, click the link to the admin page to complete the initial setup.

17. managing DNS in cPanel

detailed topicwhy you should do iteasy to see for beginners
Setting up A records and CNAMEsthese are required to properly associate domain names.Add or edit A records and CNAME values in theZone Editor menu.
Setting up email with MX recordsrequired to set up your domain’s email service.Check your MX recordsin Zone Editorand add your email host information.
Troubleshoot DNS settingsyou can troubleshoot connection issues caused by incorrect settings.check the DNS status of your domain name and contact your hosting provider if necessary.

18. check account usage in cPanel

detailed topicwhy you should do itwhat beginners can easily see
understanding the usage dashboardchecking your disk and bandwidth usage can help you manage your resources efficiently.In theDisk Usage menu, see how much space has been used and how much is left.
tips for optimizing disk spaceyou can avoid running out of storage space and improve performance.free up space by deleting unnecessary files or backing them up and downloading them.
prevent resource overagesexceeding your resources can cause your website to crash.check your bandwidth and memory usage regularly.

19. how to troubleshoot in cPanel

detailed topicwhy you should do itwhat you need to know for beginners
troubleshoot login issuesif you fail to log in, you need to resolve the issue quickly so you can continue working.reset your password or contact your hosting provider.
fix database connection errorsdatabase errors can cause your website to crash.check your connection informationin phpMyAdminand modify your database settings if necessary.
troubleshoot domain connectivity issuesdomain connectivity issues can prevent visitors from accessing your website.Check and correct your DNS settings and nameserver information.

20. explore advanced features in cPanel

detailed topicwhy you should do itwhat beginners can easily see
Enable SSH accessallow advanced users to perform server operations via the command line.Set the public and private keys in theSSH Access menu and enable access.
GIT version control integrationefficiently manage source code versions.Create and manage repositories from theGit Version Control menu.
advanced PHP settingsoptimize your PHP environment to meet your website requirements.Change your PHP versionin MultiPHP Manageror modify settings in the PHP INI Editor.

21. How to migrate your IP

detailed topicwhy you should do itwhat you need to know for beginners
Steps to prepare for IP migrationrequired to prevent data loss and minimize issues with your existing IP.obtain a new IP address and lower your DNS TTL values.
Update your DNSrequired to ensure proper forwarding of traffic to your new IP.update your domain’s DNS records with your new IP address.
transfer data to your new IPrequired to properly transfer your website and server settings.use the Backup & Restore menu in cPanel to back up your data and restore it to your new server.

22. How to block an IP

detailed topicwhy you should do itwhat you need to know for beginners
block specific IPsyou can block malicious traffic or security threats.open the IP Blocker menu in cPanel and add the IP addresses you want to block.
Block IP rangesyou can stop attacks from a specific range.Enter an IP range in theIP Blocker menu and save your blocking settings.
manage blocked IPsprevent incorrect blocks and correct them if necessary.Select an item from the block list in the IP Blocker menu to unblock or modify it.

aWS Litesale WHM & CPANEL Email Account Creation to Activation

you can manage email addresses and email servers with your own website domain address using AWS LiteSail instances and WH & CPANEL. Let’s see how to create an email account and email management server using AWS LiteSail instances and CPANEL & WHM.The steps below will show you how to create an AWS email account and create emails.

how to create and activate an AWS LiteSail WHM & CPANEL email account

time required: 30 minutes.

how to create an AWS Litesale Instance WHM & CPANEL email account and register your server

  1. set up your domain and DNS records in AWS Litesale

    a record – mail.example.co.kr – > set public ip
    MX record – > set priority 10, set record name example.co.kr. next, set traffic routing mail.example.co.kr
    txt record sets 3 things

    txt value
    @.example.co.kr / spf1 response key
    _dmarc. : dmarc response key
    efault._domainkey : dkim response key
    a 레코드 - mail.example.co.kr - > public ip (공공아이피 설정) 
mx 레코드 - > 우선순위 10 으로 설정, 레코드이름 example.co.kr 설정. 다음으로 트래픽 라우팅 mail.example.co.kr 설정
txt 레코드는 3가지를 설정합니다.

txt 값
@.example.co.kr /  spf1 응답키 설정 
_dmarc.  : dmarc 응답킵 설정
efault._domainkey : dkim 응답키

  2. open AWS ports 25, 465,587,2096

    if you don’t open port 2096, you won’t be able to access the webmail server itself from cpanel, and if you don’t open ports 25, 2465, 587, you won’t be able to receive and send emails.
    In the Lightsail console, go to the Networking tab.
    open the following additional ports:
    TCP 25 (SMTP)
    TCP 465 (SMTPS)
    TCP 587 (Submission)
    TCP 2096 (Webmail SSL)
    5.2. Check your IPv6 firewall rules
    If you are using IPv6, remove any duplicate rules and open the ports. Lightsail 콘솔에서 네트워킹 탭으로 이동합니다.
다음 포트를 추가로 엽니다:
TCP 25 (SMTP)
TCP 465 (SMTPS)
TCP 587 (Submission)
TCP 2096 (Webmail SSL)
5.2. IPv6 방화벽 규칙 확인
IPv6를 사용하는 경우 중복된 규칙을 제거하고 포트를 열어줍니다.

  3. connect to WHM and proceed with IMAP & POP 3 activation

    enter https://<Elastic_IP>:2087 or example.com:2087 in a web browser and connect to WHM.
    home – > Service Configuration -> Mailserver Configuration and select IMAP, POP3 and proceed to activate IPv6.

    웹 브라우저에서 https://<Elastic_IP>:2087 또는 example.com:2087 입력 후 whm 에 접속합니다.
home - > Service Configuration ->  Mailserver Configuration 접속 후 imap, pop3 를 선택 후 ipv6 활성화를 진행합니다.

  4. activate exim mail server and imap server from whm service manager

    go to whm service configuration – > service manager – > exim mail server & imap enabled and activate it.whm service configuration - > service manager - > exim mail server & imap enbled 를 클릭 후 활성화를 시켜줍니다.

  5. check DKIM and SPF & DMARC settings

    go to whm -> email -> email deliverabilliy settings and check the valid content.
    If it is not set to valid, set the txt record file in your aws light sail dns zone.whm -> email -> email deliverabilliy 설정 접속 후 valid 내용을 확인합니다. 
valid 로 설정되어 있지 않다면, aws light sail dns 존에서 txt 레코드 파일을 설정합니다.

  6. set up WHM email routing

    set up the email routing set by DNS in WHM. Go to WHM -> email routing, select a domain, click LOCAL MAIL EXCHANNER, and set TTL 14400, priority value is 10, and MX destination is mail.example.co.kr.whm 에서 dns 설정한 이메일 라우팅을 설정합니다. whm - > email routing 에서 도메인을 서택 한 후 local mail exchaner  클릭 후 ttl 14400, priority 값은 10 , mx destisation 은 mail.example.co.kr 을 설정합니다.

  7. installing an SSL certificate for a mail domain from CPANEL

    go to CPANEL -> SECURITY -> SSL/TLS STATUS and enter the domain address of the mail server to install the SSL certificate.
    mail.example.co.kr and click RUN AUTO SSL to install the SSL certificate.
    cpanel -> security -> ssl/tls status  접속 후 메일 서버의 도메인 주소를 ssl 인증서 설치를 진행합니다.
mail.example.co.kr 클릭 후 run auto ssl 클릭 시 ssl 인증서가 설치 됩니다.

  8. cPANEL – > EMAIL ACCOUNT Create an account and log in.

    check the EMAIL account in CPANEL.
    The email address that is created by default when you create a CPANEL account is set to example@example.co.kr.
    If you want to change the email address, you can create an email address according to your preference after clicking the CREATE button.
    You can create an email address such as official@example.co.kr.

    cpanel 에서 email 계정을 확인합니다. 
cpanel 계정 생성시 기본으로 생성되는 이메일 주소는 example@example.co.kr 으로 설정 되어 있습니다.
만약 이메일 주소를 변경하고 싶으시다면 create 버튼을 클릭 후 앞에 사용자 설정에 따른 이메일 주소를 생성할 수 있습니다.
official@example.co.kr 같은 이메일 주소로 생성 가능합니다.

  9. request to unlock AWS email sending restrictions

    in the case of AWS Litesale, email sending is restricted. You will receive emails, but you need to request to unrestrict AWS Litesale separately to send them.

    You can request to unrestrict Litesale emails through the shortcut below.

    shortcutto Litesail Email Unrestriction Request

    After accessing the Litesail Email Unrestriction Request service, enter the email address you want to receive a response from, and write a description of your email use case.
    For IP information, enter the public ip address, which is the PUBLIC IP address of your Litesail instance.
    For reverse DNS record, enter the mail server domain address as mail.example.co.kr, and click Submit.
    aws 라이트세일의 경우 이메일 발송에 제한을 걸어두었는데요. 이메일은 수신되지만 발송을 위해 별도로 aws 라이트세일 제하 해제요청을 진행해주셔야합니다.

라이트 세일 이메일 제한 해제 요청은 아래 바로가기를 통해 가능합니다.

라이트세일 이메일 제한 해제 요청 바로가기

라이트세일 이메일 제한 해제 요청 서비스에 접속 후 본인의 답변받을 이메일 주소를 입력 후, 이메일 사용 사례 설명을 작성합니다.
ip 정보는 라이트세일 인스턴스의 public ip 주소인 공공 아이피 주소를 입력 합니다.
역방향 dns 레코드는 mail.example.co.kr 로 메일 서버 도메인 주소를 입력 한 후 제출 하기를 클릭합니다.

  10. installing the clam av plug in for virus scanning

    when using a homepage server, incoming emails may contain viruses. please install the clam av plug in to prevent viruses.
    clam av plug in is installed by clicking whm -> plugin -> clam av install.
    After installing the plug in, go to whm -> service manager -> clam av daemon enabled , monitor checkbox and proceed with activation.

we’ve checked all the steps from creating an AWS LiteSail WHM & CPANEL email account to activating it. If you can’t receive or send emails even if you follow the steps above, please check your port configuration and DNS settings.

if you’re having trouble configuring your email server, submit a service request and we’ll set up your server for you for a small fee.

noteson CPANEL & WHM email setup

sometimes port 2096 is not open after installing an instance of AWS LiteSail. Please open port 2096 on your instance after installing LiteSail to enable WHM webmail login.

add port 2096 and ports 25, 465, and 587.

the 2096 port is a way to open the way to access the webmail server when you log in to example.com:2096. When you create an AWS Litesale instance, the 2096 port is not created, so you need to open the 2096 port to sign up for email.

in DNS ZONE, check if the AWS domain and DNS zone CNAME , A records match with the WHM EMAIL DELIVERY tab, and if the VALID mark is checked, the DNS settings will proceed correctly.

to prevent hacking, you need to set up 2FA login authentication or white-list IPs of commonly used addresses, or set up CPHulk Brute Force Protection to be safe from hacking.

CGI Access vs. Shell (Shell Access) Access Differences and Appropriateness

The suitability ofCGI access versus Shell Access (SSH access) depends on how you manage your server and run your site. let’s compare their features, uses, and pros and cons.

1️⃣ What is CGI access?

Common Gateway Interface (CGI) is a protocol that allows external programs (scripts ) to run on your server. when a request comes in from a web browser, the CGI script dynamically generates content or processes data.

features

  • how it works: The server executes a specific script (PHP, Perl, Python, etc.) and returns the result.
  • security: Dynamic content can be generated without Shell (SSH) access.
  • hosting restrictions: CGI access is typically allowed in shared hosting environments.
  • inability to run complex commands: CGI access alone makes it difficult to change detailed settings on the server.

pros

  1. beginner-friendly: Set up by default, no additional management required.
  2. low security risk: Limited scope without SSH privileges.
  3. hosting support: cGI is enabled by default on most shared hosting environments.

cons

  1. limited functionality: You can’t manage the entire server or perform advanced tasks.
  2. efficiency issues: CGI creates a new process for each request, which can reduce performance.

2️⃣ What is Shell Access (Shell)?

Shell access (SSH access) refers to the ability to connectto a server directly through a terminal andexecute commands. Secure Shell (SSH) is a protocol that provides increased security through an encrypted connection.

features

  • operational: Allows users to log in directly to the server, run commands, and perform advanced tasks such as file management, service settings, and debugging.
  • security: Requires strong security settings (e.g., public key authentication).
  • hosting limitations: SSH access is restricted on shared hosting or must be enabled by request.

pros

  1. professional tools: allows you to set up and manage all aspects of your server.
  2. work efficiently: Check server status, view logs, run scripts, and perform advanced tasks.
  3. automatable: Set up Bash scripts, Cron Jobs, and more to perform automated tasks.

cons

  1. security risks: Poor password or key management can lead to your server being hacked.
  2. learning curve: Command-based interface can be difficult for beginners.
  3. error-prone: Potential to compromise your server if you run the wrong command.

3️⃣ Key differences between the two approaches

criteriaCGI approachShell (SSH) approach
purpose of usecreate dynamic content and perform limited tasksserver administration, file editing, debugging, checking logs, etc
security riskrelatively lowpossible security vulnerabilities depending on how it is managed
privilegeslimited (limited to running scripts)full server access
technical requirementsnone (beginner-friendly)requires basic commands and server administration knowledge
speed and efficiencycreates a new process for each request → inefficientfast and efficient with continuous sessions
hosting Support Availabilitybuilt-in on shared hostinglimited on shared hosting or requires activation after request

4️⃣ Which approach is suitable in which situations?

✅ When CGI access is right for you:

  • when you are operating in a shared hosting environment.
  • you only need to run WordPress, a blog, or a simple website and not manage the server.
  • you want to increase security and leave administrative responsibilities to your hosting provider.

✅ When Shell (SSH) access is appropriate:

  • When running a virtual private server (VPS), dedicated server, or cloud server.
  • when you want to customize your server or perform advanced tasks (e.g., analyze logs, install services).
  • when you want to use automation scripts (Bash, Cron Jobs, etc.).
  • when you need to work inside the server to optimize site performance.

5️⃣ Recommended settings for WHM environments

  • shared Hosting: Enable CGI access only to increase security.
  • VPS/Dedicated Server: Enable Shell Access and set up public key authentication (SSH Key) for security.
  • How to enable Shell Access (WHM)
    1. Goto WHM → Manage Shell Access.
    2. select Jailed Shell or Full Shell permissions for the user account.
    3. save and test access from an SSH client (e.g. PuTTY).

🔥 Conclusion

  • CGI access: sufficient if you only need to do simple tasks (install WordPress, manage plugins).
  • Shell (SSH) access: needed for advanced tasks (optimization, debugging, automation, etc.) on a VPS or dedicated server.
  • security aspects: Be sure to apply strong authentication settings (e.g. public key, password restrictions) when using Shell Access.

👉 Recommended: CGI access is sufficient for basic operation of WordPress and your website, but use SSH access for server optimization and advanced tasks. 🚀

speeding up WordPress with whm & cpanel: Setting up PHP-FPM

PHP-FPM (FastCGI Process Manager) plays an important role in improving the speed of the WordPress admin page. PHP-FPM can increase server performance by efficiently processing PHP requests, and can solve the problem of slow admin pages. we’ll walk you through how to change your PHP-FPM settings below.

when should you use PHP-FPM?

You should consider using PHP-FPM in the following situations

  1. high-traffic websites
    • on high-traffic sites that need to handle thousands or more concurrent requests per day, PHP-FPM reduces bottlenecks and improves response times.
  2. server environments with limited resources
    • Because PHP-FPM manages memory and CPU resources efficiently, it provides performance improvements even in limited server environments.
  3. when your WordPress admin page is slow
    • admin pages generate more PHP requests than regular pages, so PHP-FPM optimizations can improve speed.
  4. When PHP requests are overloaded
    • when your existing PHP settings can’t handle enough concurrent requests, resulting in a 504 Gateway Timeout error, applying PHP-FPM can fix the problem.

PHP-FPM Key Settings Explained and Recommended Values

To optimize the performance of PHP-FPM, we’ve summarized the important settings and recommended values below, each of which affects the performance of request handling for dynamic websites, such as the WordPress admin page.

name: 1️⃣ pm.max_children

  • description
    • defines the maximum number of requests that can be processed at the same time.
    • Sets the maximum number of requests that PHP-FPM can handle at once, after which requests will be put into a queued state.
    • this value is determined by the memory capacity of the server.
  • recommended values
    • 10-50: Small websites.
    • 50-150: Medium traffic websites.
    • 150-300: High-traffic websites.
    • (For example, you can have about 20 max_children per 1 GB of RAM)

description: 2️⃣ pm.start_servers

  • description
    • The number of processes PHP-FPM prepares at startup.
    • sets the number of processes that are ready and waiting to handle initial requests.
    • a setting that is too low can increase the latency of initial requests.
  • recommended value
    • set between the values of pm.min_spare_servers and pm.max_spare_servers
      • example) If pm.min_spare_servers=5 and pm.max_spare_servers=10,set pm.start_servers=7.

description: 3️⃣ pm.min_spare_servers

  • description
    • defines the minimum number of processes that should always be kept alive while waiting for requests.
    • if there are fewer processes than this value, PHP-FPM will create a new process.
  • recommended value
    • small sites: 2-5
    • high-traffic sites : 5-10

4️⃣ pm.max_spare_servers

  • description
    • defines the maximum number of processes that can be created to wait for requests.
    • processes that exceed the set value will be eliminated.
    • if this value is too high, it can cause memory waste.
  • recommended value
    • small sites: 5 to 10
    • high-traffic sites : 10-20

5️⃣ pm.max_requests

  • description
    • sets the maximum number of requests that each PHP-FPM process can handle.
    • this value serves to periodically recreate the process to prevent memory leaks.
    • a value that is too low can cause performance degradation due to frequent process regeneration, while a value that is too high can cause problems due to memory leaks.
  • recommended values
    • 500 to 1000: Stable request processing.
    • 1000 to 2000 ispossible onhigh-traffic websites ifthere are nomemory issues.

description: 6️⃣ pm=dynamic or static

  • explanation
    • How PHP-FPM processes are managed
      • dynamic: dynamically increase/decrease processes based on the number of requests.
      • static: Maintains a fixed number of processes.
  • recommended
    • dynamic: Suitable for most sites.
    • static: Sites that are very stable and require fixed resource allocation.

example final settings

here are some examples of settings based on your server memory and traffic situation

medium traffic (based on 4 GB of RAM)

pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 15
pm.max_requests = 1000

high Traffic (based on 8GB of RAM)

pm = dynamic
pm.max_children = 150
pm.start_servers = 20
pm.min_spare_servers = 15
pm.max_spare_servers = 30
pm.max_requests = 2000

How to optimize the admin page by changing PHP-FPM settings

1️⃣ Why you need PHP-FPM settings

  1. improving concurrent request handling
    • PHP-FPM greatly improves the performance of dynamic websites like WordPress by managing multiple processes.
  2. increased resource efficiency
    • PHP requests are handled efficiently, reducing CPU and memory usage.
  3. improved speed, especially for admin pages
    • admin pages generate more PHP requests, so it’s important to optimize PHP-FPM’s performance.

2️⃣ Enable PHP-FPM and change the settings in your cPanel

  1. log in to your cPanel
    • log in to your hosting management tool and navigate to the PHP Settings page.
  2. Activate PHP-FPM
    • selectSoftware → MultiPHP Manager.
    • Make sure PHP-FPM is enabled for the domain used for your WordPress site, and if it is not, click the Enable button.
  3. Change PHP-FPM settings
    • goto Software → MultiPHP INI Editor.
    • Adjust the PHP-FPM related settings as shown below:

setting Description:

  • pm.max_children: Maximum number of requests that can be handled simultaneously. (The higher you set it, the more concurrent requests you can handle)
    • recommended value :
  • pm.start_servers: Initial number of processes.
  • pm.min_spare_servers: Minimum number of standby processes.
  • pm.max_spare_servers: Maximum number of spare processes.
  • pm.max_requests: Maximum number of requests that one process can handle. (500 to 1000 is recommended)
pm = dynamic pm.max_children = 20 pm.start_servers = 4 pm.min_spare_servers = 2 pm.max_spare_servers = 8 pm.max_requests = 500

3️⃣ Modifying the PHP-FPM configuration file directly

if your hosting environment is not cPanel, you can connect to your server with SSH and modify the PHP-FPM configuration file directly.

  • Open the PHP-FPM configuration file:
    After connecting to the server via SSH, open the PHP-FPM configuration file. To open the PHP-FPM configuration file, open a shell and enter the code below.
sudo nano /etc/php/7.x/fpm/pool.d/www.conf
  • modify the settings:
    adjust the main items as below
pm = dynamic pm.max_children = 30 pm.start_servers = 5 pm.min_spare_servers = 3 pm.max_spare_servers = 10 pm.max_requests = 1000
  • Restart PHP-FPM:
    restart the PHP-FPM service after changing the settings.
sudo systemctl restart php7.x-fpm


4️⃣ Additional work to optimize the admin page

In addition to changing the PHP-FPM settings, to optimize your WordPress admin page speed, do the following tasks together

  1. Limit the Heartbeat API
    • Install the Heartbeat Control plugin to limit the frequency of AJAX requests on the admin page.
  2. set up cache plugins
    • Utilize cache plugins like WP Rocket and W3 Total Cache to improve admin page performance.
  3. optimize your database
    • Use the WP-Optimize plugin to clean up outdated revisions, temporary data, and more.
  4. Upgrade your PHP version
    • Using PHP 8.0 or higher will significantly improve performance.

check your PHP-FPM optimization results 5️⃣

  1. check site performance
    • check if the admin page speed has improved.
    • if necessary, analyze query processing times with the Query Monitor plugin.
  2. check server resource usage
    • monitor CPU and memory usage in cPanel or your server management tool.

🚀 Conclusion

Properly tuning your PHP-FPM settings can significantly improve the speed of your WordPress admin page. additionally, limiting Heartbeat, cache optimization, database cleanup, etc. can have an even greater effect.

PHP-FPM is a PHP execution environment that improves both performance and resource management, and is especially useful for solving speed issues on high-traffic sites or WordPress admin pages. when set up correctly, it can dramatically improve your website’s performance and provide reliable service through efficient process management.

Let’s take a look at what PHP-FPM offers and how to set it up, then move on to specific steps to troubleshoot WordPress performance issues. 😊