Проверьте, является ли nginx единственной программой, прослушивающей порт 80. Например, если у вас запущен apache2, это возможно, поскольку оба сервера прослушивают один и тот же порт, и возникает путаница. Вот полезная ссылкаhttps://www.cyberciti.biz/faq/find-linux-what-running-on-port-80-command/Также, в зависимости от браузера, который вы используете при написании url, немного поиграйтесь с url, укажите порт :192.168.1.5 :80 или попробуйте с доменом сервера.
Скажите, поможет ли это вам, если я вас правильно понял:
find. -name "*.jpeg" -o -name "*.jpg" -exec bash -c 'convert -resize 40% "{}" "{}"_resized.jpg' \;
Основная проблема с вашей второй командой заключается в том, что find
не понимает расшифровку фигурных скобок {jpeg,jpg}
, поэтому будет рассматривать ее как литеральную строку. Вторая проблема заключается в том, что, используя форму аргумента {} +
, вы пытаетесь передать несколько файлов одному вызову convert
.
Примечание. :удалите echo
только после того, как вы убедитесь, что команды (и )ниже работают правильно.
Вероятно, вы хотите что-то вроде:
find. \( -name '*.jpeg' -o -name '*.jpg' \) -exec sh -c '
for f; do
ext="${f##*.}"; echo convert -resize 40% "$f" "${f%.*}_resized.$ext"
done
' find-sh {} +
Круглые скобки \(
... \)
необходимы, потому что -exec
связывает сильнее, чем -o
. Без них файлы, соответствующие -name '*.jpeg'
, будут найдены, но не преобразованы.
Если вы не так требовательны к имени выходного файла, вы можете упростить приведенное выше до
find. \( -name '*.jpeg' -o -name '*.jpg' \) -exec sh -c '
for f; do
echo convert -resize 40% "$f" "${f%.*}_resized.jpg"
done
' find-sh {} +
(, который будет создавать выходные файлы с расширением .jpg
, даже если исходный файл имел.jpeg
)или даже
find. \( -name '*.jpeg' -o -name '*.jpg' \) -exec sh -c '
for f; do
echo convert -resize 40% "$f" "${f}_resized.jpg"
done
' find-sh {} +
(, который создаст выходные файлы, такие как foo.jpeg_resized.jpg
).
Если вам не важна эффективность, вы можете сделать один вызов оболочки для каждого найденного файла и избавиться от цикла оболочки:
find. \( -name '*.jpeg' -o -name '*.jpg' \) -exec sh -c '
echo convert -resize 40% "$1" "${1}_resized.jpg"
' find-sh {} \;
Обратите внимание, что в вашей третьей команде
find ./*.{jpeg,jpg} -exec jpegoptim -m 35% --size=35% {} \;
ваша оболочка , скорее всего, расширит {jpeg,jpg}
без кавычек, но это тоже не то, что вам нужно -, опять же, это должно быть
find. \( -name '*.jpeg' -o '*.jpg' \) -exec jpegoptim -m 35% --size=35% {} \;