An even cheaper solution is locknuts, which are different to nyloc nuts.
Locknuts are simply second nuts threadded on at the same time as the main load bearing nut.
Then you oppose the two nuts by tightening them against one another.
Locknuts are often thinner, and strangely they cost more than normal nuts, so its totally workable to use two normal nuts threadded onto the rod together.
This technique is used in bicycle wheels, where one nut is a bearing race, and the outside is held in position with a thin locknut. Its only expensive pro bikes in the last decade have gone away from this, the vast bulk of bikes still use this.
My car's wheel bearings are held on by two 2 1/8" nuts, cinched against each other in this matter.
Here's a nyloc nut
and here's a locknut - as you can see its quite thin.