目录 #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