Components are defined at software system level (as seen/thought at runtime). They are the elements of a executing system and together compose a larger system. These components/elements interact among themselves using connectors(interfaces). Imagine black boxes communicating among themselves, no care is given to their implementation/source code.
Module is defined at the programming language level (say, set of 5 classes comprise a module providing some functionality). They are defined at source code level as per the functionality provided by that collection of code. (example: persistence classes in your application responsible for interacting with the database).
Note that, module is also a type of component (going by categorisation and shares a "is-a" association with component).
Reference: Len Bass, Software arch. in practice and Dr. Timothy Lethbridge lecture