nginx简介及功能介绍

nginx简介及功能介绍Web 服务器 Nginx 可以作为静态和动态内容的 Web 服务器 支持 HTTP 2 HTTP 3 QUIC 等现代协议

大家好,欢迎来到IT知识分享网。

目录

niginx与apache

niginx特点

nginx模块介绍

nginx的编译安装

nginx的平滑升级及版本回滚

niginx的常用参数

nginx独立文件编写

location匹配用法

自定义日志

文件检测

nginx中的长链接管理

nginx下载服务器设置

nginx的状态页面

nginx的数据压缩功能

nginx的变量详解

nginx源码编译php

高速缓存


niginx与apache

Nginx(发音为“engine X”)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx以其稳定性、丰富的功能集、简单的配置和低资源消耗而闻名。它最初由俄罗斯人Igor Sysoev编写,并于2004年首次公开发布。Nginx的设计初衷是为了解决C10k问题,即单台服务器如何高效地处理成千上万的并发连接。

Apache‌是一个模型化的服务器,可以运行在几乎所有的服务器上,以其模块多、性能稳定而著称。Apache支持多种模块和扩展,包括对动态页面的支持,如PHP等,这使得它在处理动态请求时比较擅长。Apache采用同步多进程模型,每个连接对应一个进程,这种模型在处理复杂的应用逻辑时表现良好。然而,与Nginx相比,Apache在处理静态文件时的性能可能较低,尤其是在高并发环境下。尽管如此,Apache在模块化和.htaccess文件支持方面更有优势,提供了更多的配置选项和灵活性,适合于需要复杂配置和较多自定义功能的网站‌。

niginx特点

高性能:Nginx采用异步非阻塞的事件驱动模型,这使其能够处理高并发连接,而不会像传统的基于线程的服务器那样遇到线程上下文切换的开销。

稳定性:Nginx被设计为高度模块化,每个模块都执行特定的任务,并且Nginx的源代码非常清晰,易于理解和维护,这有助于减少错误和漏洞。

丰富的功能:Nginx支持HTTP、HTTPS、SMTP、POP3和IMAP协议,并且可以作为反向代理、负载均衡器、HTTP缓存和Web服务器使用。它还支持FastCGI、uWSGI、SCGI和WSGI等协议,可以轻松地与各种后端技术栈集成。

配置简单:Nginx的配置文件结构清晰,易于理解和修改。它使用简单的指令和参数来定义服务器的行为,使得配置过程变得简单快捷。

低资源消耗:Nginx在处理大量并发连接时,能够保持较低的内存和CPU使用率,这使得它成为构建高性能Web应用和服务器的理想选择。

模块化设计:Nginx的模块化设计允许用户根据需要添加或删除功能,而无需重新编译整个服务器。这种灵活性使得Nginx能够适应各种应用场景。

nginx模块介绍

Web服务器:Nginx可以作为静态和动态内容的Web服务器,支持HTTP/2、HTTP/3(QUIC)等现代协议。

反向代理:Nginx可以将客户端的请求转发到后端服务器,并根据需要处理负载均衡、缓存和SSL加密等任务。

负载均衡器:Nginx可以根据配置的规则将请求分发到多个后端服务器,以实现负载均衡和故障转移。

HTTP缓存:Nginx可以缓存静态内容,以减少对后端服务器的请求,提高响应速度和降低带宽消耗。

流媒体服务器:Nginx支持HTTP流媒体服务,可以传输音频、视频等多媒体内容。

nginx的编译安装

官方源码包下载地址: https://nginx.org/en/download.html

[root@nginx nginx-1.24.0]# make && make install

[root@nginx nginx-1.24.0]# vim ~/.bash_profile

export PATH=$PATH:/usr/local/nginx/sbin

开启nignx文件

[root@nginx nginx-1.24.0]#  vim /lib/systemd/system/nginx.service

[Unit]

Description=The NGINX HTTP and reverse proxy server

After=syslog.target network-online.target remote-fs.target nss-lookup.target Wants=network-online.target

[Service]

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStartPre=/usr/local/nginx/sbin/nginx -t

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

nginx的平滑升级及版本回滚

[root@nginx-1.26.1]# make

检测

查看进程

[root@nginx sbin]# ps aux | grep nginx

回收之前版本

root@nginx sbin]# kill -USR2 56017

查看进程

[root@nginx sbin]# ps aux | grep nginx

生效

回滚

niginx的常用参数

