Shared hosting plans are increasingly falling short. Given the vast possibilities offered by web technologies, we'll explore how to create a web server with Lighthttpd in Ubuntu. This will allow us to take advantage of the benefits of a virtual private server.
By web server we mean the sSoftware that is responsible for storing, processing, and delivering web pages to users who access them through a browser.
In general, the hardware on which the web server runs is provided by companies who are dedicated to this because for sites with many visits, the necessary resources usually exceed those of a home connection and a common desktop computer.
In principle, suppliers They usually offer 3 types of accommodation.
- Shared Hosting: It's the cheapest but the most limited. Sites share the resources of a single server and can't choose the operating system or technologies they can use.
- SVirtual private server. Each user has access to a virtual machine that behaves as if it were a physical server. They can choose which operating system to install, which control panel, and which technologies to support. This requires more knowledge, since the user must configure everything.
- Cloud Hosting: While Virtual Private Servers are limited to a single server, Cloud Hosting can operate on multiple servers, acting as if they were a single server, if required. This is ideal for sites that receive a lot of traffic from different locations or distribute large content like videos.
How to create a web server with Lighthttpd
Starting with the venerable Apache, there are several web servers. The one we're looking at is Lighttpd, which its developers say is pronounced "lighty."
In this case, we're talking about an open-source web server that's both lightweight and high-performance. It's ideal for situations where response speed and efficiency are critical.
Its characteristics are:
- Ideal for servers with high load of work or few resources.
- Low memory and CPU usage.
- Support for FastCGI, SCGI and CGI: Allows you to run dynamic applications written in PHP, Python, or Ruby.
- Can manage multiple connections simultaneous.
- You have modules that expandin its functionality.
- Flexible configuration through files.
- Designed to reduce vulnerabilities.
Keep in mind that, in addition to the web server, other additional programs must be installed for the website to function properly. Of course, we're referring to whether the site will require more capabilities than those provided by HTML, CSS, and JavaScript.
- Support for a programming language and their libraries: Programming languages are the basis used for tools to create online stores, blogging platforms or multimedia streaming services.
- Database engine; They are necessary when the site needs to enter, archive, modify and display data in real time.
- File Upload and Management Service: Unless you want to write your site code directly on the server, you'll need a way to upload files from the computer where they were created.
- SSL/TLS Certificate: They allow you to prove the authenticity of a site. If they are missing, browsers will display an insecure site warning.
- DNS and Domain Name ConfigurationThe domain name is how the user accesses the page, and the DNS tells the browser where to find it. The example I can think of, not suitable for millennials, is the old phone book.
- Security Tools: EThis section is self-explanatory. We're talking about antivirus and firewalls to prevent malicious access.
- Control panel (Optional): These are graphical tools that facilitate the task of creating and maintaining websites and databases and the use of other types of tools.
- monitoring tools (Optional): These tools allow us to know where users come from, what pages they visit, or what browser and operating system they are using.
- Gcontent blind (Optional): Content management systems separate design from content, making it easier for non-professional users to create and maintain websites.
- SeEmail server: (Optional): If we want to send and receive emails
Many VPS hosting services offer the ability to install everything with a couple of clicks, but true Linux users do it using the terminal.
In the next post we get down to business.