Linux Web服务器

文章目录

  • 一、web服务
    • [1.1 http](#1.1 http)
    • [1.2 Web](#1.2 Web)
    • [1.3 web中间件](#1.3 web中间件)
  • [二、 Apache服务的搭建与配置](#二、 Apache服务的搭建与配置)
  • [2.1 服务安装基本思路](#2.1 服务安装基本思路)
  • [三、 Nginx 配置Web服务](#三、 Nginx 配置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 服务安装基本思路

python 复制代码
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服务

python 复制代码
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 小时前
v-scale-scree: 根据屏幕尺寸缩放内容
开发语言·前端·javascript
一只栖枝3 小时前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
wuicer5 小时前
ubuntu 20.04 安装anaconda以及安装spyder
linux·运维·ubuntu
加班是不可能的,除非双倍日工资6 小时前
css预编译器实现星空背景图
前端·css·vue3
wyiyiyi6 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
gnip6 小时前
vite和webpack打包结构控制
前端·javascript
玩转以太网7 小时前
基于W55MH32Q-EVB 实现 HTTP 服务器配置 OLED 滚动显示信息
服务器·网络协议·http
excel7 小时前
在二维 Canvas 中模拟三角形绕 X、Y 轴旋转
前端
cui__OaO7 小时前
Linux软件编程--线程
linux·开发语言·线程·互斥锁·死锁·信号量·嵌入式学习
小狗爱吃黄桃罐头7 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习