云计算百科
云计算领域专业知识百科平台

Linux 中 Web 服务器的部署及优化(附加详细实验案例)

一、用户常用关于 web 的信息

1.什么是 www 

www 是 World Wide Web 的缩写,即万维网,用于全球信息广播。人们上网常用 www 查询信息,它能结合多媒体,以超链接方式通过 Internet 传递信息。连接 www 网站时,客户端需用浏览器解析网站提供的数据。

2.网址

URI(统一资源标识):即 Uniform Resource Identifier ,分为 URL 和 URN。

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

3.URL 组成 

URL组成机构如下: 

<scheme>://<user>:<password>@<host>:<port>/<path>:<params>?<query>#<frag> 

每部分定义为:

scheme

方案

访问服务器以获取资源时要使用哪种协议

user

用户

某些方案访问资源时需要的用户名

password

密码

用户对应的密码,中间用:分隔

host

主机

资源宿主服务器的主机名或IP地址

port

端口

资源宿主服务器正在监听的端口号,很多方案有默认端口号

path

路径

服务器资源的本地名,由一个/将其与前面的URL组件分隔

params

参数

指定输入的参数,参数为名/值对,多个参数,用;分隔

query

查询

传递参数给程序,如数据库,用?分隔,多个查询用&分隔

frag

片段

一小片或一部分资源的名字,此组件在客户端使用,用#分隔

二、web 服务的安装与启用 

1.实验环境设置(配置软件仓库) 

先建立 /rhel9 目录,进行挂载,然后将 mount /dev/cdrom /rhel9 写入 /etc/rc.d/rc.local,并给 /etc/rc.d/rc.local 添加可执行权限 

将需要主机自动运行的命令编辑到开机自运行脚本中,并给 /etc/rc.d/rc.local 文件加上可执行权限,才能在开机的时候运行。 

进入到 /etc/yum.repos.d/ 中,编辑 lxt.repo 文件。

编写脚本,配置永久网络。

设定 ip 为 192.168.10.200。

2.web 服务的安装与启用 

安装 web 服务的 nginx 

firewall-cmd –permanent –add-service=http:永久添加允许 http 服务规则

firewall-cmd –reload:重新加载防火墙,即使规则立即生效

启动 nginx,并允许 http 服务的网络流量通过。

firewall-cmd –list-all:列出所有防火墙的配置信息

可看到允许通过防火墙的服务列表中有 http 服务。 

/usr/share/nginx/html/:nginx 的默认发布/共享目录(把目录中的内容共享出去)

/usr/share/nginx/html/index.html:nginx 的默认发布文件

将 123456 写入 index.html 中,然后访问 129.168.10.200,便显示出刚写入 index.html 文件中的内容。

web 服务默认使用端口为 80 端口。

三、web 服务的基本设置 

/etc/nginx:为 nginx 的配置目录 

/etc/nginx/nginx.conf:为 nginx 的主配置文件

1.修改 worker 进程数量 

cpu 是 8 核的,所以 worker 的子进程默认开 8 个。

将 worker_processes auto 中的 auto 改为确切的数字,便可修改子进程开的数量。 

2.修改默认端口 

将端口改为 8080,访问 192.168.10.200 时需在后面添加 :8080,才能访问成功。

防火墙放行 8080 端口,才能成功访问 192.168.20.200。

3.修改默认发布文件

随后将端口改回 80 端口,并将默认发布文件改为 test.html。 

在 test.html 文件中写入 test, 

nginx -t:查看语法是否正确 

先查看语法是否正确,语法没问题,则 nginx 可以正常启动。然后访问 192.168.10.200,显示出来的内容是 test.html 里面的 test 

可以指定多个默认发布文件,以前面的文件为先,若第一个文件消失,则会默认访问第二个文件

4.修改默认发布目录

在 /usr/share/nginx 中建立 /lxt 目录,写入 hahahaha 到 /usr/share/nginx/lxt/index.html 中,在 /etc/nginx/nginx.conf 中将目录修改为 /usr/share/nginx/lxt ,重新加载后访问 192.168.10.200 ,显示出来的是 hahahaha。

四、web 服务器的访问控制 

1.基于 ip 的访问控制 

在 /usr/share/nginx/html/ 中建立 lee 子目录,并写入 lee 到 /lee/index.html。

基于 ip 添加对 /lee/ 内容的访问控制,允许 192.168.10.200 访问,拒绝所有用户访问。有读取顺序,先被读取的会生效,后读取的无法覆盖前面的内容。

2.基于用户认真的访问控制

安装 httpd-tools,才能使用 htpasswd 命令。

htpasswd:生成配置文件(系统中默认不存在)

c:将不存在的文件创建出来

文件不存在时需要加 c ,若文件存在,则不需要加 c ,否则会覆盖原本的信息

auth_basic on:开启功能

auth_basic_user_file /etc/nginx/.htpasswd:指定认证文件

基于认证文件添加对 /lee/ 内容的访问控制。

配置完成后,直接访问是不成功的,需加上用户名和密码才能访问成功。

 

五、web 服务器的虚拟主机 

默认状态下,nginx 只能发布一个站点,若通过搭建多台 Nginx 实现多站点发布,会造成资源浪费。为解决这一问题,可启用 nginx 的虚拟主机。虚拟主机有两种模式,基于 IP 或者基于域名。

1.基于 ip 的虚拟主机

实现访问同一主机不同 ip 显示不同的内容。

首先建立两个 ip (192.168.10.10 和 192.168.10.20)。

然后在 /usr/share/nginx/ 中创建 virtualhost/{news,bbs} 两个目录,将 192.168.10.10 写入 /usr/share/nginx/virtualhost/news/index.html,将 192.168.10.20 写入 /usr/share/nginx/virtualhost/bbs/index.html,便于访问时区分。

/etc/nginx/conf.d/ 目录里面所有以 .conf 结尾的文件都包含在主配置文件里,所以在 /etc/nginx/conf.d/ 目录里创建以 .conf 结尾的文件,在里面

进入 /etc/nginx/conf.d/ 目录中,编写 vhosts.conf 文件。192.168.10.10 的目录为 /usr/share/nginx/virtualhost/news,192.168.10.20 的目录为 /usr/share/nginx/virtualhost/bbs。

分别访问三个 ip 地址,访问的结果都是不同的。

2.基于域名的虚拟主机 

一个 ip 可以发布多个站点。

80 端口因是默认端口,可忽略。域名分别为 news.lxt.org 和 bbs.lxt.org。 

然后在 /etc/hosts 中写入 IP 及其域名,便可以通过域名访问其中的信息。 

在 C:\\Windows\\System32\\drivers\\etc 目录中找到 hosts 文件,用记事本的方式打开,写入 ip 及其域名,并保存。 通过记事本也可访问其域名。

赞(0)
未经允许不得转载:网硕互联帮助中心 » Linux 中 Web 服务器的部署及优化(附加详细实验案例)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!