财税公司网站开发,深圳专业seo优化公司,广州建站服务,网站建设信息科技公司系列文章目录 提示#xff1a;这里可以添加系列文章的所有文章的目录#xff0c;目录需要自己手动添加 Nginx_入门 提示#xff1a;写完文章后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、Nginx概述二、Nginx的应用…系列文章目录 提示这里可以添加系列文章的所有文章的目录目录需要自己手动添加 Nginx_入门 提示写完文章后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、Nginx概述二、Nginx的应用场景三、安装Nginx环境准备安装依赖库下载/安装Nginx普通安装NginxDocker安装Nginx部署命令 四、目录介绍conf目录html目录logs目录sbin目录 五、Nginx启停服务启动停止服务重启 总结 前言
提示这里可以添加本文要记录的大概内容
欢迎来到 Nginx 的世界Nginx 是一款强大的 Web 服务器和反向代理服务器被广泛应用于互联网上的众多网站和应用程序。 在这个博客中我将带领你踏上学习 Nginx 的旅程从入门开始逐步深入了解这个令人惊叹的工具。 无论你是一个开发者、系统管理员还是对 Web 服务器有兴趣的技术爱好者Nginx 都能为你提供强大的功能和灵活性。通过学习 Nginx你将能够更好地理解如何构建高性能、可靠的 Web 应用程序。 在接下来的博客文章中我将为你介绍 Nginx 的基本概念、安装和配置方法以及如何优化 Nginx 以获得更好的性能。 我希望这个博客能够成为你学习 Nginx 的起点并为你提供有用的资源和实践经验。让我们一起探索 Nginx 的世界释放其强大的潜力如果你有任何问题或建议请随时留言评论。现在就让我们开始这段精彩的 Nginx 学习之旅吧 提示以下是本篇文章正文内容下面案例可供参考
一、Nginx概述
Nginx是一款轻量级的Web服务器、反向代理服务器由于它的内存占用少启动极快高并发能力强在互联网项目中广泛应用。Nginx 专为性能优化而开发使用异步非阻塞事件驱动模型。
说了这么多大家可能还是有点迷糊。举个例子Nginx 服务器就像是一个交通指挥员它负责接收和处理来自客户端比如你的浏览器的请求并将这些请求转发给相应的服务器比如网站的后端服务器。 当你在浏览器中输入一个网址时Nginx 服务器会接收到这个请求并根据预设的规则将其转发给合适的服务器。它可以根据请求的类型、URL、服务器的负载等因素来决定将请求发送到哪个服务器。
二、Nginx的应用场景
HTTP服务器Nginx本身也是一个静态资源的服务器当只有静态资源的时候就可以使用Nginx来做服务器如果一个网站只是静态页面的话那么就可以通过这种方式来实现部署。反向代理反向代理应该是Nginx使用最多的功能了反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求然后将请求转发给内部网络上的服务器并将从服务器上得到的结果返回给internet上请求连接的客户端此时代理服务器对外就表现为一个反向代理服务器。负载均衡Nginx 支持多种负载均衡策略如轮询、加权轮询、IP 哈希等可以将请求均匀地分配给多个后端服务器提高系统的并发处理能力。动静分离动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来动静资源做好了拆分以后我们就可以根据静态资源的特点将其做缓存操作这就是网站静态化处理的核心思路。
三、安装Nginx
环境准备
确认网络可用确定yum可用确定关闭防火墙确认关闭SELinux
安装依赖库
yum -y install gcc make automake pcre-devel zlib zlib-devel openssl openssl-develgcc编译依赖gcc环境pcrePCRE(Perl Compatible Regular Expressions)是一个Perl库包括 Perl 兼容的正则表达式库。zlibzlib库提供了很多种压缩和解压缩的方式Nginx使用zlib对http包的内容进行gzip所以需要在linux上安装zlib库。OpensslOpenSSL 是一个强大的安全套接字层密码库囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议并提供丰富的应用程序供测试或其它目的使用。
下载/安装Nginx
普通安装Nginx
1.官网下载Nginx安装包并上传到虚拟机点击下载。 2.创建存放源文件的文件夹 首先在目录/opt下创建apps目录用于存放源文件以及解压后的文件 3.上传Nginx到步骤1创建的目录下 4.解压 Nginx
[rootnode1 apps]# pwd
/opt/apps
[rootnode1 apps]# ls
Nginx-1.20.1.tar.gz
[rootnode1 apps]# tar -zxvf Nginx-1.20.1.tar.gz
[rootnode1 apps]# cd Nginx-1.20.1
5.进入到 Nginx 解压包目录/opt/apps/Nginx-1.20.1 目录中查看 Nginx 的目录。各目录作用如下
auto存放 Nginx 自动安装的相关文件conf存放 Nginx 服务器配置文件configure命令用于对即将安装的软件的配置完成 makefile 编译文件的生成contrib存放由其他机构贡献的文档材料html存放 Nginx 欢迎页面manmanual手册存放 Nginx 帮助文档src存放 Nginx 源码
6.使用 configure 命令可以生成makefile文件。
[rootnode1 Nginx-1.20.1]# mkdir -p /var/temp/nginx/client
[rootnode1 Nginx-1.20.1]# pwd
/opt/apps/nginx-1.20.1
[rootnode1 Nginx-1.20.1]# ./configure \
--prefix/usr/local/nginx \
--pid-path/usr/local/nginx/logs/nginx.pid \
--error-log-path/usr/local/nginx/logs/error.log \
--http-log-path/usr/local/nginx/logs/access.log \
--with-http_ssl_module \
--with-http_gzip_static_module \
--http-client-body-temp-path/var/temp/nginx/client \
--http-proxy-temp-path/var/temp/nginx/proxy \
--http-fastcgi-temp-path/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path/var/temp/nginx/uwsgi安装编译参数如下
编译选项作用-prefix/etc/Nginx主目录–sbin-path/usr/sbin/Nginx执行命令–modules-path/usr/lib64/Nginx/modulesNginx模块–conf-path/etc/Nginx/Nginx.confNginx配置文件–error-log-path/var/log/Nginx/error.log错误日志–http-log-path/var/log/Nginx/access.log访问日志–pid-path/var/run/Nginx.pidNginx启动的pid–lock-path/var/run/Nginx.lockNginx的锁–http-client-body-temp-path/var/cache/Nginx/client_temp执行对应模块时,Nginx锁保留的临时性文件–http-proxy-temp-path/var/cache/Nginx/proxy_temp指定作为代理服务器时服务器响应报文的临时存放路径–http-fastcgi-temp-path/var/cache/Nginx/fastcgi_temp指定了在运行 FastCGI 时临时文件的存储路径–http-uwsgi-temp-path/var/cache/Nginx/uwsgi_temp指定了在运行 UWSGIUnicorn Web Server Gateway Interface时临时文件的存储路径–http-scgi-temp-path/var/cache/Nginx/scgi_temp–userNginx设定Nginx进程启动的用户–groupNginx设定Nginx进程启动的用户组–with-cc-optparameters设置额外的参数将被添加到CFLAGS变量–with-ld-optparameters设置附加的参数,连接系统库
7.编译安装
make make installDocker安装Nginx
1.拉取官方的Nginx镜像
[rootlocalhost ~]# docker pull nginx2.使用 Nginx 默认的配置来启动一个 Nginx 容器实例
[rootlocalhost ~]# docker run --rm --name nginx-test -p 8080:80 -d nginx参数的含义如下: --rm容器终止运行后自动删除容器文件。 --name nginx-test容器的名字叫做Nginx-test,名字自己定义. -p: 端口进行映射将本地 8080 端口映射到容器内部的 80 端口 -d容器启动后在后台运行 3.创建本地目录用于存放Nginx的相关文件信息
mkdir -p /opt/nginx/www /opt/nginx/conf4.拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器ID可以查看 docker ps 命令输入中的第一列
docker cp 358354f206fd:/etc/nginx/nginx.conf /home/nginx/conf/部署命令
使用该命令就不需要再映射本地目录到Nginx容器
docker run --rm -d -p 8081:80 --name nginx-test-web \-v /opt/nginx/www:/usr/share/nginx/html \-v /opt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \nginx参数说明
–rm容器终止运行后自动删除容器文件。-p 8081:80 将容器的 80 端口映射到主机的 8082 端口.–name nginx-test-web将容器命名为 Nginx-test-web-v /home/Nginx/www:/usr/share/Nginx/html将我们自己创建的 www 目录挂载到容器的 /usr/share/Nginx/html。-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。
四、目录介绍
conf目录
Nginx所有配置文件的目录极其重要。在该目录中包含一个Nginx.conf配置文件。
html目录
Nginx的默认站点目录。
logs目录
存放Nginx的日志文件
sbin目录
Nginx命令的目录如Nginx的启动命令。
五、Nginx启停服务
启动
./Nginx -h参数说明
-v 打印版本号-V 打印版本号和配置-t测试配置正确性并退出-q测试配置时只显示错误-s向主进程发送信号-p指定Nginx服务器路径前缀-c 指定Nginx配置文件路径-g 指定Nginx附加配置文件路径
停止服务
快速停止快速停止是指立即停止当前Nginx服务正在处理的所有网络请求马上丢弃连接停止工作。
Nginx -s stop # 快速关闭平缓停止平缓停止是指允许Nginx服务将当前正在处理的网络请求处理完成但不再接收新的请求之后关闭连接停止工作。
Nginx -s quit # 等待工作进程处理完成后关闭
重启
更改Nginx服务器的配置和加入新模块后如果希望当前的Nginx服务应用新的配置或使新模块生效就需要重启Nginx服务。当然我们可以先关闭Nginx服务然后使用新的Nginx配置文件重启服务。
Nginx -s reload # 向主进程发送信号重新加载配置文件热重启
Nginx -s reopen # 重启 Nginx总结
提示这里对文章进行总结
希望这篇博客对你了解 Nginx 有所帮助如果你有任何问题或想要进一步讨论欢迎在评论中留言。