Schlüsselpunkte: Dieses Tutorial optimiert Sulu, ein symfonybasiertes CMS, für eine schnellere Leistung in einer vagranten Umgebung. Es befasst sich mit Symfonys inhärenten Langsamkeit auf virtuellen Maschinen mit gemeinsam genutzten Dateisystemen. Die detaillierten Techniken gelten für jede Symfony -Anwendung.
Diese Handbuchdetails Einrichten von Sulu auf Vagrant, einschließlich Box -Download, Ordnerfreigabekonfiguration, Sulu -Installation und entscheidende Leistungsverbesserungen. Nach der Anwendung dieser Optimierungen sollten sowohl https://test.app/admin
als auch https://test.app
signifikant schneller sein.
Einrichten und Optimieren von Sulu auf Vagrant
Wir werden das Homestead verbessert, aber die Prinzipien gelten im Großen und Ganzen.
1. Erstes Setup:
git clone https://github.com/swader/homestead_improved hi_sulu cd hi_sulu; bin/folderfix.sh
Homestead.yaml
: - map: test.app to: /home/vagrant/Code/sulu/web type: symfony-sulu
(Die bereitgestellte Nginx-Konfiguration ist entscheidend; passen Sie sich nach Bedarf für Nicht-Homestead-Umgebungen an.)
2. Vagrant- und Sulu -Installation:
vagrant up; vagrant ssh
test.app
zu der /etc/hosts
-Fatei Ihres Hosts. cd Code git clone https://github.com/sulu-io/sulu-standard sulu; cd sulu git checkout master composer install
(adressieren Sie potenzielle PHP -Versionen; Upgrade bei Bedarf mit sudo apt-get upgrade php7.0-fpm
.)
cp app/Resources/webspaces/sulu.io.xml.dist app/Resources/webspaces/sulu.io.xml cp app/Resources/pages/default.xml.dist app/Resources/pages/default.xml cp app/Resources/pages/overview.xml.dist app/Resources/pages/overview.xml cp app/Resources/snippets/default.xml.dist app/Resources/snippets/default.xml rm -rf app/cache/* rm -rf app/logs/*
app/console sulu:build dev
app/console assetic:dump
web/admin.php
und web/website.php
aktivieren (ändern Sie SYMFONY_ENV
zu dev
).
3. Leistungsoptimierung Hacks:
app/AbstractKernel.php
und getCacheDir
für Dev/Test -Umgebungen getLogDir
und /dev/shm
. Dies verschiebt Protokolle und Cache in VM-Local Storage. vendor
auf einen VM-Local-Pfad (z. B. /home/vagrant/vendors/sulu-test.app
). Dies verbessert die Leistung erheblich, indem der Zugriff auf gemeinsam genutztes Dateisystem vermieden wird. (detaillierte Schritte finden Sie im ursprünglichen Artikel zur manuellen Anpassung.) Verwenden Sie das bereitgestellte Skript ~/Code/bin/sulu/vendorfix.sh
oder befolgen Sie die manuellen Schritte. Aktualisieren Sie Ihre IDEs entsprechend den Pfad. web/website.php
und web/admin.php
. realpath_cache_size
und realpath_cache_ttl
in /etc/php/7.0/fpm/php.ini
. Betrachten Sie die Installation der Twig C -Erweiterung und Deaktivierung von XDebug (sudo phpdismod xdebug; sudo service php7.0-fpm restart
).
4. Fehlerbehebung:
adressieren gemeinsame Probleme wie abgestandener Cache, falsche Klassenorte (verwenden Sie app/console cache:clear
, rm -rf app/cache/*
, composer update
) und APC -Cache -Busting (apc_clear_cache()
). Optimieren Sie das Debuggen bei Bedarf.
Schlussfolgerung:
Diese Optimierungen verbessern die Leistung von Sulu auf Vagrant dramatisch. Die Techniken, insbesondere der Umzug und die Optimierung des Anbieters Verzeichnis, sind weit verbreitet für jedes Symfony -Projekt. Denken Sie daran, die Pfade und Konfigurationen an Ihr spezifisches Setup anzupassen. Der FAQS -Abschnitt enthält einen weiteren Kontext und beantwortet gemeinsame Fragen zu Symfony, Sulu und Vagrant -Leistung.
Das obige ist der detaillierte Inhalt vonSymfony on Vagrant Performance Hacks - Sulucms Fallstudie. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!