Как залить приложение на сервер? Использовать FTP? Или git push? Или может какой-то сервис Codeship к примеру?
Да как удобно, все варианты имеют право на жизнь в той или иной степени. Я клонирую приложения с гитхаба, потом делаю npm install.
Как остановить уже запущенный nuxt-сервер а потом запустить его обратно?
Если в package.json нету команды stop, то останавливают с помощью
kill -9 <pid процесса>
:) Вообще там должен бы быть какой-то nodemon/pm2/forever, которые перезапускают процесс при изменении кода.
Нужно ли использовать nginx?
Чтобы отвечать по порту 80, нужны права супер-пользователя. Можно в проде запускать приложение от рута, но это как-то стремно. Поэтому проксируют nginx'ом. Плюс он эффективнее раздает статику.
P.S.:
https://nuxtjs.org/guide/commands/