Vagrant provisioning question

Hello all,

not PHP, but related to my efforts to follow the MySql & PHP novice to ninja book.

I followed installation of Vagrant on Mac as detailed in the book successfully initially. Then I ran into some problems with GitHub and reinstalled.

On this installation loading vagrant normally (‘vagrant up’) and visiting leads to a 502 Bad Gateway (nginx/1.18.0 (Ubuntu))

After doing a bit of Googling I found a solution: If i load it with ‘vagrant up --provision’ it works.

I’m just wondering what might be going on here? And what does the provision command do?