0


使用nginx搭建web网站

一、nginx简介

**概念 **

** **Nginx是一款轻量级HTTP服务器,也是一款邮箱代理服务器,同时具有反向代理、通用TCP/UDP代理的功能。

    Nginx可以运行x86、ARM等多种平台上,同时支持Linux、Windows等主流的操作系统。

特点

    支持高并发
             单机Nginx可支持十万级的并发连接,经过优化后可最高支持百万级并发连接
     内存资源消耗低
             在同级web服务器中,Nginx占用的内存最少,一万非活跃的httpkeep-alive连接仅消耗2.5M内存
     高扩展性
             和Apache一样,Nginx采用模块化设计,并支持非常丰富的第三方模块
     高可靠性
             Nginx采用master-worker模式,如果worker出现故障,master可以快速开启一个新的worker来提供服务

二、nginx架构

主进程:master

  • 检查nginx配置是否正确
  • 创建、监控worker进程的数量和状态
  • 接收对nginx的管理指令,并作出对应操作

工作进程:worker

  • 处理用户请求
  • 接收master发来的指令,并做对应操作

注意:默认情况下,nginx会建立和服务器CPU核心数相等的worker进程,woker进程之间相互独

立,若一个进程故障不会影响其它进程

三、部署nginx

1.nginx配置文件

[root@server ~]# cd /etc/nginx

[root@server nginx]# tree
.
├── conf.d 子配置文件 /etc/nginx/conf.d/*.conf
├── default.d
├── fastcgi.conf
├── fastcgi.conf.default
├── fastcgi_params
├── fastcgi_params.default
├── koi-utf
├── koi-win
├── mime.types
├── mime.types.default 样例文件
├── nginx.conf 主配置文件
├── nginx.conf.default 样例文件
├── scgi_params
├── scgi_params.default
├── uwsgi_params
├── uwsgi_params.default
└── win-utf

2 directories, 15 files

网页默认目录:/usr/share/nginx/html

访问日志:/var/log/nginx/access.log

错误日志:/var/log/nginx/error.log

#/usr/share/nginx/modules/*.conf 配置影响Nginx的核心功能和模块行为。 生效范围:这些配置文件中的设置将在Nginx启动时加载,并且对整个Nginx服务器的操作都有效。它们通常用于定义Nginx模块的行为,而不是特定服务或location的配置。

#/etc/nginx/conf.d/*.conf 配置影响特定的虚拟主机和服务配置。 这个 include 指令位于 http 块内部,通常 用于包含定义了虚拟主机(server blocks)和服务配置的文件。每个 .conf 文件可以定义一个或多个服务器块(server blocks),这些服务器块可以监听不同的端口、处理不同的域名以及提供不同的网站内容。 生效范围:这些配置文件中的设置仅对它们各自定义的虚拟主机或服务有效。例如,如果你在 /etc/nginx/conf.d/ 目录下有一个名为 example.com.conf 的文件,那么该文件中的配置只会应用于 example.com 这个域名。

2.主配置文件

结构

分析

  • 层级结构图

四.虚拟主机配置实战

1.修改端口、默认目录、默认文件访问web页面

(1).通过不同端口访问同一web页面

主配置文件中添加监听端口 listen 666;

测试主机128

(2).通过不同默认目录访问同一页面

测试:

(3).通过不同文件访问web页面

测试:

2.基于不同端口、不同ip、不同域名访问不同页面

(1)基于不同端口访问不同页面

在子配置文件中配置:

测试:

在主配置文件中配置:

测试:

(2)基于不同目录访问不同页面

测试:

(3)基于不同ip访问不同页面

或者这么写 测试:

(4)基于不同域名访问不同页面

客户端手动配置IP地址与域名的映射关系,再进行测试:

3.访问控制

1)搭建密码验证功能访问网站数据

windows打开浏览器输入192.168.31.128时有验证密码的对话框弹出:

Linux客户端测试:

(2)基于不同用户的访问控制

1.安装nginx、httpd-tools

2.创建存储密码的文件,增强访问控制

htpasswd -cb /etc/nginx/passwd 用户名 密码

3.设置访问网站是需要验证密码

4.重启服务,测试

测试:

(3)基于不同用户不同ip访问:

客户端测试:

(4)基于源ip的访问控制

是一种网络安全机制,用于限制或允许特定 IP 地址或地址段对网络资源的访问。

允许所有主机访问 allow all;

测试:

4.使用nginx的http_ssl模块建立加密认证网站

**配置文件: **

    证书文件:/……/xxxx.crt 

    私钥文件:/……/xxxx.key

(1)搭建nginx+ssl的加密认证web服务器

1.生成秘钥

2.制作证书

3.除去口令

4.修改配置文件,将存储证书、秘钥文件目录加到配置文件中

5.重启服务并进行测试

测试:浏览器输入https://192.168.31.128 ,点击高级--> 接收风险继续

证书查看:

(2)组建多个子目录网站

比如:www.openlab.com/file1 www.openlab.com/file2

测试:

输入:1.www.openalab.com/file1

       2.https://www.openlab.com/file2  -->高级 --> 接收风险继续

标签: 服务器 运维 linux

本文转载自: https://blog.csdn.net/2401_83342251/article/details/143455506
版权归原作者 酥暮沐 所有, 如有侵权,请联系我们删除。

“使用nginx搭建web网站”的评论:

还没有评论