Separate dedicated servers or one server
Is it better to start up with everything on one server or have say three servers all doing different things. example: one server for apache, one for mysql and one for mail 开发者_高级运维or one server that is apache, mysql and mail together? (The system will be handling multiple virtual hosts)
You migrate to multiple hosts when performance becomes problematic, for small projects it is more convenient and faster to use one host for webserver and database due to the ability to use faster IPC.
Mail can always be implemented using relays, for example a local forwarding only SMTP server on each application host, i.e. apache & php, but you can forward all mail to other servers to perform the real mail delivery, including third party services such as Google Mail.
If you are handling multiple virtual hosts, before performance problems occur you may have a requirement on higher availability. Consider what happens when a failure happens on that one host, or you wish to upgrade to a newer version and a complication arises. In such configurations it is more convenient to have the webserver and database on separate hosts, but modern day software architectures allow many complex varieties of configuration options and the choice of which one is dependent upon the applications you are running.
Generally I would keep things together on one server if you are able to. There is no sense in having all the extra resources available if you are not going to use them.
Having said that, there are some situations where you need to separate everything for compliance reasons.
If you are doing an eCommerce website and you want to maintain PCI compliance for your website (and you store credit card numbers encrypted), then you are supposed to have each of your services separated out to a different server (feasibly so that if your mail server is hacked they don't get to your database).
Really I think we would need to know a little bit more about your setup in order to make a real determination about keeping them together or splitting them up.
精彩评论