A nonce is just "some arbitrary number". In order to understand how it is found, you have to understand the hashing process by which blocks are produced.
Cryptographic hashes are a mathematical way of turning any set of data into a random number, called a hash. This is a one way process, that is, it's easy to calculate the hash of some value but the vice versa - to find a value with a specific hash - is impossible to determine.
Having even a slightly different set of value will produce a totally different hash, and so that the only way to find a hash with a particular property is to calculate them again and again till the miner gets lucky!
So when a miner is checking billions of hashes per second, they are actually changing the nonce to something else, then checking the hash of the whole block; then changing the nonce to something else, then checking the hash of the (now slightly different) block; then changing the nonce again, and so on. You get the idea.