Finally! I found a solution, hope this will help people have same problem with me.
If the server machine has more than one IP, then I think binding 127.0.0.1 to a ftp site is not a good idea, I do not quite familiar to the machine settings, I just feel that FTP server will not know which IP is to the 127.0.0.1. Hope someone can explain this.
So, I changed the binding from 127.0.0.1 to the real IP, for example, I have 3 sites on the server machine, two IPs. If I bind 127.0.0.1 to all three sites, remote machine can not get access to any sites.
If I bind real IP for those three sites, there would be no problem to get connected.
eg. a website www.abc.com, its IP is 10.1.2.3, then add a FTP site on this web will binds as followed:
IP 10.1.2.3 , virtual host name ftp.abc.com.
Then you can get connect to ftp server by using any of the following commands:
1) ftp www.abc.com
2) ftp ftp.abc.com
3) ftp 10.1.2.3
And when the server asks for username, just remember to give it hostname + | + username like:
ftp.abc.com|username.
Thanks for all the advice.