The Linux Application Server

The Linux Application Server

This is an in-progress online “book” by Micah Yoder. He thought about writing a real book, but was talked into blogging it instead. Maybe someday it will be collected into a real book. An interested publisher can feel free to make contact.

Who Should Read This Book?

The intended audience is someone who deals with Linux servers and has an advanced-beginner to intermediate knowledge of the subject. This would include: software engineers, DevOps engineers, site reliability engineers, database administrators, system administrators, platform engineers, and related roles.

It is assumed that the reader has some general Linux experience, with knowledge of: the bash shell and basic commands, starting and stopping services, at least one programming language, and general web development knowledge (HTML, etc).

Topics we’ll cover:

We’ll talk about anything related to Linux application servers at both a high level and at a low level, to give the reader as complete an understanding as possible. Topics will include:

Target Platform

This content is intended to apply primarily to applications hosted on Linux servers. It may seem archaic, but we are not primarily considering cloud computing or even Kubernetes. Much of the information, however, will be applicable to those environments.

What You Need to Know About C

You may want to read this in tandem with our article Compiling and Running C and C++

C was designed in the early 1970s at Bell Labs for the purpose of writing software for UNIX, including its kernel. It is known for being low level, very close to the hardware. Anything you can do on a computer, you can do in C! It is also a rather simple language, in that once you learn its rules, you can pretty much figure out what any piece of software written in C does. It is not going to do anything funny behind your back, as many modern languages do.

Compiling and Running C and C++

You’ll be coming across a lot of software written in C and C++, and it’s useful to have a primer on how to build and run it. This is true even if you’re not writing your own software in these languages. There are various build systems for these languages, and we’ll need to take a quick look at all of them.

Invoking gcc or clang manually.

For projects with a single source file, or perhaps a small number of them, it is fine to invoke the compiler manually. If you want to play with this, see the article What You Need To Know About C and creating the three files test.h, test.c, and main.c in an empty directory.

systemd Services: An Introduction

Nearly every modern Linux distribution uses systemd, which … pretty much manages the system. It has an enormous wealth of features, many of which we will describe, but we will begin with its service manager.

A systemd service is basically a unique application that can be controlled separately and has its own resources. That can include things that run in the background on the system, such as NFS drive shares, printing services, or DBUS. It can also include the things you actually want the system to do: Your web server, database server, and your own application server.

C

Cpp

Home

The Linux Application Server

This is an in-progress online “book” by Micah Yoder. He thought about writing a real book, but was talked into blogging it instead. Maybe someday it will be collected into a real book. An interested publisher can feel free to make contact.

Who Should Read This Book?

The intended audience is someone who deals with Linux servers and has an advanced-beginner to intermediate knowledge of the subject. This would include: software engineers, DevOps engineers, site reliability engineers, database administrators, system administrators, platform engineers, and related roles.

Tags

Lang-Intro

Systemd

About Micah

About Micah

Micah Yoder has been eating, drinking, and breathing Linux servers for nearly 30 years. He has a computer science degree (BA) from Eastern Mennonite University.

His career has included:

He loves learning and working with new technologies. Top skills and passions include:

The Book

The book …

Categories