Linux Web服务器

一、web服务

以赛促学的内容:因不清楚出题使用何种服务,特将两种服务归纳总结.

HTTP是数据传输的规则,Web是基于HTTP协议的服务。当今,概念已混淆了。个人在此也视为相同,则补充相关原理简介。
在这里插入图片描述

1.1 http

用户访问网址基本流程

在这里插入图片描述
DNS 解析流程
在这里插入图片描述
Chrome浏览器使用快捷键Ctrl+Shift+I(或通过点击菜单图标,然后选择“更多工具”中的“开发者工具”)查看HTTP版本和IP解析

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.2 Web

Web服务器是互联网应用的核心组件,提供了处理请求、传输内容、保证安全、提升性能、支持扩展等多种关键功能。无论是简单的静态网站还是复杂的动态Web应用,Web服务器都是不可或缺的基础设施,确保用户能够高效、安全地访问和使用Web资源。

目前最主流的web服务器是Nginx、Apache。 Aphache 和 Nginx 都是开源的 Web
服务器软件,它们都可以用于提供静态内容、动态内容和反向代理服务。然而,它们之间存在一些区别:

  1. 性能:Nginx 通常比 Aphache 更快,因为它使用更少的内存和 CPU 资源来处理请求。Nginx 的设计目标是高性能和低资源消耗。
  2. 配置:Nginx 的配置比 Aphache 更复杂,但它提供了更多的功能和灵活性。Nginx 支持更多的模块,可以更轻松地实现复杂的功能,如负载均衡、SSL 加密、缓存等。
  3. 社区支持:Nginx 的社区支持比 Aphache 更强大,有更多的开发者和用户参与。这意味着 Nginx 有更多的插件和扩展,可以满足更多的需求。
  4. 稳定性:Aphache 通常比 Nginx 更稳定,因为它的代码更简单,没有那么多的模块和配置选项。这使得 Aphache 更容易维护和调试。
  5. 使用场景:Nginx 通常用于高负载的网站,如电子商务网站、社交网络等。而 Aphache 则适用于小型网站和个人项目。
  6. 开源协议:Aphache 遵循 GPLv3 开源协议,而 Nginx 遵循 BSD 2 开源协议。这意味着 Nginx 的使用范围更广泛,因为它不需要遵守 GPLv3 的许可要求。

Apache侧重在完整稳定上,而Nginx侧重在轻量高效上,很多时候Apache和Nginx是配合使用的,Nginx配置在Apache前面,用它挡掉静态文件的请求(网站今天资源的请求占了大部分的),Nginx处理不了的内容菜才转发给Apache来处理
在这里插入图片描述

1.3 web中间件

Web中间件通常负责处理特定编程语言编写的动态内容。这些中间件接收来自Web服务器(如Apache或Nginx)的请求,处理这些请求,并返回响应,常见的Web中间件(也称为Web容器)包括:

  • PHP的中间件:php-fpm(PHP端口9000)
  • Java的中间件:Tomcat(端口8080,并发量到150就不行了)、JBoss、WebLogic
  • Python的中间件:uWSGI(默认端口5000)

前端页面的静态元素包括HTML、图片(.img)、JavaScript(.js)和CSS(.css)等文件,可以使用Apache或Nginx作为Web服务器来提供这些静态内容。

后端页面的动态元素根据不同的开发语言而有所不同,例如PHP和JSP。这些动态元素需要配合相应的编程语言(如Java、PHP和Python)进行处理和生成。

二、 Apache服务的搭建与配置

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之

2.1 服务安装基本思路

dnf search Apache # 搜索服务的包名
dnf -y install httpd.x86_64 # 安装
rpm -qc httpd.x86_64  # 查找配置文件
vim /etc/httpd/conf/httpd.conf
...
124 DocumentRoot "/var/www/html" # 服务器文档根目录

169 DirectoryIndex index.html # 服务器默认返回的文件名
...
echo 'hello world' >/var/www/html/index.html # 测试
systemctl enable --now httpd #开机自启
firewall-cmd --permanent --add-service=http # 防火墙
firewall-cmd --reload

三、 Nginx 配置Web服务

dnf search  nginx
dnf install nginx -y
rpm -qa |grep nginx
rpm -qc nginx-1.20.1-10.el9.x86_64
vim /etc/nginx/nginx.conf
......

 38     server {
 39         listen       8000;
 40         listen       [::]:80;
 41         server_name  _;
 42         root         /usr/share/nginx/html;
 43         index   index.html
 
......
systemctl enable --now nginx.service
systemctl status nginx.service
ss -ntlp |grep 8000
echo hh > /usr/share/nginx/html/index.html
curl http://localhost:8000
firewall-cmd --state
firewall-cmd --permanent --add-port=8000/tcp
firewall-cmd --reload

相关推荐

  1. 租用服务器提供服务

    2024-07-12 00:30:02       27 阅读
  2. RHCE 【DNS服务主从服务器

    2024-07-12 00:30:02       57 阅读
  3. 服务器自启动服务总结

    2024-07-12 00:30:02       76 阅读
  4. 服务器固件

    2024-07-12 00:30:02       48 阅读
  5. 边缘服务器

    2024-07-12 00:30:02       36 阅读
  6. 物理服务器

    2024-07-12 00:30:02       56 阅读
  7. 初始化服务器

    2024-07-12 00:30:02       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 00:30:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 00:30:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 00:30:02       57 阅读
  4. Python语言-面向对象

    2024-07-12 00:30:02       68 阅读

热门阅读

  1. C++ 定时器触发

    2024-07-12 00:30:02       24 阅读
  2. SqlSugar分表笔记

    2024-07-12 00:30:02       25 阅读
  3. 模板语法指令语法——02

    2024-07-12 00:30:02       21 阅读
  4. LeetCode 算法:实现 Trie (前缀树) c++

    2024-07-12 00:30:02       21 阅读
  5. 周报 | 24.7.1-24.7.7文章汇总

    2024-07-12 00:30:02       20 阅读
  6. httpclient访问https请求报错处理

    2024-07-12 00:30:02       19 阅读
  7. 力扣---41. 缺失的第一个正数

    2024-07-12 00:30:02       23 阅读