Much thanks to Niklas Hambüchen, Victor Adossi and everyone who helped me!
I'm now using "Stack+Docker"(thanks to https://github.com/utdemir/ghc-musl) way to statically compile the code, and it looks just work as expect!
I have also seen static-haskell-nix and it looks awesome but I don't know how to use nix yet so I think I should use the approach above temporarily util I learn nix or another problem arise.
Thank you,
Nutr1t07