Linux | WEB服务器的部署及优化

一. web服务的常用知识

1.1 www

www(World Wide Web):即为万维网,常被称为"全球信息广播"。它是一种基于超文本和HTTP协议,能够将文字、图形、影像以及声音等多媒体信息,通过超链接的方式组织在一起,使用户可以方便地在网络中查询所需信息的系统。用户通过浏览器访问www提供的资源,浏览器作为HTTP客户端向服务器发送请求,服务器根据请求返回相应的网页资源。

1.2 网址

  • URI:Uniform Resource Identifier统一资源标识,分为URL和URN

    • URN:Uniform Resource Naming,统一资源命名,P2P下载使用的磁力链接是URN的一种实现
    • URL:Uniform Resorce Locator,统一资源定位符用于描述某服务器某特定资源位置
  • 两者区别:而URL提供查找该事物的方法。URN仅用于命名,而不指定地址

    URL的构成组织

    <scheme>://<user>:<password>@<host>:<port>/<path>:<params>?<query>#<frag>
    方案 用户 密码 主机 端口 路径 参数 查询 片段

  • <scheme>:协议方案,常见的如 http 、https 、ftp 等。决定了客户端与服务器通信时使用的协议规则。

  • <user>:<password>:用于需要身份验证的场景。<user> 代表用户名,<password> 代表密码 。但直接在URL中暴露密码存在安全风险,实际应用中,更多是采用如OAuth等安全认证机制。

  • <host>:表示服务器的域名或IP地址,用于指定资源所在的服务器位置。

  • <port>:指定服务器上用于通信的端口号。不同的协议有默认端口,例如 http 默认端口是80, https 默认端口是443。若访问时使用默认端口,在URL中可省略不写;若使用非默认端口,则必须明确写出。

  • <path>:用于指定服务器上资源的具体路径,类似于文件系统中的路径结构。

  • <params>:由一系列参数名和参数值组成,参数之间用分号(;)分隔,主要用于传递额外的参数信息给服务器端应用程序。。

  • <query>:同样用于向服务器传递参数,以问号(?)开头,多个参数之间用与号(&)分隔。常见于搜索功能。

  • <frag>:也叫片段标识符,以井号(#)开头,主要在客户端使用。它用于指定页面内的特定位置或片段,当浏览器加载页面时,会根据这个片段标识符自动滚动到对应的位置。

二. 实验环境配置

  • 配置软件仓库
  • 写脚本

三. Nginx 的安装与启用

  • 安装nginx
  • 启动与火墙放行
  • 启用
  • nginx端口 -- web服务默认使用80端口
  • nginx的配置目录

四. web服务的基本设置

4.1 nginx修改端口

  • 默认的端口为80

4.2 默认发布文件

  • 查看原本的默认发布文件
  • 更改默认发布文件
  • 可以指定多个,但是访问时需要按先后顺序(test先,index后)

4.3 默认发布目录

  • 原先的发布目录
  • 修改

五. nginx的访问控制

5.1 基于ip的访问控制

  • 先写小范围,再写大范围
  • 先后顺序:前面的命令先执行,后面的无法覆盖前面的

5.2 基于用户认证的访问控制

  • 安装httpd-tools工具
  • 添加用户与密码
  • 在/etc/nginx/nginx.conf 文件中修改
  • 访问

六. nginx的虚拟主机

nginx 的虚拟主机功能允许在同一台服务器上部署多个网站,提高服务器资源的利用率。

6.1 基于ip的虚拟主机

  • 设置
  • 访问

6.2 基于域名的虚拟主机

  • 配置
  • 在主配置文件中配置
相关推荐
TA远方7 分钟前
【C#】一个简单的http服务器项目开发过程详解
服务器·http·c#·wpf·web·winform·console
一个不知名程序员www24 分钟前
Linux基本指令/下
linux·服务器·centos
zhcong_1 小时前
LVS+Keepalived高可用群集
linux·运维·lvs
Angel Q.1 小时前
系统是win11+两个ubuntu,ubuntu20.04和ubuntu22.04,想删除ubuntu20.04且不用保留数据
linux·运维·ubuntu
JzjSunshine1 小时前
配置远程无密登陆ubuntu服务器时无法连接问题排查
linux·运维·ubuntu
爱奥尼欧1 小时前
【Linux】环境变量完全解析
linux·运维·服务器
Simon—欧阳2 小时前
微信小程序真机调试时如何实现与本地开发环境服务器交互
服务器·微信小程序·小程序
vvilkim2 小时前
深入理解C#异步编程:原理、实践与最佳方案
服务器·开发语言·c#
加百力2 小时前
戴尔AI服务器订单激增至121亿美元,但传统业务承压
大数据·服务器·人工智能
运维成长记3 小时前
ansible-playbook 进阶 接上一章内容
linux·服务器·ansible