[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf

启动nginx工作进程的用户和组

启动nginx工作进程的数量

错误日志记录配置

pid文件保存路径

nginx简介及功能介绍

重启服务

[root@nginx ~]# nginx -s reload

nginx独立文件编写

[root@nginx ~]# vim /lib/systemd/system/nginx.service

nginx简介及功能介绍

重启服务

[root@nginx ~]# nginx -s reload

[root@nginx ~]# systemctl start nginx

nginx简介及功能介绍

location匹配用法

[root@nginx ~]# vim /usr/local/nginx/conf.d/vhost.conf

nginx简介及功能介绍

[root@nginx ~]# nginx -s reload  

自定义日志

自定义错误页

nginx简介及功能介绍

自定义错误日志

nginx简介及功能介绍

[root@nginx ~]# cat /var/log/timingwxq.org/access.log

[root@nginx ~]# cat /var/log/timingwxq.org/error.log

文件检测

[root@nginx ~]# vim /usr/local/nginx/conf.d/vhost.conf

[root@nginx ~]# mkdir /data/web/html/error

[root@nginx ~]# echo error default > /data/web/html/error/default.html

nginx中的长链接管理

 vim /usr/local/nginx/conf/nginx.conf——进入nginx的主配置文件进行配置

nginx简介及功能介绍

下载测试工具

[root@nginx ~]# dnf install telnet -y

[root@nginx ~]# echo www.timingwxq.org > /data/web/html/error/default.html

nginx简介及功能介绍

nginx下载服务器设置

[root@nginx ~]# mkdir /data/web/download

[root@nginx ~]# dd if=/dev/zero of=/data/web/download/leefile bs=1M count=100

nginx简介及功能介绍

[root@nginx ~]# vim /usr/local/nginx/conf.d/vhost.conf

nginx简介及功能介绍

[root@nginx ~]# nginx -s reload

nginx的状态页面

[root@nginx ~]# vim /usr/local/nginx/conf.d/status.conf

nginx简介及功能介绍

[root@nginx ~]# nginx -s reload

nginx简介及功能介绍

由于只允许172.25.254.1通过,所以本地访问会报错

nginx简介及功能介绍

nginx的数据压缩功能

 [root@nginx ~]# cd /usr/local/nginx/conf/nginx.conf

nginx简介及功能介绍

root@nginx conf]# nginx -s reload

[root@nginx conf]# echo Tomorrow will be fine > /data/web/html/small.html

[root@nginx conf]# du -sh /usr/local/nginx/logs/access.log

16K /usr/local/nginx/logs/access.log

[root@nginx conf]# cat /usr/local/nginx/logs/access.log > /data/web/html/big.html

nginx简介及功能介绍

nginx的变量详解

nginx配置代码

[root@nginx ~]# vim /usr/local/nginx/conf.d/vars.conf

nginx简介及功能介绍

测试

[root@nginx ~]# curl -b “key1=wxq,key2=wxq1” -u wxq:wxq var.timingwxq.org/var?name=wxq&&id=6666

nginx简介及功能介绍

nginx源码编译php

[root@nginx-node1 nginx-1.26.1] make&&make install

php配置优化

[root@nginx php-8.3.9]# cd /usr/local/php/etc/

[root@nginx etc]# cp -p php-fpm.conf.default php-fpm.conf

[root@nginx etc]# vim php-fpm.conf

nginx简介及功能介绍

nginx简介及功能介绍

[root@nginx php-fpm.d]# vim www.conf

nginx简介及功能介绍

 [root@nginx-node1 php-fpm.d]# cd /root/php-8.3.9/

[root@nginx-node1 php-8.3.9]# cp php.ini-production /usr/local/php/etc/php.ini

[root@nginx-node1 php-8.3.9]# vim /usr/local/php/etc/php.ini——时区更改

nginx简介及功能介绍

nginx简介及功能介绍

服务启动

[root@nginx system]# systemctl start php-fpm.service

[root@nginx system]# netstat -antlupe | grep php

[root@nginx fpm]# cd /usr/local/php/bin/

添加php环境变量

[root@nginx bin]# vim ~/.bash_profile

nginx简介及功能介绍

[root@nginx bin]# source ~/.bash_profile

测试网页

[root@nginx-node1 fpm]# mkdir /data/web/php -p

[root@nginx-node1 fpm]# vim /data/web/php/index.php

测试

nginx简介及功能介绍

高速缓存

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/112221.html

(0)
上一篇 2026-01-19 21:00
下一篇 2026-01-19 21:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信