Top Nav

Archive | Webservers

Plesk / Nginx Open Files Limit

Was trying to increase open files limit for nginx on a Plesk server following instructions here:

MariaDB on CentOS 7 – “Error in accept: Too many open files”

But the limit was not changing. After digging around I found that Plesk was overriding with a config file here:

As described here:

https://support.plesk.com/hc/en-us/articles/213938485-nginx-fails-to-start-reload-on-a-Plesk-server-Too-many-open-files

the easy way to fix open file limit on Plesk is to use:

0

Fixing “Size of a request header field exceeds server limit.” error

This error from Apache is typically caused by a very large cookie. In Apache the “LimitRequestFieldSize” directive sets this limit. The default is 8190 bytes. To change the file create a file at:

/etc/httpd/conf.d/custom.conf

or

/etc/apache2/conf.d/custom.conf

containing the desired change:

Reload Apache after adding the file with:

/sbin/service apache2 restart

or

/sbin/service httpd restart

0

Expires Header In Nginx On Plesk

Trying to add an Expires header in Nginx on a Plesk server like this is problematic.

The “location” directive conflicts (overrides) the “location” directive created by Plesk. The work around is to disable “Serve static files directly by nginx” but this is a valuable feature that we usually don’t want to turn off.

An alternative is to use a “map” directive. Setup the map in the global nginx config by creating /etc/nginx/conf.d/expires_map.conf with:

Next in the “Additional nginx directives” field add:

This works well but may not be possible on a shared server where the global nginx configuration can not be changed.

0

Nginx Redirects With Map File

Client provided a CSV file with several thousand redirects for site hosted on Plesk server. For maximum efficiency we implemented the redirects using a map file in Nginx.

Start by convert the CSV file to a map include file with one redirect per line, space delimited and terminated with a colon. For example:

I placed the file at:

/var/www/vhosts/acme.com/redirects/redirect.map

Next step is to add to global nginx config by creating a file at:

/etc/nginx/conf.d/redirect_maps.conf

containing:

Finally in Plesk, for the target subscription (acme.com) in “Apache & Nginx Setting” add the following to “Additional Nginx directives:

0

Clearing PHP opcache

Great article on how to clear the PHP opcache:

https://ma.ttias.be/how-to-clear-php-opcache/

To facilitate use on a Plesk server created script and mapped into namespace:

https://acme.com/opcache_clear

Here’s the script:

And here’s the Apache config to map into a virtual host:

This above config should be placed in the “Apache & nginx setting” screen in the “Additional directives for https” field. In addition to setting the alias path we’re also setting the PHP handler.

Additionally under “Password protected directories” added password protection for “/opcache_clear”. This is just a placeholder for the password file which is referenced in the above config.

0