Почему не сохраняется картинка php copy?
Потому что Вы сначала копируете эту картинку, а потом командой file_put_contents этот файл перезаписываете, записывая внутрь url картинки. Уберите file_put_contents совсем, он здесь не нужен.
Ну и вывод ошибок включить не помешало бы: phpfaq.ru/debug
Ну и причем тут  nginx?
Этого вполне хватит чтобы сохранить картинку
$url = "img1.goodfon.ru/original/1920x1200/3/26/zmeya-udav...";
copy($url,'tmpimg.jpg');