First of all you need Photoshop or any other software by which you can use the same basic filters and which is able to define any square for a pattern.
This is the basic of all textures. Take any picture you like or more important any picture which is having colour composites which looks very appealing to you. Then define a little square. It should have less than 64x64 pixels. Define this square as a pattern.
Open picture >>> use Marquee tool >>> Edit >>> Define Pattern
Create a New and empty picture 64x64 pixels in size. I have used this size for quicker loading but you can also take 32x32 or 128x128 or 256x256 pixels. Use Fill and Pattern to create the basic picture.
File >>> New (64x64 pixels) >>> Edit >>> Fill
Sometimes Pattern alone gives a satisfying result for a background.
Use and play around with one of following Distortion Filters:
Polarize, Ripple, Twirl, Wave and Zig Zag
Filters >>> Distort >>> Polarize
Sometimes playing around with two of them is also creating interesting