A lot of people are looking to provide the most dynamic, user friendly websites these days. They can be great or horrible, but either way the drive is all about user experience and hopefully retaining said users.
Static websites can actually provide the same functionality too, however.
The problem with this is the overhead it requires on the servers to generate this content. Even though typical servers don’t have an issue handling 1,000′s of connections for dynamic content, there’s nothing saying the overhead that Apache or PHP give can’t push the envelope either.
Static sites are simple HTML pages. You can’t magically create it when a visitor gets to your site. A major benefit to it though is that you don’t need 5 different servers to provide content, you just need one: a web server. This is where Nginx is primarily used (or as a caching/proxy server).
I’m sure I’m not the only one that experiences the oh so wonderful moments of my remote SSH sessions hanging and not responding to any input. While I’m not really sure why this happens it seems to mostly be due a period of no interactivity (i.e.: no key presses).
Before I used to close out the local terminal screen then start up another and SSH into it again. However, I did recently find a way to make this process a lot easier. Note to any and all readers: man pages can really save you time and effort.
When you run into this issue again just hit enter then ~ and . (tilde and period) and SSH will terminate itself.
This works because SSH basically creates a session within itself, so you have the master/main SSH program that listens to events and a child SSH program that remotely connects and lets you do all your stuff.
LVM is a nice invention when it comes to Linux and the kernel. The easiest way to think of it is RAID without any performance gain or loss. You’re able to extend and shrink the LVM partitions like RAID but there’s no benefit to it beyond that.
Why would anyone want to use LVM over RAID or no special partitioning period? One good reason would be for /var. With all the logs and other various bits of data that gets stored there its typically the first place to look when your disk space is running low.
You’re not always going to want to have the overhead of RAID’s functionality for partitions, so it is likely /var isn’t set up as a RAID. Once you hit that space limit you’re forced to either delete data you may want in the future or risk your system going down due to “lack of space” (it happens :/). With LVM you can extend the partition using a few simple commands and be good to go again. Usually you can do this while the system is still running too, which essentially makes it hot swappable.
I’m looking to add more services to my business, but its a tough thing to figure out…how much to charge someone, that is. You have to look at the resources of the server and factor in not only how much you expect your userbase to use, but also the system itself.
For example, I’ll have a KVM with 256 MB of RAM. You should already figure the KVM OS is going to use at least 100 MB of that. That doesn’t offer a lot of leeway. Luckily, OpenVPN doesn’t demand of resources so if you figure a client will need 32 MB for OpenVPN bare minimum, and the system will use 56 MB (minimal installs are awesome!), we’re looking at about 6 clients per KVM (200/32 = 6.25 = ~6). If you charge each client $5/month you could very well have that KVM paid for and a good amount of profit as well.
While already covering Python for websites, it also serves a very useful source of scripting.
Back in the day Perl and shell ran the playground for scripting languages. However, now there’s a whole mess of new friends to meet in Python, Ruby, PHP (though its pretty old too) and more.
Python for me has been the go to for a long while though for a few reasons. Its simple to program yet make powerful scripts. There’s not a lot to do for most tasks. Its resource friendly for even systems like the Raspberry Pi.
Its an interpreted language which inherits some overhead do to needing to be “compiled” as run time, as compared to C/C++ where its an already compiled binary. But, especially with how computers are built these days that argument just seems more and more pointless. If you’re needing to save yourself a few extra CPU cycles then scripting isn’t what you’re needing to begin with.
Ever since I started using Python I fell in love with it. Unlike Perl I could wrap my head around how to do even simple things, and for scripting it was like Bash on steroids. Then not after long I disocvered you can develop websites with it as well (either through things like Pelican or Tornado [Django too but that's similar to Tornado]).
I’ve found that using Python instead of other languages like PHP was a smart decision. The frameworks are nice (if not a little bit of getting used to though) but even more so the resources it doesn’t use up.
Its similar to comparing MySQL to SQLite. They’re both databases, do the same things, but MySQL provides a lot more functionality out of the box with the price of using more resources. Python vs PHP is the same in that they both are used to develop websites, can do the same things, but Python has a minimal set of features out of the box and requires importing libraries for more than the basics.
PHP’s MVC structure is, in my opinion, far easier (used to Code Igniter) where as Python’s tends to be a bit more split across the filesystem. However, that’s easily negated when you consider PHP requires loading an entire file for a single class where as Python can load only specific parts of a file.