GNU/Linux >> Znalost Linux >  >> Linux

Flask, Nginx, Gunicorn Stack Spuštění instance Selenium

Spouštěcí skript pro Chrome /usr/bin/google-chrome má problém, jak naznačuje /usr/bin/google-chrome: line 24: XXX: command not found :

[1563464973.354][INFO]: Launching chrome: /usr/bin/google-chrome [...]
/usr/bin/google-chrome: line 8: readlink: command not found
/usr/bin/google-chrome: line 24: mkdir: command not found
/usr/bin/google-chrome: line 45: exec: cat: not found
/usr/bin/google-chrome: line 46: exec: cat: not found

Může to být jednoduchý $PATH problém, což znamená, že uWSGI server nenajde všechny zmíněné příkazy readlink atd. protože nemá tyto příkazy v $PATH variabilní.

Upozornění: Ne bych povolit www-data pro přístup ke všem příkazům XXX změnou jejich oprávnění by to byl hlavní bezpečnostní problém na produkčním serveru!

Místo toho doporučuji podívat se na následující otázku SO:Jak opravit chybu „usr/bin/google-chrome již neběží, takže ChromeDriver předpokládá, že Chrome havaroval“ v Linuxu?

Alternativa :Dokážete nějak vyřešit svou práci bez použití Chrome? Jaké jsou vaše důvody pro spuštění Chrome jako služby na webovém serveru?


Přidejte :/bin k vaší PATH, jak je uvedeno níže:

Environment="PATH=/home/artem/env/bin:/usr/bin:/bin"

mkdir , readlink atd. jsou v /bin cesta, která není v upraveném PATH


Linux
  1. Proč /bin/sh ukazuje na /bin/dash a ne /bin/bash?

  2. povolení odepřeno pro skladatele v /usr/local/bin/

  3. Kdy mám použít /dev/shm/ a kdy /tmp/?

  1. Rozdíl mezi /bin a /usr/bin

  2. Co je /usr/bin/[?

  3. #!/bin/sh vs #!/bin/bash pro maximální přenositelnost

  1. nginx - 413 entita požadavku je příliš velká

  2. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  3. Není důvod mít Shebang ukazující na /bin/sh spíše než /bin/bash?