@@ -9,7 +9,7 @@ The preferred way to develop your Symfony application is to use
9
9
10
10
However, when running the application in the production environment, you'll need
11
11
to use a fully-featured web server. This article describes how to use Symfony
12
- with Apache or Nginx .
12
+ with Apache, Nginx or Caddy .
13
13
14
14
.. sidebar :: The public directory
15
15
@@ -185,7 +185,43 @@ The **minimum configuration** to get your application running under Nginx is:
185
185
186
186
For advanced Nginx configuration options, read the official `Nginx documentation `_.
187
187
188
+ Caddy
189
+ -----
190
+
191
+ When using Caddy on the server, you can use a configuration like this:
192
+
193
+ .. code-block :: raw
194
+
195
+ # /etc/caddy/Caddyfile
196
+ domain.tld, www.domain.tld {
197
+ root * /var/www/project/public
198
+
199
+ # serve files directly if they can be found (e.g. CSS or JS files in public/)
200
+ encode zstd gzip
201
+ file_server
202
+
203
+
204
+ # otherwise, use PHP-FPM (replace "unix//var/..." with "127.0.0.1:9000" when using TCP)
205
+ php_fastcgi unix//var/run/php/php7.4-fpm.sock {
206
+ # optionally set the value of the environment variables used in the application
207
+ # env APP_ENV "prod"
208
+ # env APP_SECRET "<app-secret-id>"
209
+ # env DATABASE_URL "mysql://db_user:db_pass@host:3306/db_name"
210
+ }
211
+
212
+ # return 404 for all other php files not matching the front controller
213
+ # this prevents access to other php files you don't want to be accessible.
214
+ @phpFile {
215
+ path *.php*
216
+ }
217
+ error @phpFile "Not found" 404
218
+ }
219
+
220
+ See the `official Caddy documentation `_ for more examples, such as using
221
+ Caddy in a container infrastructure,
222
+
188
223
.. _`Apache documentation` : https://httpd.apache.org/docs/
189
224
.. _`FastCgiExternalServer` : https://docs.oracle.com/cd/B31017_01/web.1013/q20204/mod_fastcgi.html#FastCgiExternalServer
190
225
.. _`Nginx documentation` : https://www.nginx.com/resources/wiki/start/topics/recipes/symfony/
191
226
.. _`How to run Symfony applications using NGINX Unit` : https://unit.nginx.org/howto/symfony/
227
+ .. _`official Caddy documentation` : https://caddyserver.com/docs/
0 commit comments