Hello horst. I haven't changed config.php beyond the required settings. Here it is, comments & sensitive data removed:
<?php
/**
* ProcessWire Configuration File
* [...]
*/
if(!defined("PROCESSWIRE")) die();
/*** SITE CONFIG *************************************************************************/
/**
* Enable debug mode?
* [...]
*/
$config->debug = false;
/*** INSTALLER CONFIG ********************************************************************/
/**
* Installer: Database Configuration
*
*/
$config->dbHost = /* [...] */;
$config->dbName = /* [...] */;
$config->dbUser = /* [...] */;
$config->dbPass = /* [...] */;
$config->dbPort = /* [...] */;
/**
* Installer: User Authentication Salt
* [...]
*/
$config->userAuthSalt = /* [...] */;
/**
* Installer: File Permission Configuration
*
*/
$config->chmodDir = '0755'; // permission for directories created by ProcessWire
$config->chmodFile = '0644'; // permission for files created by ProcessWire
/**
* Installer: Time zone setting
*
*/
$config->timezone = 'America/Toronto';
/**
* Installer: HTTP Hosts Whitelist
*
*/
$config->httpHosts = array('artsdeir.ca', 'www.artsdeir.ca');
Hi Webrocker.
The site has maybe a few dozen page objects, so I don't think it's that. The heavy lifting that the site does is in some form processing. After checking the incoming form data, it's encrypted with libsodium and stashed in an sql table as a blob. A module I developed allows the admin to list the stored entries without decrypting them, then select one for download. The download process involves decrypting the blob data, generating a PDF with dompdf, then encrypting that with phpaes. The resulting .aes files are ~3kb, and temp files are being deleted properly as far as I can see.
A few items pop to the top of top when requesting the site. Nothing breaks 1% CPU or 2.1% MEM:
httpd
nginx
sp-agent
mysqld
Hi cstevensjr. Here are the serverpilot apache and nginx config files. I had tried a few things with nginx main.custom.conf, but reverted to default when I was unsuccessful and deleted the file. The goal was to try to set up an unsigned SSL certificate to use with CloudFlare's free service (without paying for the next tier of serverpilot), but I might just buy it from serverpilot. I haven't used nginx before, so that part of the server config is fairly opaque to me.
apache main.conf and main.custom.conf (identical):
AcceptPathInfo on
DirectoryIndex index.html index.htm index.php
<Directory ${DOCUMENT_ROOT}>
AllowOverride All
Require all granted
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f
RewriteRule \.php$ - [R=404]
</Directory>
RewriteEngine On
RewriteCond %{HTTP:Authorization} .+
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
<Files *.php>
SetHandler proxy:${PHP_PROXY_URL}
</Files>
<Proxy ${PHP_PROXY_URL}>
ProxySet timeout=3600 retry=0
</Proxy>
nginx main.conf:
location / {
proxy_pass $backend_protocol://$backend_host:$backend_port;
}
Thank you all for your help!