Great! I’m looking for this solution for many days.
WordPress codex said:
The query_posts function is intended to be used to modify the main page Loop only.
It is not intended as a means to create secondary Loops on the page.
If you want to create separate Loops outside of the main one, you should create separate WP_Query objects and use those instead.
In main page, I can use this:
query_posts("$query_string . "category_name=life&paged=$paged");
but it doesn’t work in my custom Template page.
Now I use this:
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<?php query_posts("category_name=life&paged=$paged"); ?>
It works well in my custom template page.