文章目录
- 1.nginx是什么?
- 2.nginx安装
- 2.1.安装准备:
- 2.2.进行安装:
- 2.2.1.apt安装(快速)
- 2.2.2.源码安装
- 2.3.配置文件简解(nginx.conf)
1.nginx是什么?
Nginx(发音为"engine-x")是一个开源的高性能、轻量级的Web服务器和反向代理服务器。它由Igor Sysoev于2004年创建,并在2005年首次公开发布。Nginx最初是为解决C10K问题(即同时处理数万个并发连接)而设计的,因此在处理高并发请求时表现出色。
Nginx的主要特点包括以下几个方面:
高性能:Nginx使用事件驱动的架构和异步非阻塞处理模型,能够有效地处理大量并发连接和高流量的请求,具有很低的内存消耗。
反向代理:Nginx可以作为反向代理服务器,将客户端的请求转发到后端的多个服务器上。通过负载均衡和动态请求路由,Nginx可以提供高可用性和可扩展性。
静态文件服务:Nginx可以高效地提供静态文件的服务,包括HTML、CSS、JavaScript、图像和视频等。通过Nginx的静态文件缓存功能,可以显著提高静态资源的访问速度。
SSL/TLS支持:Nginx支持SSL/TLS协议,可以进行加密通信和安全传输数据。它可以配置和管理HTTPS站点,并提供了各种加密协议和密码套件的选项。
轻量级和模块化:Nginx具有小巧且高效的设计,核心功能集中在核心模块中,其他功能以模块的形式添加。这种模块化的结构使得Nginx易于扩展和定制,可以根据需要选择所需的功能模块。
由于其高性能、稳定性和可靠性,Nginx被广泛应用于各种场景,包括Web服务器、负载均衡器、反向代理、缓存服务器、流媒体服务器等。它已成为互联网上最受欢迎的服务器软件之一,并得到了众多大型网站和应用程序的采用。
2.nginx安装
2.1.安装准备:
1.一台linux主机(建议使用乌班图)
选市场占有率最高的总没问题的。
centos?不好意思,真不熟。(不好好做建议可以不做(dog))
2.2.进行安装:
2.2.1.apt安装(快速)
- 更新软件包
sudo apt update
- 安装nginx
sudo apt install nginx
一般安装完会自动运行,可以通过命令查询运行状态
service nginx status
*3. 设置为开机自启
sudo systemctl start nginx
2.2.2.源码安装
参考文章
- nginx的详细配置(博客园)
- 下载源码
wget https://nginx.org/download/nginx-1.24.0.tar.gz
- 解压
tar -zxvf nginx-1.24.0.tar.gz
- 配置参数和编译
cd nginx-1.24.0/
配置和编译
./configure --prefix=/usr/local/nginx --with-http_ssl_module
若缺少相应依赖对应安装即可
make
sudo make install
4.运行nginx
sudo /usr/local/nginx/sbin/nginx
2.3.配置文件简解(nginx.conf)
-
worker_processes
: 指定 Nginx 运行的 worker 进程数,通常设置为 CPU 核心数或者更高的值,以充分利用服务器资源。 -
events
: 配置 Nginx 的事件模型,用于处理客户端连接和网络事件。常见的参数包括 worker_connections(每个 worker 进程能够同时处理的最大连接数)和 use(指定事件驱动模块,如 epoll 或 kqueue)。 -
http
: 定义 HTTP 配置块,包含全局的 HTTP 相关配置,如日志设置、默认字符集、MIME 类型等。 -
server
: 定义虚拟主机(server)配置块,用于配置单个网站或应用程序。一个 Nginx 实例可以有多个 server 块,用于处理不同的域名或端口。 -
location
: 定义请求匹配规则和相应的处理逻辑。可以根据 URI 路径或其他条件进行匹配,并指定如何处理匹配到的请求,如转发到后端服务器、返回静态文件等。 -
proxy_pass
: 在 location 配置块中使用,用于将请求转发给后端的代理服务器。 -
root
: 设置请求的根目录,用于指定服务静态文件的存放位置。 -
index
: 设置默认的索引文件,当客户端请求的是一个目录时,服务器将尝试返回这些文件之一。 -
try_files
: 在 location 配置块中使用,指定 Nginx 在处理请求时尝试的文件或路径。用于处理静态文件请求时的重定向或错误处理。 -
rewrite
: 用于重写 URL,可以将请求的 URL 进行修改或重定向。 -
gzip
: 启用或配置 Gzip 压缩,用于减小传输数据的大小,提高性能。