Nginx的学习笔记

本文介绍了Nginx的高性能特点、安装过程、配置文件解析,以及它在静态网站托管、负载均衡、静态代理、动静分离和虚拟主机等场景的应用。详细阐述了在Linux系统上安装Nginx的步骤,包括依赖库的安装、编译和启动,并提供了Windows环境下的安装方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx简介

1、Nginx (engine x) 是一个高性能的Web服务器和反向代理服务器,也可以作为邮件代理服务器;
2、Nginx 是由俄罗斯人 Igor Sysoev 采用c语言开发编写的,第一个公开版本1.0发布与2004年10月4日;
3、Nginx 特点是占有内存少,并发处理能力强,以高性能、低系统资源消耗而闻名,Nginx官方测试为5万并发请求;
4、与Nginx同类型的Web服务器还有Apache、Lighttpd(音同lighty)、Tengine(阿里巴巴的)等;
5、Nginx 的并发处理能力在同类型的Web服务器中表现极好(Apache、Lighttpd),在全世界范围内大量的网站使用了Nginx,国内互联网中也大量使用了Nginx,比如:淘宝、新浪、搜狐、网易、美团等;
6、Nginx是免费开源的,同时Nginx也有收费的版本,商业版提供了性能优化、宕机等紧急问题处理等技术和服务;

Nginx的环境搭建(前面6个步骤均是在Linux系统上操作的)

1、下载

免费开源版的官方网站:http://nginx.org
在这里插入图片描述
Nginx 有 Windows 版本和 Linux 版本, 但更推荐在 Linux 下使用 Nginx;
在这里插入图片描述
2、安装
安装前的准备:
Nginx的安装需要 Linux 安装相关的几个库,否则配置和编译会出现错误,这几个库分别是:

  1. gcc编译器是否安装?
检查是否安装:
yum list installed | grep gcc
执行安装:
yum install gcc -y
  1. openssl库是否安装?
检查是否安装:
yum list installed | grep openssl
执行安装:
yum install openssl openssl-devel -y
  1. pcre库是否安装?
检查是否安装:
yum list installed | grep pcre
执行安装:
yum install pcre pcre-devel -y
  1. zlib库是否安装?
检查是否安装:
yum list installed | grep zlib
执行安装:
yum install zlib zlib-devel -y
  1. 一次性安装执行如下命令:
yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel -y

这里我建议直接选择一次性安装,我这里的话已经安装好了,就没有在演示了。
正式安装:

  1. 先将我们下载的nginx文件传到linux系统中,你可以在/root根目录下创建一个文件夹,在创建的文件夹目录下执行命令:
rz
  1. 解压下载下来的nginx文件执行命令:
tar -zxvf nginx-1.18.0.tar.gz
  1. 切换至解压后的nginx主目录,执行命令:
cd nginx-1.18.0/
  1. 在nginx主目录nginx-1.18.0下执行命令:(其中- -prefix是指定nginx安装路径)
./configure --prefix=/usr/local/nginx

例如:
在这里插入图片描述
5. 执行命令:(必须要执行完第5步和第6不才会有/usr/local/nginx目录)

make
  1. 执行命令:
make install

可以执行命令:

cd /usr/local 和 ll 查看是安装好

在这里插入图片描述

3、启动(以非root用户启动会出错,原因是非root用户不能使用1024以下的端口,改用root用户启动解决)

  1. 普通启动:
    切换到nginx安装的目录的sbin目录下,执行:./nginx
  2. 通过配置文件启动:(其中 -c 指定配置文件)
./nginx -c /usr/local/nginx/conf/nginx.conf (必须要切换到nginx安装的目录的sbin目录下)
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf (这个是最常用的)
  1. 检查Nginx是否启动:
ps -ef | grep nginx

在这里插入图片描述
nginx 体系结构是由 master 进程和其 worker 进程组成;
master 进程读取配置文件, 并维护 worker 进程, 而 worker 进程则对请求进行实际处理;

4、关闭

  1. 优雅的关闭Nginx:
    找出nginx的进程号:
ps -ef | grep nginx

执行命令:

kill -QUIT 主pid
其中 pid 是主进程号的pid (master process)
  1. 快速的关闭Nginx:
kill -TERM 主pid

这里的优雅的关闭是如果请求还在nginx中时执行了关闭服务器命令,那服务器还会继续把请求执行完,返回结果之后才会关闭服务器。那很显然快速关闭就不会返回结果了。
在这里插入图片描述

  1. 重启nginx:
./nginx -s reload (必须要切换到nginx安装的目录的sbin目录下)

5、配置检查
当修改Nginx配置文件后,可以使用Nginx命令进行配置文件语法检查,用于检查Nginx配置文件是否正确;

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -t

6、其他
Linux上查看nginx版本:

/usr/local/nginx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值