linux泡妞大法之Nginx网站服务

技能目标
        学会 Nginx 网站服务的基本构建
        了解 Nginx 访问控制实现的方法
        掌握 Nginx 部署虚拟主机的方法
        学会 LNMP 架构部署及应用的方法
        在各种网站服务器软件中,除了 Apache HTTP Server 外,还有一款轻量级的 HTTP 服务器软件——Nginx ,由俄罗斯的 Igor Sysoev 开发,其稳定、高效的特性逐渐被越来越 多的用户认可。本章将讲解 Nginx 服务的基本构建、访问控制方式、虚拟主机的搭建,还有应用广泛的 LNMP 架构服务器的部署方式,并对 PHP_FPM 模块如何支持 PHP 语言进行讨论
5.1 Nginx服务基础
        Nginx(发音为 [engine x] )专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对 HTTP 并发连接的高处理能力(单台物理服务器可支持 30000 ~ 50000 个并发请求)。正因为如此,大量提供社交网络、新闻资讯、电子商务及虚拟主机等服务的企业纷纷选择 Nginx 来提供 Web 服务。
        本节将介绍 Nginx 的安装配置方法。
5.1.1 Nginx 1.12安装及运行控制
        Nginx 安装文件可以从官方网站 http://www.nginx.org/ 下载。下面以稳定版 Nginx1.12.0 为例,介绍 Nginx 的安装和运行控制。

1.编译安装Nginx
(1)安装支持软件
        Nginx 的配置及运行需要 pcre 、 zlib 等软件包的支持,因此应预先安装这些软件的开发包(devel ),以便提供相应的库和头文件,确保 Nginx 的安装顺利完成。

(2)创建运行用户、组
        Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限,增加灵活性、降低安全风险。例如,创建一个名为 nginx 的用户,不建 立宿主文件夹,也禁止登录到 Shell 环境。

 

(3)编译安装 Nginx
        配置Nginx 的编译选项时,将安装目录设为 /usr/local/nginx ,运行用户和组均设为 nginx ;启用 http_stub_status_module 模块以支持状态统计,便于查看服务器的连接信息。具体选项根据实际需要来定,配置前可参考“./configure --help” 给出的说明。

 

为了使 Nginx 服务器的运行更加方便,可以为主程序 nginx 创建链接文件,以便管理员直接执行“nginx” 命令就可以调用 Nginx 的主程序。

 

 

 

(1)检查配置文件
        与 Apache 的主程序 httpd 类似, Nginx 的主程序也提供了 “-t” 选项用来对配置文件进行检查,以便找出不当或错误的配置。配置文件 nginx.conf 默认位于安装目录下的 conf/ 子目录中。若要检查位于其他位置的配置文件,可使用“-c” 选项来指定路径。
 

(2)启动、停止 Nginx
        直接运行 Nginx 即可启动 Nginx 服务器,这种方式将使用默认的配置文件,若要改用 其他配置文件,需添加“-c 配置文件路径 ” 选项来指定路径。需要注意的是,若服务器中已装 第 有 httpd 等其他 Web 服务软件,应采取措施(修改端口、停用或卸载)避免冲突。
 

 

通过检查 Nginx 程序的监听状态,或者在浏览器中访问此 Web 服务(默认页面将显示 “Welcome to nginx!”),可以确认 Nginx 服务是否正常运行。

(3)添加 Nginx 系统服务
        为了使 Nginx 服务的启动、停止、重载等操作更加方便,可以编写 Nginx 服务脚本,并使用 chkconfig 和 systemctl 工具来进行管理,也更加符合 CentOS7.6 系统的管理习惯。

 

5.1.2  配置文件nginx.conf
        在 Nginx 服务器的主配置文件 /usr/local/nginx/conf/nginx.conf 中,包括全局配置、 I/O事件配置和 HTTP 配置这三大块内容,配置语句的格式为 “ 关键字 值 ;” (末尾以分号表示结束),以“#” 开始的部分表示注释。

1. 全局配置

        由各种配置语句组成,不使用特定的界定标记。全局配置部分包括 Nginx 服务的运行用户、工作进程数、错误日志、PID 存放位置等基本设置。

2.  I/O事件配置
        使用“events { }” 界定标记,用来指定 Nginx 进程的 I/O 响应模型、每个进程的连接数等设置。对于 2.6 及以上版本的内核,建议使用 epoll 模型以提高性能;每个进程的连接数应根据实际需要来定,一般在 10000 以下(默认为 1024 )。
 

5.1.3  访问状态统计
        Nginx 内置了 HTTP_STUB_STATUS 状态统计模块,用来反馈当前的 Web 访问情况。配置编译参数时可添加--with-http_stub_status_module 来启用此模块支持,可以使用命令/usr/local/nginx/sbin/nginx -V 查看已安装的 Nginx 是否包含 HTTP_STUB_STATUS 模块。
        要使用 Nginx 的状态统计功能,除了启用内建模块以外,还需要修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置代码。

2.  基于授权的访问控制步骤
        (1 )使用 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)检测语法、重启服务。

 

2.基于客户端的访问控制步骤
(1)修改主配置文件 nginx.conf,添加相应配置项。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/598938.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我是一片骂声中成长起来的专家,RocketMQ消息中间件实战派上下册!!

曾几何,我的技术真的很烂,烂到技术主管每次都是点名要Review我的业务代码。 曾几何,我对技术沉淀没有一点自我意识,总是觉得临时抱一下佛脚就可以了。 曾几何,我也觉得技术无用,看看那些业务领导&#xf…

2023年广东省网络安全A模块(笔记详解)

