To me, the biggest difference between these has to do with the way in which hiring and promotion is done. There is also a sense in which civil service is one type of public service.
Public service, to me, includes all jobs that relate to the government providing goods and services to the public. So a park maintenance worker is providing a public service as is the President.
Civil service, first of all, includes only professional positions. So the park worker would not be in civil service. A civil service job would be "white collar."
Second, the term "civil service" generally refers to a system where jobs and promotions are earned by merit. It is not civil service if jobs and promotions are given out based on patronage (on political connections to important people).