目录
#1.1Nginx服务基础
1.1.1Nginx 1.26安装及运行控制
1.1.2编译安装Nginx
1.1.3Nginx的运行控制
1.1.4配置文件nginx.conf
1.1.5访问状态统计
#2.1Nginx访问控制
2.1.1基于授权的访问控制简介
2.1.2基于授权的访问控制步骤
#3.1Nginx虚拟主机
3.1.1基于域名的虚拟主机
3.1.2基于IP的虚拟主机
3.1.3基于端口的虚拟主机
1.1Nginx服务基础
Nginx 是一款高性能的开源 Web 服务器,Nginx 以高性能、低资源消耗、灵活的配置和强大的反向代理能力,成为现代互联网架构中不可或缺的组件。尤其适合高并发、大流量的 Web 应用场景,是构建微服务、API 网关、CDN 等系统的首选技术。
1.1.1Nginx 1.26安装及运行控制
Nginx安装文件可以从官网下载。
1.1.2编译安装Nginx
(1)安装支持软件
在解包前,要安装Nginx所需的头文件和库文件。
dnf -y install gcc make pcre-devel zlib-devel openssl- devel perl-ExtUtils-MakeMaker git wget tar
(2)创建运行用户,组和日志目录
Nginx服务程序默认以nobody身份运行,创建一个名为nginx的程序用户。
useradd -M -s /sbin/nologin nginx
mkdir -p /var/log/nginx
chown -R nginx:nginx /var/log/nginx
(3)编译安装Nginx
tar zxf nginx-1.26.3.tar.gz 解包
cd nginx-1.26.3
./configure --prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_stub_status_module \
--with-pcre \ 配置
make && make install 编译 安装
为主程序nginx创建链接文件
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
ls /usr/local/nginx
1.1.3Nginx的运行控制
(1)用“-t”选项来检查Nginx配置文件是否配置正确。
nginx -t
(2)启动,停止Nginx
启动:nginx
检查Nginx程序的监听状态
netstat -anpt | grep nginx
(3)添加Nginx系统服务
vim /lib/systemd/system/nginx.service

1.1.4配置文件nginx.conf
在Nginx服务器的主配置文件/usr/local/nginx/conf/nginx.conf中,包括全局配置,I/O事件配置和HTTP配置这三大块内容。
1.全局配置
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#pid logs/nginx.pid;
2.I/O事件配置
events {
use epoll;
worker_connections 4096;
}
3.HTTP配置

1.1.5访问状态统计


2.1Nginx访问控制
2.1.1基于授权的访问控制简介
基于授权的访问控制(Authorization-Based Access Control)是信息安全领域的核心机制之一,用于 定义和限制用户或实体对资源的操作权限,确保只有被授权的主体才能执行特定操作。它与身份验证(Authentication)共同构成访问控制的基础 ——先验证身份,再授予权限。
2.1.2基本授权的访问控制步骤
(1)使用htpasswd生成用户认证文件,如果没有该命令,可使用dnf安装httpd-tools软件包。

(2)修改密码文件权限为400,将所以者改为nginx,设置Nginx的运行用户能够读取。

(3)修改主配置文件nginx.conf,添加相应认证配置项。

(4)检测语法,重启服务。
nginx -t ......OK
systemctl restart nginx
(5)用浏览器访问网址,检验控制效果。


3.1Nginx虚拟主机
Nginx 虚拟主机(Virtual Host)是一种将单一物理服务器划分为多个逻辑服务器的技术,允许在同一台服务器上运行多个网站或应用,且每个虚拟主机可独立配置域名、文档根目录、访问日志等参数。
3.1.1基于域名的虚拟主机
1. 原理:每个网站使用不同的 IP 地址。
配置:需为服务器分配多个 IP 地址,并在listen
指令中指定对应 IP。
局限性:需额外的 IP 地址资源,现代场景较少使用。
2.准备各个网站的目录和测试首页。
mkdir -p /var/www/html/btcom
mkdir -p /var/www/html/tetscom
echo "www.bt.com">>/var/www/html/btcom/index.html
echo "www.test.com">>/var/www/html/testcom/index.html
3.修改配置文件,把两个域名加入server{}段。

4.访问域名,测试配置是否成功。

3.1.2基于IP的虚拟主机


最后验证成192.168.10.100----www.bt.com
192.168.10.101---www.test.com
3.1.3基于端口的虚拟主机

最后验证成192.168.10.100:8080----www.bt.com
192.168.10.101:8080---www.test.com