Linux system is a complex and elegant software project. It is composed of multiple different components that work together to provide powerful functions and performance. But, do you know what the main architecture of a Linux system is? This article will introduce the four main components of the Linux system: kernel, shell, file system and application, as well as the relationship and role between them.
With the continuous development of IT operation and maintenance, especially the rapid development of Linux, more and more enterprises are beginning to use Linux operating system platforms, such as CentOS, RedHat, Ubuntu, Fedora, etc., and hundreds of millions of websites have emerged. In today's Internet, the Internet has become an indispensable tool. Today we will share with you the most commonly used mainstream website architectures under Linux: LVS KEEPALIVED (heartbeat) Squid Nginx/Apache JAVA/PHP MySQL/MariaDB, etc. Share a simple topology diagram for your students’ experimental reference
Generally, websites are divided into four layers, which are front-end load balancing, intermediate proxy, back-end service, and database layer.
Of course, in addition to this overall process, there are also many things that different companies have expanded. Various systems are constantly added to this architecture, forming a very large and complex system. Then we need to pay attention to the details of each level of operation and maintenance personnel:
The LVS load balancing layer is mainly used to resist large traffic and forward data. It is generally forwarded based on the TCP/IP four-layer protocol. The forwarding methods used are different according to different internal environments. Generally, the DR mode is more efficient. LVS Combined with keepalived, we can use keepalived to manage our entire configuration file, making it simple and practical to be responsible for balancing. We can use various plans to check whether the back-end Nginx or Squid service is normal.
Simple working principle of LVS: The user requests LVS VIP, and LVS forwards the request to the back-end server according to the forwarding method and algorithm. The back-end server receives the request and returns it to the user. For the user, the WEB backend cannot be seen. specific applications.
When maintaining LVS, operation and maintenance personnel need to pay close attention to the current number of forwarding connections of LVS and the system LVS log. Monitor VIP, real IP status, and number of connections through the monitoring platform.
Nginx is currently the mainstream high-performance WEB server. Nginx is currently developing very hotly due to its excellent stability, rich feature set, sample configuration files, and low system resource consumption.
Nginx is mainly based on 7-layer applications and can implement various rule forwarding and reverse proxy our back-end JAVA and PHP dynamic servers. At the same time, Nginx itself has the ability to process static pages with an official theoretical concurrency of 5w/s. At the same time, Nginx can also be used as a cache. The server stores our static page cache, and its performance is comparable to Squid.
As IT operation and maintenance personnel, in daily operation and maintenance, you need to pay long-term attention to the overall operation of the website, analyze website bottlenecks, constantly optimize the relevant parameters of Nginx, and ensure that there are no abnormalities in the connection between Nginx and the back-end service.
The backend stores our real website and backend services, which are called through Nnginx on the frontend and common service parsing software on the backend. If it is jsp language, the containers are Tomcat, Resin, Weblogic, etc.
If it is a PHP program, we need to install the PHP environment to parse the php code, and then provide user access through the front-end Nginx reverse proxy.
In daily operation and maintenance, you need to pay attention to the monitoring of the back-end service layer and the number of connections. You must pay attention and monitor the normality of the back-end service in real time, configure multiple instances, and redundant cases.
At present, the mainstream databases on the Internet include Mysql, Mariadb, mongodb, Oracle, etc. The database is the core layer of the entire architecture, and data is the basis for the survival of the enterprise, so the architecture and maintenance of the database are also crucial. Medium and large Internet companies have their own full-time DBA personnel responsible for the operation and maintenance of Mysql.
When maintaining the database, IT operation and maintenance personnel need to pay close attention to changes in the number of database concurrencies, connection pools, etc., pay attention to changes in the database master-slave, read-write separation status, and logs, and develop a complete backup mechanism to complete the backup of the database. Any problems are dealt with in a timely manner.
Through the introduction of this article, we can understand the main architecture of the Linux system, as well as their respective characteristics and functions. The kernel is the core of the Linux system and is responsible for managing hardware resources and process scheduling. Shell is the user interface of the Linux system, responsible for interpreting user commands and calling applications. The file system is the data organization method of the Linux system and is responsible for storing and managing files and directories. Applications are functional extensions of the Linux system and are responsible for providing various services and tools. These four components work together to form a complete and flexible operating system.
The above is the detailed content of Main architecture of Linux system. For more information, please follow other related articles on the PHP Chinese website!