模块A 基础设施设置与安全加固 一、项目和任务描述: 假定你是某企业的网络安全工程师,对于企业的服务器系统,根据任务要求确保各服务正常运行,并通过综合运用登录和密码策略、流量完整性保护策略、事件监控策略、防火墙策略等多…

Linux习题4

解析: 用二进制表示 rwx,r 代表可读,w 代表可写,x 代表可执行。如果可读,权限二进制为 100,十进制是4;如果可写,权限二进制为 010,十进制是2; 如果可执行&a…

如何在Linux上部署1Panel面板并远程访问内网Web端管理界面

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、…

ReactNative 常见问题及处理办法(加固混淆)

文章目录 摘要 引言 正文ScrollView内无法滑动RN热更新中的文件引用问题RN中获取高度的技巧RN强制横屏UI适配问题低版本RN(0.63以下)适配iOS14图片无法显示问题RN清理缓存RN navigation参数取值pod install 或者npm install 443问题处理 打开要处理的…

2023中国PostgreSQL数据库生态大会-核心PPT资料下载

一、峰会简介 大会以“极速进化融合新生”为主题,探讨了PostgreSQL数据库生态的发展趋势和未来方向。 在大会主论坛上,专家们就PostgreSQL数据库的技术创新、应用实践和生态发展进行了深入交流。同时,大会还设置了技术创新&云原生论坛、…

2023年后,AI 还有什么研究方向有前景?

什么是AI ​ AI代表人工智能,它是指通过计算机科学技术使机器能够执行需要智力的任务的一种技术。这些任务包括学习、推理、问题解决和感知等,通常是人类智能的表现。人工智能的目标是使计算机系统能够执行需要人类智力的任务,而不需要人类的…

国产高分七号光学影像产品预处理步骤

1.引言 高分七号卫星采用主被动光学复合测绘新体制,星上搭载了双线阵相机、激光测高仪等有效载荷,其中双线阵相机可有效获取20公里幅宽、优于0.8m(后视:0.65m;前视:0.8m)分辨率的全色立体影像和2.6m分辨率的…

Java中的Queue

Java中的Queue 在Java中,Queue 接口代表了一个队列数据结构,它按照先进先出(First In, First Out,FIFO)的原则进行元素的操作。Queue 接口扩展自 Collection 接口,定义了一系列方法,包括添加、删…

JavaWeb——后端之Mybatis

四、Mybatis 概念: Mybatis是一款持久层(Dao层)框架,用于简化JDBC(Sun操作数据库的规范,较繁琐)的开发 历史: Apache的一个开源项目iBatis,2010年由apache迁移到了goog…

Zookeeper(持续更新)

VIP-01 Zookeeper特性与节点数据类型详解 文章目录 VIP-01 Zookeeper特性与节点数据类型详解正文1. 什么是Zookeeper?2. Zookeeper 核心概念2.1、 文件系统数据结构2.2、监听通知机制2.3、Zookeeper 经典的应用场景3.2. 使用命令行操作zookeeper 正文 什么是Zookee…

初学编程,到底选Java还是C++?

初学编程,到底选Java还是C? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!&#x…

LeGO-LOAM 安装以及运行

一、源码地址: GitHub - RobustFieldAutonomyLab/LeGO-LOAM: LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable TerrainLeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain - GitH…

异步任务判断执行和重复使用实现类

主要是展示一下如何在书写异步任务判断的时候,如何根据返回值类型进行重复使用相同接口里面的不同实现类的方法 /*** 父类接口* **/ public interface Exceutor {String getTaskType();void excetuor(String s); }/*** 异步处理任务的任务类型** author yangziqian…

arcpy点要素生成经纬度字段脚本

说明 本脚本是用来简化操作的,正常情况下要生成经纬度字段,需要添加字段→填写字段名→写字段类型→字段计算器→计算几何。。。 而且经纬度都需要,要循环两遍。 本脚本就是为了简化以上操作的,安装后,打开脚本直接输…

从《数据库索引设计与优化》看mysql索引设计

很久之前写的一篇文章,主要是结合mysql45讲和《数据库索引设计与优化》讨论索引设计的,拿出来分享下。 选用什么引擎 对于INSERT_SELECT型数据库,如果没有事务的要求,更倾向于选择MyISAM。 因为InnoDB会维护更多的数据&#xff…

一个古老的终端显示控制命令-tput命令|帮你解决中英文混合时终端列对齐输出问题

终端显示控制对于写一个 终端脚本 是非常有用的,在没有图形界面时Unix和类Unix系统用户都是在Terminal控制终端下工作的。虽然Linux操作系统的图形界面出现淡化了终端显示控制,但终端控制功能依旧是每个命令行用户不可或缺的一部分。只是我们不知道在使用…

【LeetCode:129. 求根节点到叶节点数字之和 | 二叉树 + 递归】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

记录汇川:水塔指令解释-ST

可以通过帮助查看指令手册 PLC的IO地址映射-两种方法 第一种: 新建一个全局变量表,按照如图所示建立IO地址 第二种: 直接如图所示位置定义名字 注意:IW和QB这两个前面一个有蓝色M一个没有。 蓝色的M表示模块发生变化的时候地址不会…

【S32K 进阶之旅】 NXP S32K3 以太网 RMII 接口调试(1)

前言 大联大世平集团推出了一款基于 NXP 车规级 MCU S32K344 的开发板——花名“Cavalry”,它使用 BGA257 封装的 32 位 ArmCortex-M7 S32K344 作为主控芯片,在69.6*130mm 的小体积开发板上搭载了 SBC 电源管理芯片、CAN 收发器、LIN 收发器、FLASH 存储…