Hello everyone, I recently decided to move away from shared hosting and step into waters of VPS. I have many doubts and things I’m not sure how to do. I have no experience in the fields of maintaining server of my own, but given the community DO has and number of helpful tutorials, I’m feeling really good about this. Ofc, I don’t think I will make it without your help.
Current website has in average 190k page views and 58k visits per month. No logged in users.
So, which plan would you suggest me? I’m pretty sure Apache will eat 512MB RAM plan easily. Could I get away with 1GB ?
What stack do you recommend? LAMP or LEMP? And why? I’m aware that NGINX consumes less resources, but I keep stumbling upon “nginx is good for static content”. What about dynamic? Why do I need FastCGI with NGINX and PHP? I know how to configure virtual hosts on Apache, but it looks confusing on NGINX. Also, as I pointed out, I’m relying on .htaccess, if I pick NGINX, I’ll have to learn and translate rules. And setting default error pages in NGINX? I’m also aware that NGINX increases my chances to get away with 1GB :P
What OS do you recommend and why? Ubuntu, CentOS?
I don’t have to explain why I am especially afraid of deploying application to self managed server. Security is really important or I’m in big trouble. What measures do I have to take after I install the stack? Or what else should I install to secure my http and mysql servers? Any suggestions how to optimize them as well?
What about server side caching? Do I need it? Does MySQL have it’s own caching capabilities or do I have to install something?
I’m aware that maintaining own mail server is not a good idea unless you’re experienced, so I’ll just use shared hosting for that.
I know this is a lot of questions, and I will be very grateful on any kind of help. Pointing out to related tutorials is also very welcomed.
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.