My server just started thorwing 404 on all sites (I’m running a few wordpress installs). htop shows no peaks in server load and when I reboot all sites work for about 2 minutes before throwing 404 again. I’ve made no changes to the server.
Anyone excperienced this? All help greatly appreciated.
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
@jens834585 we need to change your System. Here you go :
Before you start Snapshoot your Droplet
Paste this (at the end of the file) to /etc/sysctl.conf (using nano /etc/sysctl.conf) and save it (this change not only fixes your error it makes your System much better),
### IMPROVE SYSTEM MEMORY MANAGEMENT ###
# Increase size of file handles and inode cache
fs.file-max = 2097152
# Do less swapping
vm.swappiness = 10
vm.dirty_ratio = 60
vm.dirty_background_ratio = 2
### GENERAL NETWORK SECURITY OPTIONS ###
# Number of times SYNACKs for passive TCP connection.
net.ipv4.tcp_synack_retries = 2
# Allowed local port range
net.ipv4.ip_local_port_range = 2000 65535
# Protect Against TCP Time-Wait
net.ipv4.tcp_rfc1337 = 1
# Decrease the time default value for tcp_fin_timeout connection
net.ipv4.tcp_fin_timeout = 15
# Decrease the time default value for connections to keep alive
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 15
### TUNING NETWORK PERFORMANCE ###
# Default Socket Receive Buffer
net.core.rmem_default = 31457280
# Maximum Socket Receive Buffer
net.core.rmem_max = 12582912
# Default Socket Send Buffer
net.core.wmem_default = 31457280
# Maximum Socket Send Buffer
net.core.wmem_max = 12582912
# Increase number of incoming connections
net.core.somaxconn = 65535
# Increase number of incoming connections backlog
net.core.netdev_max_backlog = 65535
# Increase the maximum amount of option memory buffers
net.core.optmem_max = 25165824
# Increase the maximum total buffer-space allocatable
# This is measured in units of pages (4096 bytes)
net.ipv4.tcp_mem = 65535 131072 262144
net.ipv4.udp_mem = 65535 131072 262144
# Increase the read-buffer space allocatable
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.udp_rmem_min = 16384
# Increase the write-buffer-space allocatable
net.ipv4.tcp_wmem = 8192 65535 16777216
net.ipv4.udp_wmem_min = 16384
# Increase the tcp-time-wait buckets pool size to prevent simple DOS attacks
net.ipv4.tcp_max_tw_buckets = 1440000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
Paste this (at the end of the file) to /etc/security/limits.conf (using nano /etc/security/limits.conf) and save it,
nginx soft nofile 2097152
nginx hard nofile 2097152
root soft nofile 2097152
root hard nofile 2097152
www-data soft nofile 2097152
www-data hard nofile 2097152
Paste this (at the end of the file) to /etc/pam.d/common-session (using nano /etc/pam.d/common-session) and save it,
session required pam_limits.so
Change listen.backlog in /etc/php5/fpm/pool.d/www.conf (using nano /etc/php5/fpm/pool.d/www.conf) and save it,
listen.backlog = 65535
Change worker_rlimit_nofile in /etc/nginx/nginx.conf (using nano /etc/nginx/nginx.conf) and save it,
worker_rlimit_nofile 99999;
And finally reboot
PS: If it works give a hearth to show me some love
Hi
I am facing same issue . tried all given in the forum yet it is showing 404 :’
This comment has been deleted
This comment has been deleted
@EpicCDN cheers but the issue had been resolved now (see solution below), thank you so much for your help!
Sorry I just read your reply, but www.conf is incomplete, please paste that complete as is the most important part here.
Sure, here is my /etc/php5/fpm/pool.d/www.conf:
Here is a site:
Here are the included configfiles:
I’m a bit of a novice at this but I think I’m using just one pool for all sites, but htop shows no big server load…
Yeah, your php-fpm is failing so you need to find out why, ie is the php running out of memory? or there is some other issue, probably the first one.
can you copy/paste your nginx (one of the sites or two of them should be better) and your php-fpm www.conf?
Also do you have a single pool (php-fpm) for all your sites or use multiple pools one for each site?
Hi @EpicCDN thanks for your reply, php5-fpm is running and I’m running cloudflare on all sites.
I’m getting these errors in /var/log/nginx:
and
Is your php-fpm runnig? check service php-fpm status for it.
Sounds like your php is not handling well all the requests. Also try looking into a caching solution like Varnish + Cloudflare