There are (at least) two lines of thoughts regarding distributed systems, and depending on your environment your system may or may not qualify as such:
Computer Science - in this case, a distributed system solves an algorithmic problem such that each node does part of the processing, in some instances even without a controller coordinating the task. Usually the goal is to find a distributed algorithm to solve a problem more efficiently.
Information Systems - in this case, a distributed system is one which distributes presentation, application and database among multiple autonomous entities that communicate via a network (by passing messages among each-other).
(Note that on an a sincerely abstract level that's the same definition -- any computational problem is in fact an algorithmic problem, but let's save this argument for a different discussion).
So yes, you can consider yours a distributed system, and we can argue so given the definition as found in Wikipedia:
1. There are several autonomous computational entities, each of which has its own local memory.[7]
2. The entities communicate with each other by message passing.[8]
In your case, the web server along with your application code, the database server and the image server are all autonomous computational entities with their own local memory, and they communicate by message passing (that is, sending messages back and forth via the network).
The same Wikipedia article also lists several architectures for building distributed systems, one of which is the n-tier Architecture:
In software engineering, multi-tier architecture (often referred to as
n-tier architecture) is a client–server architecture in which
presentation, application processing, and data management functions
are logically separated.
Further, your system clearly has multiple tiers (the application, the database and the image store). It probably also has multiple layers, that is if you followed Symfony's MVC model. MVC by definition seperates presentation and application logic, and since (at least part of) the presentation layer is most certainly run by a web browser, this is in fact a 3-tier architecture:
Three tier systems move the client intelligence to a middle tier so
that stateless clients can be used. This simplifies application
deployment. Most web applications are 3-Tier.