Please note that this checklist covers most standard setups, but if your website or application is running across multiple servers or a cluster, then not all checks will be applicable to all servers. Some of these points do require some technical knowledge - if you are unable to perform some or all of these tasks then please contact us for further assistance.
-
Ensure that your server (or instance, in the Cloud) is up and has Internet
connectivity and ensure firewall rules are not blocking access
- Covering two points as they are closely linked, firstly, ensure your server is online. If you are using a Cloud provider such as AWS, they provide detailed information about the health of your server. Login to the control panel and check if the instance is healthy. If you are using a dedicated or virtual server from a non-Cloud provider, such as Hetzner, login to your control panel and locate the console options (if provided). Typically most hosting companies allow you to access a console where you can see the output of the screen as if you were standing in front with a monitor and keyboard. If this is not provided, then your only option is to either reboot the machine or raise a ticket. Please note that simply rebooting a machine may cause data corruption, especially when dealing with databases such as MySQL. It is highly recommended that you first attempt to contact the hosting company before initiating a hard reboot. However, if they are not responding and/or it is time critical, ensure you have a backup of your data, then perform a restart, after checking all the points you can below. Another potential issue could be firewall rules - if using a Cloud provider such as AWS then check the security groups to ensure the correct ports are open for accessing your services (typically this is port 80, http, and 443 https). Unfortunately, if you have blocked yourself out with a firewall, your only option is to restart the machine and see if the firewall rules revert.
-
Check your hosting provider’s status page or twitter feed
- More often than not, most hosting providers are updating their clients on their official status pages or via twitter when they are experiencing issues. Simply search Google for “nameofyourhost status”, e.g.
-
Check if your domain name is resolvable
- This can cover both DNS (domain name services) and domain validity.
If your DNS provider is having issues then it is possible visitors cannot resolve the IP address of your server.
- Check your DNS sttatus: http://mxtoolbox.com/DNSLookup.aspx
- It hasnt been unknown for companies or people to forget to renew their domain name, change email addresses and then not receive renewal notifications. Once a domain lapses there are typically a few days when you can renew without losing it. Check your domain validity online in a few quick steps: http://whois.domaintools.com
- Scroll down and look for “expiry date”
- This can cover both DNS (domain name services) and domain validity.
If your DNS provider is having issues then it is possible visitors cannot resolve the IP address of your server.
-
Check your SSL certificate (if applicable)
- When your SSL expires then users will receive a warning notification that they should not proceed. Try and load your website and check the validity period of the SSL certificate. It may be that you have set to ignore warnings and cannot see that it has expired. You can do this by clicking on the padlock in the top left, by your URL bar, then checking “details” (if you are using Chrome). Click to “view certificate” and then locate the “valid from and to” date.
-
Check if SSH services are available and login to check the following below
- If you are running a Linux server and have setup SSH services then try to connect to your server to perform a few checks. If you previously enabled SSH and cannot connect, then that could lead to problems with connectivity as per point 1 and 2 above. If you have managed to connect to your server terminal then check below. The same applies with Windows servers, but using a different tool, such as Remote Desktop.
-
Check if your disk space or partition is full
-
A common cause of website outages occurs when the disk space or partition where log files is kept, fills up. Once the web
server or database server cannot write to a log file, more often than not,
the process will lock and this will stop the user being able to load the website.
- In Linux, the common command is: df -h
- This will return a list of partitions and how much disk space they have left. If one says 100% then this is a clear indicator of an issue. Be careful before deleting or moving files
- Within Windows, use the My Computer to locate each disk and check the space free.
- In Linux, the common command is: df -h
-
A common cause of website outages occurs when the disk space or partition where log files is kept, fills up. Once the web
server or database server cannot write to a log file, more often than not,
the process will lock and this will stop the user being able to load the website.
-
Check if your critical software processes are working (web server/database)
- Within Linux there is a simple way to check if your web server and/or database server is up
- If using Apache2: ps -ef | grep apache
- If using NGINX: ps -ef | grep nginx
- If using MySQL: ps -ef | grep mysql
- Simply replace the name of the web server with your own
- If the results returned do not show a process running, there may be an issue. It’s easy to be confused with the results as the command you are using to search for the process, comes up. See the example screenshot below of what to look out for.
- Within Linux there is a simple way to check if your web server and/or database server is up
-
Check if you’re currently under denial-of-service (DoS) attack or equivalent
- If your server is under attack then it can perform very slowly (or not at all). One way to check is to look at
the process list and/or network traffic. This may identify where the attack is coming from, allowing you to block
the IP or range of IPs from your hosting control panel. It is unlikely that blocking the malicious attack
from the server itself will help, since your network is being flooded, genuine users still cannot get through.
There are couple of tools that may help you display the network traffic on your machine, one of them is iftop.
- If you are using debian based distribution, you can install iftop using the following command: apt-get install iftop
- If you are using a RPM distribution, you can install iftop using the following command: yum install iftop
- After the installation is done, you can run the the program simply by issuing the command: iftop -n
- If your server is under attack then it can perform very slowly (or not at all). One way to check is to look at
the process list and/or network traffic. This may identify where the attack is coming from, allowing you to block
the IP or range of IPs from your hosting control panel. It is unlikely that blocking the malicious attack
from the server itself will help, since your network is being flooded, genuine users still cannot get through.
There are couple of tools that may help you display the network traffic on your machine, one of them is iftop.
-
Check memory (RAM) usage and SWAP usage
- If the server memory and/or swap has run out, new requests would be blocked.
This could happen due to a memory leak in your application or caused by a package on your system.
If you are able to login to your machine via SSH then run one of the following commands: top or htop
- This will highlight key areas of memory usage
- If your memory is full or SWAP is disabled/full too, then attempt a restart of the application or service using the most memory.
- If this fails, then restart the server to free the memory
- If the server memory and/or swap has run out, new requests would be blocked.
This could happen due to a memory leak in your application or caused by a package on your system.
If you are able to login to your machine via SSH then run one of the following commands: top or htop
-
Check if your files are available from the server (web files and database)
- If your files are mounted on another partition, or a remote or network drive, check to see they are available.
Still having issues?
Give us a call or send us a message and we will do our best to get you back online.