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 小时前
AWS账号注册费用详解:新用户是否需要付费?
服务器·云计算·aws
Lary_Rock1 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
幺零九零零2 小时前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络
云飞云共享云桌面3 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
逐·風3 小时前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#
Devil枫3 小时前
Vue 3 单元测试与E2E测试
前端·vue.js·单元测试
Peter_chq4 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
尚梦4 小时前
uni-app 封装刘海状态栏(适用小程序, h5, 头条小程序)
前端·小程序·uni-app
一坨阿亮4 小时前
Linux 使用中的问题
linux·运维
GIS程序媛—椰子5 小时前
【Vue 全家桶】6、vue-router 路由(更新中)
前端·vue.js