Running a Server with Linux

"Running a server" might call to mind a massive corporate data center, but a single laptop or even a Raspberry Pi (a mini PC that costs around ¥5,000) can act as a perfectly capable server. Linux's biggest stage is exactly this server world — about 70% of all websites on the internet run on Linux servers.

What is a server?

A server is simply "a PC that answers requests from other PCs." Your local PC (the client) sends a request — "show me this page," "send me this file" — and the server responds. The difference between a regular PC and a server isn't in the hardware; it's in the role. Install Apache (web server software) on a laptop running Linux, and that laptop becomes a web server on the spot.

Netflix, Twitter, LINE, PayPay, online banking — almost every service you use runs on servers. And the vast majority of those servers run Linux.

The client–server relationship

HTTP request & response — real example (Apache server) Every time you open a URL in a browser, this exchange happens in under 0.05 seconds ▼ Request sent from browser to server GET /index.html HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 (Chrome) Accept: text/html,application/xhtml+xml ↑ "Please send me /index.html from example.com" ▼ Response sent from server to browser HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Content-Length: 1024 <!DOCTYPE html><html><body>Hello</body></html> ↑ "200 OK = success" — HTML is returned
Fig 1: HTTP is a "request" (GET) and "reply" (200 OK) exchange. One server can process tens of thousands per second.

The flow is straightforward. The client says "give me this information," and the server replies "here it is." This exchange happens behind the scenes every time you open a page in a browser. A Linux server can handle tens of thousands to hundreds of thousands of such requests per second — the engine behind large-scale web services.

Types of Linux servers

Web server software market share (across the entire internet) Source: W3Techs (2026). Top 4 account for over 95% of the market. All run on Linux. Nginx Fast, built for scale (Netflix, WordPress.com, etc.) 33% Apache HTTP Server The original — most widely used (schools, small businesses) 31% Cloudflare Server CDN-hybrid, rising fast (many major sites migrating) 22% LiteSpeed Commercial, great for speeding up WordPress 9% Other (Microsoft IIS, etc.) 5% 0% 35% For beginners: start with Apache (plenty of learning materials), then move on to Nginx
Fig 2: The top 4 web server software products hold over 95% combined share. All run on Linux.

One Linux server can fill multiple roles at once, or you can dedicate separate machines to specific tasks. Services that many teens use — Discord servers, Minecraft servers, and personal websites — are all practical examples of Linux servers in action.

Recommended usage

The first step is "install Apache on your home PC and display your own HTML." Just type sudo apt install apache2, then open http://localhost in a browser — an "It works!" page appears. Put your own HTML file in /var/www/html/, and that page shows up immediately. That's what "running a server" actually feels like.

Once you're comfortable, you can try a cloud free tier or a low-cost plan and expose a server to the internet. Always check the official pricing and set up billing alerts before you do — free tier conditions change. Start by limiting public access, and make it a habit to stop or delete the server when you're done.

Before publishing anything publicly, practice locally first. Work through these four milestones: display a page on localhost, view it from a smartphone on the same Wi-Fi, check the log files, and stop and restart the service. Once you can do all four, the server stops being a mysterious black screen and becomes a computer with a job to do.

Traps to watch out for

Server operation reminders
  • The moment you expose a server to the internet, attacks come from all over the world. SSH key authentication and enabling a firewall (ufw) are non-negotiable.
  • Run security updates (sudo apt update && sudo apt upgrade) at least once a week. Old software has known vulnerabilities.
  • Never place personal data or copyrighted files on a public server. Unexpected cloud bills are a real hazard too.

How will this help you in the future?

Server operation experience is core to the roles of web engineer, infrastructure engineer, and SRE (Site Reliability Engineer). Setting up your own server, reading logs, applying updates, and diagnosing outages — all of this translates directly to cloud learning. When you study AWS, Google Cloud, or Azure certifications later, having hands-on server experience makes the material click much faster.

On a public server, the ability to defend is just as important as the ability to build. Strong passwords, SSH keys, a firewall, regular updates, backups, and closing unused ports —, "safely shutting down" and "safely deleting" a server are already genuine skills worth having.

Start today

3 steps to get started
  1. Install a web server on your Ubuntu PC with sudo apt install apache2.
  2. Open http://localhost in your browser and confirm the "It works!" page appears.
  3. Edit /var/www/html/index.html and replace it with your own self-introduction page.

Summary

A server is "a PC whose job is to respond to other PCs," and Linux is the OS used most widely in that server world. Install Apache or Nginx and your home PC becomes a proper web server. The fastest path is to practice on localhost first, then publish to the world using a cloud free tier. Always pair going online with security measures.

Check Running a server on Linux means?