Nginx核心功能

Nginx核心功能

基于授权的访问控制

1:基于授权的访问控制简介

Nginx 与 Apahce 一样,可以实现基于用户授权的访问控制,当客户端想要访问相应网站或者目录时,要求用户输入用户名和密码才能正常访问,配置步骤与 Apache 基本一致。概括为以下几个步骤。

生成用户密码认证文件。

修改主配置文件相对应目录,添加认证配置项。

重启服务,访问测试。

2:基于授权的访问控制步骤

(1)使用 htpasswd 生成用户认证文件

使用 htpasswd 生成用户认证文件,如果没有该命令,可使用yum安装httpd-tools 软件包,用法与 Apache 认证时方式相同,如:htpasswd -c/usr/local/nginx/passwd.db test。在/usr/local/nginx/目录下生成了 passwd.db文件,用户名是 zhangsan,密码输入 2 次。在 passwd.db 中生成用户和密码的密文。

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


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

(4)检测语法、重启服务

(5)用浏览器访问网址,检测控制效果

基于客户端的访问控制

1:基于客户端的访问控制简介

基于客户端的访问控制是通过客户端 IP 地址,决定是否允许对页面访问。Nginx 基于客户端的访问控制要比 Apache 简单,规则如下:

deny IP/IP 段:拒绝某个|P 或 IP 段的客户端访问。
allow IP/IP 段:允许某个 |P 或 IP 段的客户端访问。

规则从上往下执行,如匹配则停止,不再往下匹配。

2:基于客户端的访问控制步骤

修改主配置文件的nginx.conf,添加相应配置项

Nginx 虚拟主机

利用虚拟主机,不用为每个要运行的网站提供一台单独的 Nginx 服务器或单独运行一组 Nginx 进程,虚拟主机提供了在同一台服务器,同一组 Nginx 进程上运行多个网站的功能。跟 Apache 一样,Nginx 也可以配置多种类型的虚拟主机,分别是基于 IP 的虚拟主机、基于域名的虚拟主机、基于端口的虚拟主机。

使用 Nginx 搭建虚拟主机服务器时,每个虚拟 web 站点拥有独立的"server{}"配置段,各自监听的 IP 地址、端口号可以单独指定,当然网站名称也是不同的。

基于域名的虚拟主机

(1)设置客户端域名解析

修改hosts文件,加入www.aaa.com和www.bbb.com这两个域名

(2)准备各个网站的目录和测试首页

(3)修改配置文件

基于IP的虚拟主机

一台主机如果有多个地址,可以设置每一个IP对应一个站点。主机安装多个网卡可以有多个IP,这里采用虚拟ip的方式使主机有多个ip

(1)为服务器设置多个IP


(2)修改Nginx的配置文件,使基于IP的虚拟主机生效



(3)访问两个IP网站,测试页面是否生效

基于端口的虚拟主机

(1)选择系统中不适用的端口,多个端口映射到同一个IP地址

(2)检测端口是否运行正常

(3)分别访问两个端口地址

LNMP架构部署及应用

编译安装Mysql服务


安装PHP解析环境

编译安装PHP

libxml2-devel :libxml是一个用来解析XML文档的函数库
libjpeg-devel 是一个完全用C语言编写的库,包含了被广泛使用的JPEG解码、JPEG编码和其他的JPEG功能的实现
libpng-devel libpng 是一套免费的、公开源代码的程序库,支持对 PNG 图形文件的创建、读写等操作
GD 指的是Graphic Device,PHP的GD库是用来处理图形的扩展库,通过GD库提供的一系列API,可以对图像进行处理或者直接生成新的图片。PHP除了能进行文本处理以外,通过GD库,可以对JPG、PNG、GIF、SWF等图片进行处理
zlib-devel Zlib是一个压缩和解压模块

注意:

--with-mysqli=mysqlnd需要用ip地址的方式连接数据库,既可以是php和mysql装在同一个服务器,也可以装在不同的服务器。用127.0.0.1本地连接不需要为连接授权,用192.168.10.101连接需要授权,哪怕连接本地数据库。

--with-mysqli=/usr/bin/mysql_config需要用localhost连接数据库,只能用于本地连接,也就是php和mysql装在同一个服务器上

安装后调整

安装ZendGuardLoader


配置 Nginx 支持 PHP 环境

(1)启用 php-fpm 进程

pid = run/php-fpm.pid

user = php

group = php

pm.max_children = 50 ##最多子进程数

pm.start_servers = 20 ##启动时开启的进程数

pm.min_spare_servers = 5 ##最少空闲进程数

pm.max_spare_servers = 35 ##最多空闲进程数


(2)配置 Nginx 支持 PHP 解析

调用本机的 php-fpm 进程

(3)php页面访问测试




在LNMP平台中部署Web应用

下载并部署程序代码
创建数据库

安装web应用

访问服务器url地址,对网站进行初始化

http://192.168.10.101/bbs/install/index.php


相关推荐
Leinwin15 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_8653825015 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇15 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.75915 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
运维小欣16 小时前
智能体选型实战指南
运维·人工智能
yy552716 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ17 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔18 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密18 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi201518 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