For the past few years when working on projects that are self-hosted I have relied on an S3 bucket for QA and manually deploying to production through a series of commands. I am sick of looking up the options and vernacular so I figured I would just put it all here to make it easier on myself.
scp -i {secure-key}.pem {file-being-sent}.tar.gz {user-name}@12.34.567.890:/{where-the-file-is-being-sent}
rm -rf {whatever_the_path_and_name_is_for_the_old_files}
tar -czvf {my_directory}.tar.gz -C {my_directory} .
tar -xvf {file-you-sent-earlier}.tar
cp -R {source_folder} {destination_folder}
sudo service nginx restart
It is that simple. Verify the site is reachable and the changes are now live.