If you try all of the above and it still doesn't light, try cleaning your pilot orifice. I used denatured alcohol and canned air.
I had a problem with my water heater this year. It turned out that the pilot orifice was dirty and the pilot would light but the flame wasn't big enough to light the burner properly. As soon as I cleaned the orifice, I noticed that the pilot flame was about twice as big as it had been and the water heater worked perfectly. If the flame is too small, it may not be heating the thermocouple properly.