We propose a generalization of the well-known facility location problem, called the multi-service facility location problem. In this problem, each facility has the ability to provide at most p kinds of distinct services, and each client has different requirements from the p kinds of services. The objective is to select a subset of facilities and to identify its corresponding service assignment to clients such that the requirements of each client can be satisfied, and the total cost, including the facility setup cost, service cost and connection cost is minimized. To solve this problem, we modify a local search heuristic algorithm, and present an approximation algorithm with theoretical analysis. In this study, we prove that our algorithm has a locality gap of 3 for this problem. We also implement the algorithm and the experimental result demonstrates its efficiency and effectiveness.