当前位置: 代码网 > it编程>数据库>Redis > Nginx网站服务详解

Nginx网站服务详解

2025年06月22日 Redis 我要评论
一、基于授权的访问控制1:基于授权的访问控制简介nginx 与 apahce 一样,可以实现基于用户授权的访问控制,当客户端想要访问相应网站或者目录时,要求用户输入用户名和密码才能正常访问,配置步骤与

一、基于授权的访问控制

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 文件,用户名是 test,密码输入 2 次。在passwd.db 中生成用户和密码的密文。

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

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

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

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

二、基于客户端的访问控制

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

基于客户端的访问控制是通过客户端 ip 地址,决定是否允许对页面访问。

nginx 基于客户端的访问控制要比 apache 简单,规则如下:

  • deny ip/ip段:拒绝某个ip或ip段的客户端访问。
  • allow ip/ip段:允许某个ip或ip段的客户端访问。
  • 规则从上往下执行,如匹配则停止,不再往下匹配

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

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

三、nginx 虚拟主机

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

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

1:基于域名的虚拟主机

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

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

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

(3)修改配置文件

(4)测试

2:基于 ip 的虚拟主机

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

(1)为服务器设置多个ip地址

nmcli是networkmanager的命令行工具,用于管理linux系统中的网络连接

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

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

3:基于端口的虚拟主机

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

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

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

四、lnmp 架构部署及应用

众所周知,lamp 平台是目前应用最为广泛的网站服务器架构,其中“a”对应着 web 服务软件 apache。随着 nginx 在企业中的使用越来越多,lnmp(或 lemp)架构也越老越受到企业的青睐。

1:编译安装 mariadb服务

把数据库安装到第二台服务器192.168.10.102中

开启mysql

给mysql密码(默认没密码)

进入mysql

给root用户提权为后续连接php做铺垫

刷新策略

2:安装 php 解析环境

(1)编译安装 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是一个压缩和解压模块

编译php

注意:

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

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

(2)安装后调整

(3)安装 zendguardloader

3:配置 nginx 支持 php 环境

(1)启用 php-fpm 进程

(2)配置 nginx 支持 php 解析

调用本机的 php-fpm 进程

(3)php 页面访问测试

关mysql防火墙

4.在 lnmp 平台中部署 web 应用

(1):下载并部署程序代码

(2):创建数据库

(3):安装 web 应用

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

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com