blog image

The LEMEN Stack

I use the LEMEN stack in the projects I build for my clients. Not only do my servers run Linux (L) Ubuntu Server , I develop web apps on a Linux workstation called Ubuntu Studio .

I use NGINX (E) as a reverse proxy and load balancer, should your project need redundancy. NGINX makes this process quite simple, the details of which should be unimportant to my end-users.

MySQL , MariaDB (almost identical to MySQL, using identical commands) or MongoDB (M) are databases used to store information about your web app or website, dynamically populating data pertinent to the page a visitor is on.

MySQL and MariaDB are relational databases, stored in tables much like a spreadsheet

MySQL and MariaDB can store up to whatever the storage available on the server will allow

32-bit systems limit each table within a MySQL or MariaDB database to 4GB of data, whereas 64-bit systems do not have that limit.

I use only 64-bit systems in my architecture.

MongoDB is a document (JSON) based database. JSON stands for JavaScript Object Notation, and looks like this:


                        var data = {
                            key1: 'value1',
                            key2: 'value2'
                        };
                    

JSON can have an unlimited number of keys:values.

MongoDB limits each document to 16MB.

Thanks goes to Corey Butler on Quora , for clarifying that an app should probably never use MySQL/MariaDB AND MongoDB together.

I use Express (E) in conjunction with Node.js (N) to run the back end of your app or website.

PM2

As a side note, I use PM2, a battle-hardened process manager that starts the app automatically in case of a crash.

A well-developed app, sans bugs, should never actually crash in production.



Coined by me, the LEMEN Stack is as follows: (Attribution given to Wikipedia )

The LEMEN stack is my preferred server environment. I give you the choice to use MongoDB or MySQL, as you see fit, in your project, if you have a preference.

Linux

Linux is an open-source, freely available and redistributable operating system for servers and desktops, as well as a number of mobile devices and supercomputers, too. It is commonly used in server environments where reliability and security are of the utmost importance. In the mobile marketplace, Android is a Linux distribution authored and maintained by Google.

NGINX Web Server, Reverse Proxy and Load Balancer

From NGINX Wiki :

NGINX (pronounced "engine X", stylized as NGIИX, is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software, released under the terms of the 2-clause BSD license. A large fraction of web servers use Nginx, often as a load balancer.

NGINX is my personal favorite reverse-proxy/load-balancer

MySQL

From MySQL Wiki :

MySQL is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter, and "SQL", the abbreviation for Structured Query Language. A relational database organizes data into one or more data tables in which data may be related to each other; these relations help structure the data. SQL is a language programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer's storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups.

MongoDB

From MongoDB Wiki :

MongoDB is a source-available cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas. MongoDB is developed by MongoDB Inc. and licensed under the Server Side Public License (SSPL).

Express.js

From Express.js Wiki :

Express.js, or simply Express, is a back end web application framework for Node.js, released as free and open-source software under the MIT License. It is designed for building web applications and APIs.[3] It has been called the de facto standard server framework for Node.js.

Node.js

From Node.js Wiki :

Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm, unifying web-application development around a single programming language, rather than different languages for server-side and client-side scripts.

Leave a comment

About Me

I have been developing web sites since 1999. The knowledge and experience I have attained over the years makes me well suited to serve your web development needs, whatever they may be.

I am a husband and we have two awesome adult kids, with one in college (ASU, Pop Music) and a Creative Writer (MFA).

I love what I do and I love my clients. I look forward to serving you!

Contact Me

Your interest and/or feedback is important to me. Please use this form or call if it is urgent. Thank you!

Location

Scottsdale, AZ

Phone

602-334-7771

Make a Payment

This form will take you to PayPal. Please use this form to pay with your credit card. Thank you!

Note: You are making a payment to Web Renegade


Description:



Thank you for your business!