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
相关推荐
冬天vs不冷24 分钟前
Linux用户与权限管理详解
linux·运维·chrome
凯子坚持 c1 小时前
深入Linux权限体系:守护系统安全的第一道防线
linux·运维·系统安全
一个处女座的程序猿O(∩_∩)O1 小时前
小型 Vue 项目,该不该用 Pinia 、Vuex呢?
前端·javascript·vue.js
✿ ༺ ོIT技术༻1 小时前
C++11:新特性&右值引用&移动语义
linux·数据结构·c++
watermelonoops4 小时前
Deepin和Windows传文件(Xftp,WinSCP)
linux·ssh·deepin·winscp·xftp
hackeroink4 小时前
【2024版】最新推荐好用的XSS漏洞扫描利用工具_xss扫描工具
前端·xss
疯狂飙车的蜗牛5 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
迷雾漫步者6 小时前
Flutter组件————FloatingActionButton
前端·flutter·dart
向前看-6 小时前
验证码机制
前端·后端
燃先生._.7 小时前
Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
前端·javascript·vue.js