[go: up one dir, main page]

0% found this document useful (0 votes)
20 views23 pages

Strath Server Management

server management

Uploaded by

kintaxima
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views23 pages

Strath Server Management

server management

Uploaded by

kintaxima
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

Server Management

Software Development
Introduction

A web server is a computer system capable of delivering web content to end


users over the internet via a web browser.

The end user processes a request via a web browser installed on a web server.

The communication between a web server or browser and the end user takes
place using Hypertext Transfer Protocol (HTTP). The primary role of a web
server is to store, process, and deliver requested information or webpages to
end users.
Introduction

Web apps are software applications that run on web browsers and communicate with web
servers or cloud platforms.

These servers offer many benefits, such as accessibility, scalability, and user engagement,
but they also pose some challenges, such as security, performance, and maintenance.

Web server management software must support a fully virtualized or cloud platform,
multiple websites across the platform, and it must meet business needs.
Server Software

The architecture of server software refers to its internal


mechanisms and layout that determine how it handles
connections, web requests, and user traffic.
Dynamic content changes depending on a user’s behavior,
interests, and selections. On the other hand, static content is
served directly to the webpage without any modifications.
Server Software

Apache HTTP Server, is an industry-standard open-source


web server software that uses a process-driven architecture
that creates a new thread for each new request.
Apache provides a variety of multi-processing modules
(Apache calls these MPMs) that dictate how client requests
are handled.
Server Software

NGINX (pronounced as engine-x) is a web server that uses asynchronous event-driven


architecture to deliver content to clients.

NGINX's non-blocking event-driven architecture makes it an ideal solution for processing


multiple requests. NGINX works by creating one controller process and multiple worker
processes. The controller keeps everything running, but each worker handles the tasks.

NGINX is ideal for load balancing and caching, WebSockets, and URL rewriting, which
allows the administrator to modify incoming requests and permit or restrict access.
Hosting Types

A hosted application is any piece of software that is running on another provider’s infrastructure rather
than on-premise.

These hosted applications are accessed over the internet and have a web- based user interface to be
able to interact with.

It focuses on providing the necessary infrastructure and services to deploy, run, and manage an
application’s server-side components.

These components typically handle tasks such as data storage, user authentication, server-side
processing, and more.
Example of Hosting

Traditional Hosting - hosted on physical servers

Virtual Private Servers - dividing a physical server into multiple virtual servers, each with its own
operating system and resources.

Cloud Hosting - Virtualized infrastructure and managed services to host and run applications. Cloud
hosting offers flexibility, scalability, and reliability, allowing developers to easily deploy and manage
their applications without worrying about underlying hardware and networking. (AWS, GCP, Digital
Ocean)
Domains
Domain Name System

Translates human readable domain names to machine readable IP addresses

Each device connected to the Internet has a unique IP address which other
machines use to find the device. DNS servers eliminate the need for humans to
memorize IP addresses

Most cloud hosting providers have DNS services e.g Safaricom or you can register
with GoDaddy
Security Certificates
SSL/TLS Certificate

Secure Sockets Layer is an encryption-based Internet security protocol for the purpose of ensuring privacy,
authentication, and data integrity in Internet communications.

SSL is the predecessor to the modern TLS encryption used today.

Originally, data on the Web was transmitted in plaintext that anyone could read if they intercepted the message.

By encrypting any data that goes between a user and a web server, SSL ensures that anyone who intercepts the data
can only see a scrambled mess of characters.

TLS is the up-to-date encryption protocol that is still being implemented online, even though many people still refer to it
as "SSL encryption."
SSL/TLS Certificate

Single-domain: A single-domain SSL certificate applies to only one domain (a "domain" is the name of a website, like
www.example.com).

Wildcard: Like a single-domain certificate, a wildcard SSL certificate applies to only one domain. However, it also
includes that domain's subdomains. For example, a wildcard certificate could cover www.example.com,
blog.example.com, and developers.example.com, while a single-domain certificate could only cover the first.

Multi-domain: As the name indicates, multi-domain SSL certificates can apply to multiple unrelated domains.

Ensure the host server provider manages or provides an SSL/TLS certificate


Hosting a Laravel + VueJS
App
Host Provider

Create a free host provider account


Hosting a Laravel + VueJS App

1. Prepare the application and convert to production mode


2. Prepare the server environment - Apache, MySQL, NodeJS, Git
3. Migrate the project files and database to the server
4. Configure the application URL
5. Configure the domain
6. Serve and access the application on multiple devices
7. Test that each module works accordingly
Course Review
Building a Portfolio
Portfolio

Portfolios are a good way to demonstrate your technical


skills and provide a coherent narrative to what you offer
It takes away the pressure of describing yourself
A potential employer can review your work at heir own
pace in detail
Read.me

About the project - add a link to live project


Development tools and Installation process
Screenshots of the system
Website

Get a sample template

Add a bio about yourself

Add a description of the services you are offering -website creation, app design web application
development, data management

Modify images and icons

Certifications

Contact details - linkedin, Github, X, Medium


Sample Website

https://themewagon.com/
Github portfolio

Create a git repository for the portfolio


Push your website to the repository
Update the repo’s Pages section
Publish the site

You might also like