提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
Nginx_入门
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:这里可以添加本文要记录的大概内容:
欢迎来到 Nginx 的世界!Nginx 是一款强大的 Web 服务器和反向代理服务器,被广泛应用于互联网上的众多网站和应用程序。
在这个博客中,我将带领你踏上学习 Nginx 的旅程,从入门开始,逐步深入了解这个令人惊叹的工具。
无论你是一个开发者、系统管理员,还是对 Web 服务器有兴趣的技术爱好者,Nginx 都能为你提供强大的功能和灵活性。通过学习 Nginx,你将能够更好地理解如何构建高性能、可靠的 Web 应用程序。
在接下来的博客文章中,我将为你介绍 Nginx 的基本概念、安装和配置方法,以及如何优化 Nginx 以获得更好的性能。
我希望这个博客能够成为你学习 Nginx 的起点,并为你提供有用的资源和实践经验。让我们一起探索 Nginx 的世界,释放其强大的潜力!如果你有任何问题或建议,请随时留言评论。现在,就让我们开始这段精彩的 Nginx 学习之旅吧!
提示:以下是本篇文章正文内容,下面案例可供参考
Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。Nginx 专为性能优化而开发,使用异步非阻塞事件驱动模型。
说了这么多,大家可能还是有点迷糊。举个例子,Nginx 服务器就像是一个交通指挥员,它负责接收和处理来自客户端(比如你的浏览器)的请求,并将这些请求转发给相应的服务器(比如网站的后端服务器)。
当你在浏览器中输入一个网址时,Nginx 服务器会接收到这个请求,并根据预设的规则,将其转发给合适的服务器。它可以根据请求的类型、URL、服务器的负载等因素来决定将请求发送到哪个服务器。
yum -y install gcc make automake pcre-devel zlib zlib-devel openssl openssl-devel
1.官网下载Nginx安装包,并上传到虚拟机,点击下载。
2.创建存放源文件的文件夹
首先在目录/opt下创建apps目录,用于存放源文件以及解压后的文件
3.上传Nginx到步骤1创建的目录下
4.解压 Nginx
[root@node1 apps]# pwd
/opt/apps
[root@node1 apps]# ls
Nginx-1.20.1.tar.gz
[root@node1 apps]# tar -zxvf Nginx-1.20.1.tar.gz
[root@node1 apps]# cd Nginx-1.20.1
5.进入到 Nginx 解压包目录/opt/apps/Nginx-1.20.1 目录中,查看 Nginx 的目录。各目录作用如下:
6.使用 configure 命令可以生成makefile文件。
[root@node1 Nginx-1.20.1]# mkdir -p /var/temp/nginx/client
[root@node1 Nginx-1.20.1]# pwd
/opt/apps/nginx-1.20.1
[root@node1 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/modules | Nginx模块 |
–conf-path=/etc/Nginx/Nginx.conf | Nginx配置文件 |
–error-log-path=/var/log/Nginx/error.log | 错误日志 |
–http-log-path=/var/log/Nginx/access.log | 访问日志 |
–pid-path=/var/run/Nginx.pid | Nginx启动的pid |
–lock-path=/var/run/Nginx.lock | Nginx的锁 |
–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 | 指定了在运行 UWSGI(Unicorn Web Server Gateway Interface)时临时文件的存储路径 |
–http-scgi-temp-path=/var/cache/Nginx/scgi_temp | |
–user=Nginx | 设定Nginx进程启动的用户 |
–group=Nginx | 设定Nginx进程启动的用户组 |
–with-cc-opt=parameters | 设置额外的参数将被添加到CFLAGS变量 |
–with-ld-opt=parameters | 设置附加的参数,连接系统库 |
7.编译安装
make && make install
1.拉取官方的Nginx镜像
[root@localhost ~]# docker pull nginx
2.使用 Nginx 默认的配置来启动一个 Nginx 容器实例
[root@localhost ~]# 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/conf
4.拷贝容器内 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
参数说明:
Nginx所有配置文件的目录,极其重要。在该目录中包含一个Nginx.conf配置文件。
Nginx的默认站点目录。
存放Nginx的日志文件
Nginx命令的目录,如Nginx的启动命令。
./Nginx -h
参数说明:
快速停止,快速停止是指立即停止当前Nginx服务正在处理的所有网络请求,马上丢弃连接,停止工作。
Nginx -s stop # 快速关闭
平缓停止,平缓停止是指允许Nginx服务将当前正在处理的网络请求处理完成,但不再接收新的请求,之后关闭连接,停止工作。
Nginx -s quit # 等待工作进程处理完成后关闭
更改Nginx服务器的配置和加入新模块后,如果希望当前的Nginx服务应用新的配置或使新模块生效,就需要重启Nginx服务。当然我们可以先关闭Nginx服务,然后使用新的Nginx配置文件重启服务。
Nginx -s reload # 向主进程发送信号,重新加载配置文件,热重启
Nginx -s reopen # 重启 Nginx
提示:这里对文章进行总结:
希望这篇博客对你了解 Nginx 有所帮助!如果你有任何问题或想要进一步讨论,欢迎在评论中留言。