Maison  >  Questions et réponses  >  le corps du texte

macos - Impossible de démarrer l'installation Brew de Nginx via Launchctl?

Cela n'a pas fonctionné lorsque je l'ai installé pour la première fois, et cela n'a pas fonctionné lorsque je l'ai changé pour la version de développement :

brew install nginx
brew upgrade --devel nginx

Par launchctl 命令来启动, 还试过多次 unloadload :

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

Le contenu du fichier de configuration est :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>homebrew.mxcl.nginx</string>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <false/>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/opt/nginx/bin/nginx</string>
        <string>-g</string>
        <string>daemon off;</string>
    </array>
    <key>WorkingDirectory</key>
    <string>/usr/local</string>
  </dict>
</plist>

J'ai vu une erreur lors de l'écoute du journal, mais je n'ai pas pu voir les informations spécifiques :

➤➤ tail -f /var/log/system.log
Feb 20 18:28:14 Air com.apple.launchd.peruser.501[244] (homebrew.mxcl.nginx[1200]): Exited with code: 1

De plus, manuellement sudo nginx ou le chemin dans le fichier de configuration est correct,
En comparant le code de Homebrew sur GitHub, ma configuration Nginx ne devrait pas être fausse...
https://github.com/Homebrew/homebrew/blob/master/Library/Formula/nginx.rb#L138

Les autorisations pour afficher les fichiers sont désormais :

➤➤ ls -l /usr/local/opt/nginx/bin/nginx
-r-xr-xr-x  1 chen  admin  675992 Feb 11 10:16 /usr/local/opt/nginx/bin/nginx
➤➤ l -l /usr/local/Cellar/nginx/1.5.8/bin/nginx
-r-xr-xr-x  1 chen  admin  675992 Feb 11 10:16 /usr/local/Cellar/nginx/1.5.8/bin/nginx

Les autorisations écrites en visudo sont :

 32
 33 # User privilege specification
 34 root    ALL=(ALL) ALL
 35 %admin  ALL=(ALL) ALL
 36
 37 # Uncomment to allow people in group wheel to run all commands
 38 # %wheel        ALL=(ALL) ALL
 39
 40 # Same thing without a password
 41 # %wheel        ALL=(ALL) NOPASSWD: ALL
 42 chen ALL=(ALL) NOPASSWD: ALL

S'il vous plaît, donnez-moi quelques conseils...


chmod u+sÉchec..

➤➤ sudo chmod u+s /usr/local/Cellar/nginx/1.5.8/bin/nginx
➤➤ ps aux | grep nginx
nobody           7254   0.0  0.0  2458140    916   ??  S     7:49PM   0:00.00 nginx: worker process
root             7253   0.0  0.0  2448924    360   ??  Ss    7:49PM   0:00.00 nginx: master process nginx
chen             7293   0.0  0.0  2432784    604 s002  S+    7:52PM   0:00.00 grep nginx
➤➤ sudo nginx -s stop
➤➤ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
homebrew.mxcl.nginx: Already loaded
➤➤ launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
➤➤ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
➤➤ ps aux | grep nginx
chen             7316   0.0  0.0  2432784    608 s002  S+    7:52PM   0:00.00 grep nginx
➤➤ sudo nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
➤➤ nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
➤➤ sudo chmod u-s /usr/local/Cellar/nginx/1.5.8/bin/nginx
➤➤ nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
➤➤ sudo nginx
➤➤
迷茫迷茫2712 Il y a quelques jours760

répondre à tous(1)je répondrai

  • 为情所困

    为情所困2017-05-16 17:30:06

    Il s'agit probablement d'un problème avec les autorisations d'exécution de nginx, voir cet article.

    sudo chown root:wheel /usr/local/Cellar/nginx/1.2.6/sbin/nginx
    sudo chmod u+s /usr/local/Cellar/nginx/1.2.6/sbin/nginx
    

    répondre
    0
  • Annulerrépondre