Webserver einrichten
Diese Seite richtet sich an Entwickler und Administratoren, die ein DXP-Projekt hinter einen Webserver stellen. Die Beispiele stammen aus der Anleitung des Skeletons (Abschnitt 6), gekürzt; passen Sie Hostnamen und Pfade an.
Inhalt
- Was jede Einrichtung braucht
- Apache 2.4
- Nginx
- Symfony CLI für die Entwicklung
- HTTPS
- Nach einer Änderung neu laden
Was jede Einrichtung braucht
- Das Document Root ist
public/, nie das Hauptverzeichnis des Projekts. - Jede Anfrage, die keine vorhandene Datei ist, geht an
public/index.php. APP_ENV=prod,APP_DEBUG=0in der Produktion.APP_HTTP_CACHE=1schaltet den HTTP-Cache von Symfony ein; setzen Sie es auf0, wenn Varnish davor zwischenspeichert (HTTP-Cache und Varnish).- Keine andere
.php-Datei unterpublic/wird ausgeführt.
Apache 2.4
Aktivieren Sie die Module: a2enmod rewrite deflate headers expires. Betreiben Sie Apache mit dem Event-MPM und
PHP-FPM.
<VirtualHost *:80>
ServerName exponential.local
DocumentRoot /var/www/exponential/public
DirectoryIndex index.php
SetEnv APP_ENV "prod"
SetEnv APP_DEBUG "0"
SetEnv APP_HTTP_CACHE "1"
<Directory /var/www/exponential/public>
AllowOverride None
Require all granted
FallbackResource /index.php
</Directory>
</VirtualHost>Nginx
server {
listen 80;
server_name exponential.local;
root /var/www/exponential/public;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ ^/index\.php(/|$) {
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param APP_ENV prod;
fastcgi_param APP_DEBUG 0;
fastcgi_param APP_HTTP_CACHE 1;
internal;
}
location ~ \.php$ {
return 404;
}
}Testen und neu laden: nginx -t && systemctl reload nginx.
Symfony CLI für die Entwicklung
symfony server:start # HTTPS on https://127.0.0.1:8000
symfony server:start -d # in the background
symfony server:log
symfony server:stopVerwenden Sie sie nicht in der Produktion.
HTTPS
Liefern Sie die Produktion nur über HTTPS aus. Die Anleitung verwendet Certbot als einen Weg zu einem Zertifikat
(certbot --apache -d <your host>). Setzen Sie TRUSTED_PROXIES, wenn ein Proxy oder Varnish TLS vor der Anwendung
beendet, damit Symfony korrekte URLs bildet.
Nach einer Änderung neu laden
| Geändert | Befehl |
|---|---|
| Konfiguration von Apache | systemctl reload apache2 |
| Konfiguration von Nginx | systemctl reload nginx |
| Einstellungen von PHP-FPM oder PHP-Code mit OPcache | systemctl reload php8.3-fpm (die Unit Ihrer Version) |
| Anwendungscode | den Symfony-Cache leeren und vorwärmen (Befehle für den Alltag) |
Verwandte Seiten
- Bereitstellen
- Dateiberechtigungen
- Sicherheitshärtung (Exponential 6)
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.