Creating a Location page template based on the location page mockup.
Author: David Windham
-
Interactive Blocks
I built out two custom blocks that can be embedded into any layout, post, or page.
Find
Care NowFind
Care NowSince the hard part is knocked out, we can go back in and give it a bit more style and work on some of the details. All of these are individually editable via the Gutenberg theme editor. The originals are locked down but you can duplicate and place anywhere in a layout.
I added an off-canvas navigation block that’s in the current header. The bottom menus there are controlled by the secondary navigation in the admin.
I added the JavaScript needed to auto-hide the navigation header up scrolling down and returning it upon scrolling up.
-
Mockups
Got a couple mockups for building some custom blocks.
-
WordPress Config
Place to put all WordPress specific configurations.
WordPress 6.3 introduced ‘development mode’ which avoids the theme.json caching.
define( 'WP_DEVELOPMENT_MODE', 'theme' );
use debug logging on local and remote in development
define('WP_DEBUG', true); define('WP_DEBUG_DISPLAY', true ); define('WP_DEBUG_LOG', '/_log/error.log');
-
Layouts
Try and keep the default layouts very simple so that the site maintains consistency. Use full width and avoid the sidebar for the defaults.
- Spacing
- Width Options
- Padding Options
- Templates
- Index
- Posts
- Page
- Page No Title
- Page No Padding
- Page Sidebar
- Page Subnav
- Search Results
- Archives
- Patterns
- Banner
- Cover
- Hero
- Grid
- Grid Gallery
- Grid Media
- Short Heading
- Poster
- Call to Action
Other Layouts
About the book
This exquisite compilation showcases a diverse array of photographs that capture the essence of different eras and cultures, reflecting the unique styles and perspectives of each artist. Fleckenstein’s evocative imagery, Strand’s groundbreaking modernist approach, and Kōno’s meticulous documentation of Japanese life come together in a harmonious blend that celebrates the art of photography. Each image in “The Stories Book” is accompanied by insightful commentary, providing historical context and revealing the stories behind the photographs. This collection is not only a visual feast but also a tribute to the power of photography to preserve and narrate the multifaceted experiences of humanity.
About Us
Fleurs is a flower delivery and subscription business. Based in the EU, our mission is not only to deliver stunning flower arrangements across but also foster knowledge and enthusiasm on the beautiful gift of nature: flowers.
We’re a studio in Berlin with an international practice in architecture, urban planning and interior design. We believe in sharing knowledge and promoting dialogue to increase the creative potential of collaboration.
Shore with Blue Sea
Eleanor Harris (American, 1901-1942)
The voyage had begun, and had begun happily with a soft blue sky, and a calm sea.
Single
Enrich our growing community.
- General admission and member discounts for one adult
- One free ticket per special exhibition
- Two single-use guest passes per year
Family
Support special exhibitions.
- General admission and member discounts for two adults
- Four free tickets per special exhibition
- Four single-use guest passes per year
Patron
Take support to the next level.
- General admission and member discounts for two adults
- Five free tickets per special exhibition
- Six single-use guest passes per year
Open Spaces
Opening
PartyAirplane
Copper wire, wood base. I created this piece in late 2008. For this work, I aimed to convey both the industrial heaviness of an airplane, but also the cloudlike floating quality you feel when you’re in one.
Location:
82 Main St. Brooklyn, NYDate:
October 24, 2021They followed her on to the deck. All the smoke and the houses had disappeared, and the ship was out in a wide space of sea very fresh and clear though pale in the early light. They had left London sitting on its mud. A very thin line of shadow tapered on the horizon, scarcely thick enough to stand the burden of Paris, which nevertheless rested upon it. They were free of roads, free of mankind, and the same exhilaration at their freedom ran through them all.
The ship was making her way steadily through small waves which slapped her and then fizzled like effervescing water, leaving a little border of bubbles and foam on either side. The colourless October sky above was thinly clouded as if by the trail of wood-fire smoke, and the air was wonderfully salt and brisk. Indeed it was too cold to stand still. Mrs. Ambrose drew her arm within her husband’s, and as they moved off it could be seen from the way in which her sloping cheek turned up to his that she had something private to communicate.
Our small team is a group of driven, detail-oriented people who are passionate about their customers.
Embark
ON A HIKING
adventure and explore the beauty of nature’s best…
In the
WOODS.
Walk
In the
Park
—01.03
Even the bitterest fruit has sugar in it.
– Terry a O’Neal
The trees that are slow to grow bear the best fruit.
– Molière
- Spacing
-
Configuration
I like the idiom ‘configuration over code’ which means that the way you configure your editor and tools takes precedence over the code itself. I’m documenting various configurations here for posterity.
- environment
- server
- client
- development
- editor
- cms
- version control ( git )
- language
- perfs
- error reporting
- debugging
- logging
Environment -> Server
Because we’ll be using both Apache and nginx web servers for performance reasons, the configuration files for each can be server wide or target specific websites. Apache uses
.htaccess
and Nginx usesnginx.conf
files# .htaccess # .htpasswd <FilesMatch "(\.htaccess|\.htpasswd)"> Order deny,allow Deny from all </FilesMatch> # Blocking bots RewriteCond %{HTTP_USER_AGENT} (AdsBot-Google|AI2Bot|Ai2Bot-Dolma|Amazonbot|anthropic-ai|Applebot|Applebot-Extended|AwarioRssBot|AwarioSmartBot|Bytespider|CCBot|ChatGPT|ChatGPT-User|Claude-Web|ClaudeBot|cohere-ai|cohere-training-data-crawler|Crawlspace|DataForSeoBot|Diffbot|DuckAssistBot|FacebookBot|FriendlyCrawler|Google-Extended|GoogleOther|GoogleOther-Image|GoogleOther-Video|GPTBot|iaskspider/2.0|ICC-Crawler|ImagesiftBot|img2dataset|ISSCyberRiskCrawler|Kangaroo Bot|magpie-crawler|Meta-ExternalAgent|Meta-ExternalFetcher|OAI-SearchBot|omgili|omgilibot|PanguBot|peer39_crawler|PerplexityBot|PetalBot|Scrapy|SemrushBot|Sidetrade indexer bot|Timpibot|VelenPublicWebCrawler|Webzio-Extended|YouBot) [NC] RewriteRule ^ – [F] # Caching <IfModule mod_headers.c> <FilesMatch "\.(ico|pdf|js|mjs|css|gif|png|jpg|jpeg|txt|woff2|woff)$"> Header set Cache-Control "max-age=31536000, public" </FilesMatch> </IfModule> <IfModule mod_headers.c> <FilesMatch "\.(js|mjs|css|xml|gz)$"> Header append Vary Accept-Encoding </FilesMatch> </IfModule> <IfModule mod_headers.c> <FilesMatch ".(js|mjs|css|xml|gz|html|woff|woff2|ttf)$"> Header append Vary: Accept-Encoding </FilesMatch> </IfModule> # Keep Alive Header <IfModule mod_headers.c> Header set Connection keep-alive </IfModule> # CORS <IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js|mjs|gif|png|jpe?g|svg|svgz|ico|webp)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch> </IfModule>
# nginx.conf # Security Headers add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data: https:;" always; server_tokens off; # compression gzip_vary on; gzip_comp_level 6; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; gzip_proxied no-cache no-store private expired auth; gzip_disable "MSIE [1-6]\.";
Development -> WordPress
WordPress 6.3 introduced ‘development mode’ which avoids the theme.json caching.
define( 'WP_DEVELOPMENT_MODE', 'theme' ); define('WP_DEBUG', true); define('WP_DEBUG_DISPLAY', true ); define('WP_DEBUG_LOG', '/_log/error.log');
- environment
-
Typography
I’ll lay out a decent selection of common typography configurations here for customizing. I create the font selection feature in the editor and add a series of custom selectable patterns to match the font combinations. This will make it easier to create consistent page layouts across different sections and sites.
Style Guide
- Century Gothic ( default )
- Berkeley Pro
- uses annual licensing for .woff/.woff2 web fonts.
Myriad Pro- Formata
- ECH – Avant Garde Gothic Bold, Standard and Berkeley Oldstyle Bold Italic
- AAMC – Trajan Pro Bold and Formata Medium.
- affiliated line – ITC Berkeley Oldstyle Italic.
- Entity names are Century Gothic Bold
Self Regional
Healthcare
Healthcare. Connected.
MED-TRANS ONE
Century Gothic
Century Gothic
Century Gothic
Century Gothic
Century Gothic
Century Gothic
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
1 2 3 4 5 6 7 8 9 0[M] Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut scelerisque sit amet nisi nec hendrerit. Nam pretium arcu quis metus viverra rhoncus sit amet egestas odio. Morbi dignissim, felis id placerat auctor, dolor massa condimentum erat, sed dictum neque ipsum vitae leo. In ex dui, tincidunt nec varius ut, malesuada id neque.
[S] Vestibulum dapibus id nunc aliquet tristique. Donec vehicula diam nulla, non placerat justo ullamcorper eu. Suspendisse iaculis erat ante, quis pharetra dolor tempor vitae. Duis facilisis consequat justo, sed tincidunt purus lobortis et. Vestibulum commodo nisi sit amet felis maximus viverra. Vestibulum porttitor arcu vitae eleifend commodo. Fusce vel risus efficitur, euismod magna et, elementum ante. Pellentesque leo urna, tincidunt nec pretium vel, ornare vel lorem.
[XS] Vestibulum dapibus id nunc aliquet tristique. Donec vehicula diam nulla, non placerat justo ullamcorper eu. Suspendisse iaculis erat ante, quis pharetra dolor tempor vitae. Duis facilisis consequat justo, sed tincidunt purus lobortis et. Vestibulum commodo nisi sit amet felis maximus viverra. Vestibulum porttitor arcu vitae eleifend commodo. Fusce vel risus efficitur, euismod magna et, elementum ante. Pellentesque leo urna, tincidunt nec pretium vel, ornare vel lorem.
[L] Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut scelerisque sit amet nisi nec hendrerit. Nam pretium arcu quis metus viverra rhoncus sit amet egestas odio. Morbi dignissim, felis id placerat auctor, dolor massa condimentum erat, sed dictum neque ipsum vitae leo. In ex dui, tincidunt nec varius ut, malesuada id neque.
[XL] Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut scelerisque sit amet nisi nec hendrerit. Nam pretium arcu quis metus viverra rhoncus sit amet egestas odio. Morbi dignissim, felis id placerat auctor, dolor massa condimentum erat, sed dictum neque ipsum vitae leo. In ex dui, tincidunt nec varius ut, malesuada id neque.
[XXL] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Century Gothic Bold
Century Gothic Bold
Century Gothic Bold
Century Gothic Bold
Century Gothic Bold
Century Gothic Bold
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
1 2 3 4 5 6 7 8 9 0Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut scelerisque sit amet nisi nec hendrerit. Nam pretium arcu quis metus viverra rhoncus sit amet egestas odio. Morbi dignissim, felis id placerat auctor, dolor massa condimentum erat, sed dictum neque ipsum vitae leo. In ex dui, tincidunt nec varius ut, malesuada id neque. Vestibulum dapibus id nunc aliquet tristique. Donec vehicula diam nulla, non placerat justo ullamcorper eu. Suspendisse iaculis erat ante, quis pharetra dolor tempor vitae. Duis facilisis consequat justo, sed tincidunt purus lobortis et. Vestibulum commodo nisi sit amet felis maximus viverra. Vestibulum porttitor arcu vitae eleifend commodo. Fusce vel risus efficitur, euismod magna et, elementum ante. Pellentesque leo urna, tincidunt nec pretium vel, ornare vel lorem.
Berkeley Pro ITC Old Style
Berkeley Pro ITC Old Style
Berkeley Pro ITC Old Style
Berkeley Pro ITC Old Style
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
1 2 3 4 5 6 7 8 9 0Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut scelerisque sit amet nisi nec hendrerit. Nam pretium arcu quis metus viverra rhoncus sit amet egestas odio. Morbi dignissim, felis id placerat auctor, dolor massa condimentum erat, sed dictum neque ipsum vitae leo. In ex dui, tincidunt nec varius ut, malesuada id neque. Vestibulum dapibus id nunc aliquet tristique. Donec vehicula diam nulla, non placerat justo ullamcorper eu. Suspendisse iaculis erat ante, quis pharetra dolor tempor vitae. Duis facilisis consequat justo, sed tincidunt purus lobortis et. Vestibulum commodo nisi sit amet felis maximus viverra. Vestibulum porttitor arcu vitae eleifend commodo. Fusce vel risus efficitur, euismod magna et, elementum ante. Pellentesque leo urna, tincidunt nec pretium vel, ornare vel lorem.
Berkeley Pro ITC Old Style
Berkeley Pro ITC Old Style
Berkeley Pro ITC Old Style
Berkeley Pro ITC Old Style
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
1 2 3 4 5 6 7 8 9 0Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut scelerisque sit amet nisi nec hendrerit. Nam pretium arcu quis metus viverra rhoncus sit amet egestas odio. Morbi dignissim, felis id placerat auctor, dolor massa condimentum erat, sed dictum neque ipsum vitae leo. In ex dui, tincidunt nec varius ut, malesuada id neque. Vestibulum dapibus id nunc aliquet tristique. Donec vehicula diam nulla, non placerat justo ullamcorper eu. Suspendisse iaculis erat ante, quis pharetra dolor tempor vitae. Duis facilisis consequat justo, sed tincidunt purus lobortis et. Vestibulum commodo nisi sit amet felis maximus viverra. Vestibulum porttitor arcu vitae eleifend commodo. Fusce vel risus efficitur, euismod magna et, elementum ante. Pellentesque leo urna, tincidunt nec pretium vel, ornare vel lorem.
Typeset
Styles
- creative touches like ligatures and drop caps
- clean fallback with woff fonts
- avoid flash of unstyled content
-
Color Palette
Blue
I noticed that the Branding Standards had the hex color #003399 but my color picker was matching it up slightly different. A common match for Pantone 286 C is the bottom swatch #0030A0. We’re going to stick with the #19458C HEX for the primary blue.
Per comment below from Andy. Additional color palette blue is based on 285U with CMYK values of 78, 32, 0, 0 and we also use K at 20% and 60%
These are generated using the two primary blues @ -77% saturation & 77/97% dark/light gradients. ( see demo )
Green & Tan
Abbeville Green – #008578 – Pantone 3283 C
Edgefield Tan – #D9B48F – Pantone 727 C
Blue – #0033A0 – #19458C – Pantone 286 CI’m working through multiple choices so that I’ll be able to set the colors in the editor palette to maintain consistency across layouts. We’ll need a ‘medical’ red for alerts and buttons. We’ll need both dark and light consistent background colors. Traditional medical colors such as scrubs are a good reference. Adjectives: sterile, clean, clear, bright, comforting, soothing, professional, objective.
Edgefield & Abbeville logos
haven’t matched the Pantone properly – estimation for now
Scrubs
Focusing primarily on the two lighter shades will give it a very clean and sterile effect with less contrast. I’m leaning heavily towards reducing any inverse layout to keep it ‘clean’. I really like the association with medical from the scrubs colors.
Palette
I’ve nailed down to this larger palatte and removed the the colors in the lower image for a minimal styling. I was informed that we wanted to stay away form the bright orange/red spectrum that another system uses, but given the use of red both in medical and as a system alert/banner/buttons, I tried to mix it with the existing tan for a more muted tone.
I’ll work from this palette on the redesign although I may run into cases where I need to an additional color. After the staging is up for preview, I’ll limit the editor.
-
Server
Setting up a new server for a project. This one has to be easily replicated and provide access to multiple systems level administrators. The named ‘squid’ 🦑 comes from a portmantuau of the hosting data center and because cephalopod intelligence is the best of the invertebrates.
- HIPPA Compliance
- Dedicated IPs
- Managed
- 24/7 Support
- East Coast location
- Processor: Intel(R) Xeon(R) E E-2456 (12 core) - RAM: 32GB DDR4 SDRAM - HD1: 2 x 960 GB SSD Hardware Raid 1 - HD2: 1 x 1.92 TB SSD Static hostname: *****.*****.*** Operating System: AlmaLinux 9.5 (Teal Serval) CPE OS Name: cpe:/o:almalinux:almalinux:9::baseos Kernel: Linux 5.14.0-503.23.2.el9_5.x86_64 Architecture: x86-64 10 TB Outbound Bandwidth Gigabit Uplink Port
System
AlmaLinux 9 🐧
Version 9 will have active support until 31 May 2027, and security support until 31 May 2032
Twenty years ago I started out on CentOS for personal projects because my job was using RHEL. Switched to Debian because it seemed like all the smart folks were using it. Then I started dabbling in Ubuntu and switched because I liked the free security patch model from Canonical. I have an Ubuntu server that has been running for 13 years. CERN switching from Scientific Linux had an impacct and the community model seems better than Rocky which I’d guess might see some of the fate of CentOS. It also seems popular amongst the enterprise folks and the binary is compatible the Red Hat using the Fedora package manager.
- Docs – https://wiki.almalinux.org/
- CERN – https://linux.web.cern.ch/almalinux/
- Wiki – https://en.wikipedia.org/wiki/AlmaLinux
User
disable root, add user, change ssh ports, add keys
useradd *********** usermod -aG wheel *********** su - *********** sudo vi /etc/ssh/sshd_config # disable root login PermitRootLogin no # obscure ssh port Port **** sudo systemctl restart sshd
add user to www-data
psaserv ( /conf /httpdocs )
psacln ( /)sudo usermod -a -G www-data ***********
Shell
change to oh-my-zsh
sudo dnf install zsh chsh -s $(which zsh) # log out/in sudo dnf install git curl wget sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Packages
- https://docs.fedoraproject.org/en-US/docs/
- Dandified YUM manager – https://docs.fedoraproject.org/en-US/docs/
sudo dnf clean all sudo dnf update
dnf --help dnf history dnf list installed dnf [ search/install/info/list/remove/upgrade/history/repolist/deplist ] sudo dnf upgrade package_name sudo dnf upgrade sudo dnf install htop
Systemd
rsyslog
Security
Hardening
- FIPS 140-3 security certification for its Linux distro
- AlmaLinux 9 OpenSCAP Guide – https://wiki.almalinux.org/documentation/openscap-guide-for-9.html
- SCAP is a U.S. standard maintained by the National Institute of Standards and Technology
- https://almalinux.org/blog/2023-11-28-cis-benchmarks-update/
- DoD Guide – https://public.cyber.mil/stigs/downloads/?_dl_facet_stigs=unix-linux
Ports
these are the default open ports for plesk
- 53 - DNS (TCP and UDP) - 80 - HTTP (TCP) - 110 - POP3 (TCP) - 123 - NTP (UDP) - 143 - IMAP (TCP) - 443 - HTTPS (TCP) (mandatory licensing) - 465 - SMTPS (TCP) - 587 - SMTP (Submission) (TCP) - 953 - RNDC (TCP) - 990 - FTPS (TCP) - 993 - IMAPS (TCP) - 995 - POP3S (TCP) - 3306 - MySQL (remote only) (TCP) - 5432 - PostgreSQL (TCP) - 8443 - Plesk HTTPS (TCP) - 8447 - Plesk Installer (TCP) - 8880 - Plesk HTTP (TCP) - 49152 - 65535 - (TCP) for FTP passive mode - incoming only
FirewallD
# status sudo systemctl status firewalld # open port sudo firewall-cmd --zone=public --add-port=80/tcp --permanent # close port sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent # reload sudo firewall-cmd --reload # list all ports sudo netstat -tunlp ### Mail - Mail - _Fail_ for un-routable email. - _nobody_ user
IPTables
Blacklist
Admin
Backup
Acronis Backups of full server everyday at 1:00am
Keep – daily 7days – weekly 4wks – monthly 1moMigrations
Monitor
Plesk
- docs – https://docs.plesk.com/
Plesk is somewhat painful for me but I need to have a system that is migration capable in case it or me need to be replaced. I’d prefer a stripped down version of Linux variant but it isn’t the best choice in this case. I like to complain about it. What gets me most of all is the lack of a barrier to entry means a bunch of novice users junking up the forums and making it hard to find the good information easily. It’s highly opinionated in how it operates creating a messy web of permissions and configuration files in an effort to give those features to the GUI users.
Admin
# admin password plesk bin admin --info plesk bin --get-login-link plesk bin admin --set-admin-password -passwd ********** plesk bin admin --set-login ******** plesk bin admin --enable-access-domain **************.com
Theme
zip -r srh_theme.zip . -x '**/.DS_Store' plesk bin branding_theme -i -vendor ******* -source srh_theme.zip plesk bin branding_theme -u -name srh_theme
Repair file system permissions
sudo plesk repair fs sudo plesk repair fs -vhosts sudo plesk repair fs example.com -vhosts
Extensions
plesk bin extension --list plesk bin extension --install extension_name plesk bin extension --upgrade extension_name plesk bin extension --uninstall extension_name plesk bin extension --disable extension_name plesk bin extension --enable extension_name
plesk bin extension --disable servershield plesk bin extension --disable laravel plesk bin extension --disable plesk-sitejet plesk bin extension --disable xovi plesk bin extension --disable nodejs plesk bin extension --disable composer plesk bin extension --disable wp-toolkit # default installs - acronis-backup - Acronis Backup - advisor - Advisor - composer - PHP Composer - configurations-troubleshooter - Webserver Configurations Troubleshooter - dnssec - Plesk DNSSEC - git - Git - heavy-metal-skin - Skins and Color Schemes - help-center - Help Center - imunify360 - Imunify - laravel - Laravel Toolkit - letsencrypt - Let's Encrypt - log-browser - Log Browser - mfa - Multi-Factor Authentication (MFA) - monitoring - Monitoring - nodejs - Node.js Toolkit - ntp-timesync - NTP Timesync - panel-ini-editor - Panel.ini Editor - plesk-sitejet - Sitejet Builder - repair-kit - Repair Kit - servershield - ServerShield by Cloudflare - site-import - Site Import - ssh-terminal - SSH Terminal - sslit - SSL It! - wp-toolkit - WP Toolkit - xovi- SEO Toolkit
Mail
🚫 I’ve maintained a lot of different servers over the years and the only thing I’ve constantly had issues with was email. I’ve also maintained servers dedicated just to email. I learned some years ago with my web servers to just wipe out the email systems and relay it to a third party. A lot of folks do this too… Google Cloud Platform, Amazon Web Services, and Microsoft Azure all blocks outbound traffic on port 25 which effectively blocks all email features. I no longer maintain any email servers and it’s one of the few services where I always rely on a third parties.
Security
Anyone who’s spent anytime in an enterprise IT environment can tell you that email phishing, compliance, training, and management is the bain of existence for sysadmins. Since email hacking tends to be the origin of a lot of bad stuff, I avoid the liability by refusing to manage anything other than pointing domain records elsewhere.
# disable all mail services and ports
SMTP
Will need to create a couple SMTP relay accounts
- sysadmin notifications
- cms notifications
- form notifications
Webserver
Apache
Nginx
Languages
PHP
v8.3.16 FPM
- https://support.plesk.com/hc/en-us/articles/12377086904471-How-to-calculate-pm-max-children-value-on-a-Plesk-server
- https://support.plesk.com/hc/en-us/articles/12377661896343-Websites-on-PHP-FPM-are-unavailable-or-loading-slowly-server-reached-max-children-setting-consider-raising-it
- Monitoring PHP-FPM – https://docs.360monitoring.com/docs/php-fpm-plugin
ps -ylC php-fpm --sort:rss
S UID PID PPID C PRI NI RSS SZ WCHAN TTY TIME CMD
S 0 931 1 0 80 0 87040 99039 ep_pol ? 00:00:00 php-fpm
pm.max_children = Total RAM / Max child process sizeDatabases
MariaDB
- allow local connections only
MariaDB v10.5.27
-
Editing Pages
I’m also going to keep a log of the project using posts so that we can occasionally use the comments for feedback and references.
Review and edit the current pages.