There is already an Ubuntu VM all set up and preinstalled with everything laravel needs out of the box. It uses nginx as well.
https://laravel.com/docs/5.7/homestead
Ubuntu 18.04
Git
PHP 7.3
PHP 7.2
PHP 7.1
Nginx
Apache (Optional)
MySQL
MariaDB (Optional)
Sqlite3
PostgreSQL
Composer
Node (With Yarn, Bower, Grunt, and Gulp)
Redis
Memcached
Beanstalkd
Mailhog
Neo4j (Optional)
MongoDB (Optional)
Elasticsearch (Optional)
ngrok
wp-cli
Zend Z-Ray
Go
Minio
So you can install that on windows (or MacOS, or Linux), be working on your code while using it and know that everything will work after you upload it to a real server.
Most VM's allow you to install whatever OS you want. I tend to use Ubuntu, so it works nicely (production environment matches production environment). If you use the Laravel Forge service for creating your servers, this is the exact image they use (although with more security built in that you wouldn't need in dev)
It's really important, especially on windows, since windows OS isn't case sensitive whereas most linux systems are. So if you have code like somemodel::all(), that might work in windows but will break in linux since the class (and file) is actually SomeModel. Windows won't care, everything else will. So when you upload it to a linux OS, you have code breaking all over due to mismatched caps. This would prevent that as you'd catch all of those errors while developing on Ubuntu.