Ich habe Nginx mit Homebrew installiert und nach Abschluss der Installation wurde die folgende Meldung angezeigt:
In the interest of allowing you to run `nginx` without `sudo`, the default
port is set to localhost:8080.
If you want to host pages on your local machine to the public, you should
change that to localhost:80, and run `sudo nginx`. You'll need to turn off
any other web servers running port 80, of course.
You can start nginx automatically on login running as your user with:
mkdir -p ~/Library/LaunchAgents
cp #{prefix}/org.nginx.nginx.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/org.nginx.nginx.plist
Though note that if running as your user, the launch agent will fail if you
try to use a port below 1024 (such as http's default of 80.)
Ich möchte jedoch , dass Nginx auf Port 80 bei der Anmeldung ausgeführt wird, und ich möchte nicht das Terminal öffnen und eingeben müssen, sudo nginx
um dies zu tun. Ich möchte, dass es aus einer plist-Datei geladen wird, wie es Redis und PostgreSQL tun.
Ich habe die plist /Library/LaunchAgents/
aus dem Benutzerordner in den entsprechenden Ordner verschoben und den Besitzer geändert. Außerdem habe ich versucht, die user
Direktive in der nginx.conf
Datei zu setzen, und immer noch die gleiche Fehlermeldung in Console.app:
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
(zusammen mit einer anderen Nachricht, die mir mitteilte, dass nginx
die user
Direktive ignoriert wurde , da sie ohne Superuser-Berechtigungen ausgeführt wurde)