Guten Abend,
ich habe einen managed vServer (debian), auf dem standardmäßig Apache
als Webserver läuft. Ich bin kein Anfänger was das Einrichten von
Webservern angeht, habe aber bislang einen Bogen um NGINX gemacht. Jetzt
würde ich gerne für ein Projekt NGINX nutzen und bin etwas erstaunt über
die Art, wie das vom Hoster umgesetzt wurde...
Die Installation soll der Kunde via SSH mit einem Befehl ("software
install nginx") erledigen (Homebrew?). Wenn man den Autostart von NGINX
wünscht, empfiehlt der Hoster einen Cronjob. Falls der Server von außen
erreichbar sein soll, muss man auf dem Server eine RewriteRule in der
.htaccess eintragen.
Ich empfinde schon den Cronjob als merkwürdig, aber für so Sachen wie
systemctl fehlen mir vermutlich die Rechte auf dem vServer...bei der
Umleitung via .htaccess frage ich mich jedoch, wo da der Sinn ist? Nach
meinem Verständnis arbeitet der Apache hier als Proxy für NGINX - anders
herum würde ich es ja noch verstehen.
Das klingt tatsächlich merkwürdig. Was möchtest du denn mit dem nginx
erreichen?
Wenn du sowieso immer durch den Apache durch musst, würde ich eher
versuchen deine Anwendung direkt über ProxyPass oder FastCGI an den
Apache zu hängen und auf den nginx verzichten.
Leo H. schrieb:> Das klingt tatsächlich merkwürdig. Was möchtest du denn mit dem nginx> erreichen?
Hallo leoloewe,
es geht um eine umfangreiche WordPress-Installation, für die der
Entwickler gerne NGINX hätte. Aus meiner Sicht ist es zunächst eine
Vorgabe des Entwicklers.
https://manual.uberspace.de/background-http-stack.html
Die hier machen das so ähnlich: Vorne lauscht der nginx (statt Apache)
und hinten dran können die Benutzer den Apache, andere Software oder ihr
eigenes Gebastel hängen. Ist dort ganz gut erklärt (siehe auch den Punkt
darüber "Networking").
Arne schrieb:> managed vServer (debian)
Auf einem managed Server sind etliche Änderungen am System nur durch den
Hoster möglich. Und der wird die Finger davon lassen - alle managed
Server sollten möglichst einheitliche Software fahren.
Deine Beschreibung liesst sich wie eine Anleitung zur Umgehung dieser
Restriktionen. Fürs Test- und Enwicklungssystem geht das, produktiv
würde ich das nicht einsetzen wollen.
Und ja, das wird Apache->Nginx, denn Apache läuft ja schon auf Port
80/443 und blockiert den Port für Nginx.
Abhilfe müsste OP mit dem Hoster absprechen, vielleicht hat der auch ein
Angebot für einen managed Server mit Nginx.
> Die Installation soll der Kunde via SSH mit einem Befehl ("software> install nginx") erledigen (Homebrew?).
Riecht ein wenig nach hetzner ist aber wohl ein Geheimnis deinerseits
welcher Anbieter ? Aber egal, das ist der Weg der zu gehen ist.
"software" ist dann quasi der Paketmanager des Hosters
der angepasste/freigegebene Pakete installiert.
Und ja im Grunde ist das HomeBrew for Linux.
Am eigentlichen System wird da nicht geändert und alles läuft
in deinem User Kontext.
> Wenn man den Autostart von NGINX> wünscht, empfiehlt der Hoster einen Cronjob.
Nicht schön aber auch nicht selten. Hierbei wird kein Regulärer
Cron angelegt der sich Periodisch wiederholt sonder ein
Spezieller "@reboot" der nur einmalig ausgeführt wird nach Systemstart.
> Falls der Server von außen> erreichbar sein soll, muss man auf dem Server eine RewriteRule in der> .htaccess eintragen.
Siehe andere Antworten, beim Default Webserver wird nicht geändert.
der horcht weiterhin auf den Standard Ports. Also mus eine
Umleitung erfolgen über ein Rewrite oder über irgendwelche Proxy
direktiven (wenn MOD_PROXY den auch installiert ist
Jim M. schrieb:> Deine Beschreibung liesst sich wie eine Anleitung zur Umgehung dieser> Restriktionen. Fürs Test- und Enwicklungssystem geht das, produktiv> würde ich das nicht einsetzen wollen.
Kannst Du Deine Bedenken konkretisieren? Ich würde das schon gerne
produktiv einsetzen, aber natürlich nicht auf Kosten der Sicherheit.
Marc D. schrieb:> Riecht ein wenig nach hetzner ist aber wohl ein Geheimnis deinerseits> welcher Anbieter ?
Nein, das ist kein Geheimnis. Ich hielt das nur nicht für wichtig. Deine
Vermutung ist richtig, es ist Hetzner:
https://docs.hetzner.com/de/konsoleh/server-management/faq/installation-of-common-software/#nginxMarc D. schrieb:> Siehe andere Antworten, beim Default Webserver wird nicht geändert.> der horcht weiterhin auf den Standard Ports. Also mus eine> Umleitung erfolgen über ein Rewrite oder über irgendwelche Proxy> direktiven (wenn MOD_PROXY den auch installiert ist
Würde die im Link beschriebene RewriteRule den NGINX in der Praxis
ausbremsen? Moderne Webseiten erzeugen pro Aufruf nicht selten Requests
im zweistelligen Bereich, und NGINX wird anscheinend gerne empfohlen,
wenn der prozess- und .htaccess-basierte Apache bei vielen
gleichzeitigen Anfragen träge wird. Es ist ja auch "nur" ein vServer,
bei dem ich die Leistung (z.B. "2 vCores") nicht wirklich einordnen
kann.
Arne schrieb:> Würde die im Link beschriebene RewriteRule den NGINX in der Praxis> ausbremsen? Moderne Webseiten erzeugen pro Aufruf nicht selten Requests> im zweistelligen Bereich, und NGINX wird anscheinend gerne empfohlen,> wenn der prozess- und .htaccess-basierte Apache bei vielen> gleichzeitigen Anfragen träge wird. Es ist ja auch "nur" ein vServer,> bei dem ich die Leistung (z.B. "2 vCores") nicht wirklich einordnen> kann.
Ja, man nimmt gern NGINX als Frontend, weil der da leichtgewichtiger ist
als ein Apache. Und der NGINX hat auch recht nette Caching-Mechanismen,
die sich relativ leicht konfigurieren lassen.
Wenn der Entwickler das so haben will, also NGINX-Frontend mit
FastCGI-Backend für Wordpress, dann ist der managed vServer bei Hetzner
dafür nicht der geeignete Unterbau.
Auf nem managed Server nginx und aufm gleichen Server Apache?
nginx schaltet man bei 'grossen' sites vor um die Last zu verteilen, auf
einem managed Server bremst man die Kiste damit nur noch mehr aus.
Frag deinen Entwickler ob er wirklich weiss was er da tut.
Arne schrieb:> Marc D. schrieb:>> Siehe andere Antworten, beim Default Webserver wird nicht geändert.>> der horcht weiterhin auf den Standard Ports. Also mus eine>> Umleitung erfolgen über ein Rewrite oder über irgendwelche Proxy>> direktiven (wenn MOD_PROXY den auch installiert ist>> Würde die im Link beschriebene RewriteRule den NGINX in der Praxis> ausbremsen? Moderne Webseiten erzeugen pro Aufruf nicht selten Requests> im zweistelligen Bereich, und NGINX wird anscheinend gerne empfohlen,> wenn der prozess- und .htaccess-basierte Apache bei vielen> gleichzeitigen Anfragen träge wird. Es ist ja auch "nur" ein vServer,> bei dem ich die Leistung (z.B. "2 vCores") nicht wirklich einordnen> kann.
Das macht sich bei Servern mit vielen, vielen Requests pro Sekunde
bemerkbar, und sowas hostet kein vernünftiger Mensch auf einem
virtuellen Server. Da kümmerst Du Dich besser um das Tuning Deiner
Datenbank und das Caching Deiner Webseiten, die Zeit ist besser
investiert.