You can choose to make your phone vibrate instead of using tones for messages and calls. You can also have tones and vibrate at the same time.
Go to Settings > Sound > Vibrate and choose:
3. Only in Silent mode
4. Only when not in Silent mode