I am creating a small commercial web project running Apache/WSGI/Django/MySQL.
I have a development and a production environment and use git and fabric to push/pull modifications.
Now I’d like to be able to test new versions with similar conditions to the production server before making them live.
- I am thinking of using the same physical server with different URLs and different repositories (is this ok ?).
- Are there best practices to set up this pre-prod environment as close as possible to the prod ?
- Should I use the same web server and database server ? In that case how can I manage for example the database name ?
I am working on a similar setup to the one you describe with no major problems. Multiple databases are easily managed in the settings file, I change them based on the root dir name: