What is linux cloud server

Linux Services — A Step-by-Step Guide to Creating a Personal Cloud Server

It is a popularly known fact that a Linux server can apparently run for years without needing a restart. For this reason, Linux is the most used platform for server related jobs and tasks.

For decades Linux has led the list of StackOverflow surveys of the most used platform not until Windows introduced WSL (Windows Subsystem for Linux) before overtaking the Linux.

This is just a simple reason why this article was curated to help introduce you to the world of Linux power use. Automation is another key feature made possible by Linux, in this article we will talk about the following

  1. Why Choosing Linux?
  2. What are Linux services?
  3. Systemctl and other basic service management commands
  4. Creattion of a NodeJS service
  5. Creation of the service

Why Choosing Linux?

As mentioned in the beginning, Linux possessed various features which make it stand out in servers and services provision. According to a survey by w3techs survey, over 77% of online servers run Linux, 90% of public cloud run Linux and practically all the best cloud hosts use it, 96.3% of the world’s top 1 million servers run on Linux.

This is possible because of the following:

  • Stability: Linux can run for a very long time without requiring a restart.
  • Security: This is a feature of Linux that provide access for both what is defensive security expert and offensive in all kinds of manner. Various Linux distributions (distros) were built to be defensive, while many others were built to be offensive and others combine the two capabilities. This is a security strategy made available by Linux but no other platform.
  • Open Source: This is one of the popular reasons why Linux owns a lot of the individuals and enterprise desks. Availability of codebase for ease of customization at no cost serves a greater purpose in the usage of the platform.
  • Accessibility: The codebase of Linux is made available for everyone which allows users to create what best solves their problems. The ability to create special-purpose OS is made possible through Linux.
  • Terminal: This is a special feature provided by Linux to interact with the services running on it. It is known that many servers didn’t provide a graphical user interface (GUI), for these reasons, the terminal is the only means of interaction with the server. The Linux terminal contains SHELL be it Bourne Again Shell (BASH), Bourne Shell (SH Shell), Z shell (zsh) and CShell (tcsh or csh). All of these provides an interface to interact with services in place of the general graphical user interface (GUI).
Читайте также:  Safe mode php linux

What are Linux services?

Cloud services are provided as a service, do you know why? Because they are made of servers. Available resources that are run and managed by Linux are called services. The ability to ensure the servers of the installed program are running and following a logical boot-up order automatically are examples of the action of service configuration in Linux.

Units which are sometimes interchanged with resources are a set of processes managed and run by Linux. Each unit is clearly defined in a file called unit files which are called by the name of their extension.

For example filename.service unit will be referred to as service unit, filename.socket is called socket units and so on. All these units are found in a very unique location on Linux called the system directory inside the systemd which can be found in /etc/systemd/system .

Systemd: This is the software suite which provides a list of units and components for Linux OS. It houses all the units and service configurations. The service manager and system are the main primary component of the init system.

This system always has a PID (process ID) of 1 which gives it privileges to be the first process to run after boot-up and service as the entry point for other programs. To check the availability of systemd on your system, run the command below and you will get an integer 2733 as an output.

To check the process structure and tree of the currently running processes, run the below command:

To create a service is very simple but it needs to run and execute a certain predefined program in this case — our yet to be built Node.js app. This app will return “Hello World” for our users and they will be ready to pay us a million dollars for checking it out):

In order to follow along, you can create your own program that you intend to make available to your users or grab the source code for our app on GitHub here. Ensure you have Node.js installed if you download or clone the app from GitHub.

When you are done, you can test the app by opening your terminal in the cloned project directory and run:

This should produce an output like this: > . If you get anything other than this, follow the error message to fix it and follow along when you are done.

Services creation

Up next is the creation of a service to manage the app created. Step 1: Create a file inside the /etc/systemd/system directory called myhelloapp

Step 2: Copy-paste the following content into the file.

 [Unit]  Description=My Million Dollar App  Documentation=https://github.com/Taiwrash/myhelloapp/readMe.md  [Service]  Type=notify  ExecStart=  ExecStartPre=  ExecStartPost  Restart=always  [Install]  WantedBy=multi-user.target 

What the heck, is that?

Service units are always grouped into sections, each section always lives inside a square bracket. In this case, we have three sections, the unit, service, and the install section. To start with what is the unit section.

Читайте также:  Linux uuid of device

Unit section

This is where the Description, Documentation of the service we are creating are defined. There are other statements which can come under this unit section which are After, BlindsTo, After, Wants, Requires and so on. They are like meta tags in HTML.

Service section

This service section contains commands which are meant to be run for our service to be up and running. It always contains ExecStart, Type, ExecStartPre, ExecStartPre, Restart, StartLimitInterval and so on.

Install section

This consists of commands that allow the service to run immediately after the completion of boot-up.

Step 3: Execute the commands for the start of the service. i. Change the mode of the app to executable, navigate to the app directory and run:

ii. To notify the kernel that a new service has been created, run:

iii. To start the service run:

sytemctl start myhelloapp 
sytemctl status myhelloapp 

v. To stop the service run:

vi. To configure it to start during boot-up run:

systemctl enable myhelloapp 

vii. To configure to not start at start-up:

systemctl disable myhelloapp 

Conclusion

After we have completed this we can boot-up your system, your app server will automatically restart and be up and running without manually having to restart the server. You now have the service running on your system.

Up next, we will go through how to make it available on the internet and start providing a docker like service.

Amazing right? I suggest you check full description of this here at the RedHat Docs.

Источник

CloudLinux — разделяй и властвуй

CloudLinux

Одной из наиболее распространенных хостинговых услуг является так называемый виртуальный хостинг (англ. shared hosting), при котором множество веб-сайтов располагаются на одном сервере. Обычно каждый сайт занимает отдельную папку на сервере, но при этом для управления всем множеством сайтов используется единое ПО (веб-сервер, сервер баз данных и т.п.).

Shared hosting сопряжен с некоторыми техническими проблемами. Довольно часто имеет место ситуация, когда увеличение потребления ресурсов одним пользователем становится причиной замедления работы или даже недоступности всего сервера. Описанную проблему иногда называют «проблемой плохого соседа».

Одним из оптимальных решений описанной выше задачи является использование операционной системы CloudLinux, разработанной специально для хостинг-компаний. Клиенты, арендующие выделенные серверы, могут приобретать лицензии CloudLinux непосредственно у нас, не обращаясь к услугам сторонних компаний.

В чем заключаются преимущества использования CloudLinux?

Как уже было отмечено выше, при размещении множества сайтов на одном веб-сервере часто приходится сталкиваться с ситуацией, когда увеличение нагрузки на один сайт (например, при использовании плохо написанных приложений или в результате злонамеренных действий соседей) существенно замедляет или даже блокирует работу других. CloudLinux решает эту проблему путем изоляции всех пользователей друг от друга и ограничения потребления системных ресурсов. CloudLinux позволяет повысить уровень стабильности и безопасности, увеличить плотность размещения пользователей на серверах и снизить расходы на техническое обслуживание.

Читайте также:  Linux shared library local directory

Какие технологии лежат в основе CloudLinux?

  • на потребление мощности процессора;
  • на ограничение числа используемых процессорных ядер;
  • на использование физической памяти;
  • на использование виртуальной памяти;
  • на скорость дискового ввода-вывода;
  • на количество одновременно выполняемых процессов;
  • на создание новых процессов.

Помимо LVE CloudLinux включает в себя и другие инструменты для контроля над пользовтелями и ресурсами сервера.
Инструмент MySQL Governor позволяет контролировать и ограничивать использование общего для всех пользоветелей MySQL сервера баз данных. С его помощью можно создать своего рода «облачный MySQL», который несколько пользователей могут использовать одновременно, не мешая друг другу.

Инструмент CageFS (слово cage значит «клетка») создает для каждого пользователя свою собственную, изолированную от других пользователей и корневой ФС, виртуальную файловую систему. Это позволяет ограничить доступ процессов одного пользователя к данным других пользователей и самого сервера.

Если вы являетесь клиентом хостинг-провайдера, вы можете проверить, использует ли он CloudLinux, выполнив команду uname -a. На экран будут выведены название и версия ядра. Если в этом названии присутствуют буквы «lve», то ваш провайдер с большой долей вероятности использует CloudLinux.

$ uname -a Linux testsrv.selectel.ru 2.6.32-458.6.2.lve1.2.30.el6.x86_64 #1 SMP Fri Jul 12 15:02:22 EEST 2013 x86_64 x86_64 x86_64 GNU/Linux 

Способы работы с CloudLinux

Изначально CloudLinux управляется с помощью интерфейса командной строки. Если вы предпочитаете использовать графический интерфейс (GUI), то систему можно интегрировать с такими панелями управления хостингом, как cPanel, Parallels Plesk, DirectAdmin, ISPManager, Webmin, Interworx. Никакой дополнительной настройки при этом не требуется.

Посмотреть, как выглядит интеграция с панелью управления на примере Plesk Panel, можно на скриншотах приведенных в спойлере.

После установки CloudLinux в списке плагинов Plesk появятся два плагина LVE Manager и CageFS

После установки CloudLinux в списке плагинов Plesk появятся два плагина LVE Manager и CageFS.

Настройки CageFS: возможно включение и выключение плагина как для всех пользователей сразу, так и для каждого в отдельности

Настройки CageFS: возможно включение и выключение плагина как для всех пользователей сразу, так и для каждого в отдельности.

Настройки ограничений клиентов в LVE Manager. Ограничения пользователя могут наследоваться от его сервис-плана или могут быть настроены индивидуально для каждого пользователя

Настройки ограничений клиентов в LVE Manager. Ограничения пользователя могут наследоваться от его сервис-плана или могут быть настроены индивидуально для каждого пользователя.

Текущая нагрузка по клиентам в LVE Manager

Текущая нагрузка по клиентам в LVE Manager.

Вкладка Packages (сервис-планы с терминологии Plesk) - пример интеграции тарифных планов в панели управления с ограничениями в LVE Manager

Вкладка Packages (сервис-планы с терминологии Plesk) — пример интеграции тарифных планов в панели управления с ограничениями в LVE Manager.

Управление ограничениями для сервис-плана. Эти ограничения применятся для всех пользователей с таким сервис-планом

Управление ограничениями для сервис-плана. Эти ограничения применятся для всех пользователей с таким сервис-планом.

Сколько стоит CloudLinux?

Селектел является официальным партнером CloudLinux, аренда лицензии доступна для выделенных серверов и серверов произвольной конфигурации по цене 400 руб/мес.

Услуга аренды лицензии CloudLinux отлично дополняет уже существующие наши услуги для организации хостинга: аренда выделенных серверов и аренда лицензий Parallels.

Вы можете установить CloudLinux как с помощью специалистов нашей службы техподдержки, так и самостоятельно. Техническая поддержка осуществляется непосредственно специалистами CloudLinux (в том числе и на русском языке) и уже включена в стоимость лицензии.

Для тех кто не может комментировать посты на Хабре, но хотел бы узнать больше о CloudLinux, приглашаем к нам в блог.

Источник

Оцените статью
Adblock
detector