Nginx是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
 以下是 Nginx 的一些核心功能和特点:
- 高性能的 Web 服务器:
 Nginx 被设计为处理高并发连接,具有非常高的性能和稳定性。
- 反向代理:
 作为反向代理服务器,Nginx 可以将客户端的请求转发到后端的多个服务器上,实现负载均衡。
- 静态内容缓存:
 Nginx 可以缓存静态内容,减少服务器的负载,加快静态资源的加载速度。
- SSL/TLS 支持:
 Nginx 支持 SSL/TLS 协议,可以为网站提供安全的加密连接。
- URL 重写:
 通过使用 Nginx 的重写模块,可以对请求的 URL 进行重写,实现 URL 重定向或伪静态。
- 负载均衡:
 Nginx 支持多种负载均衡策略,如轮询、最少连接、IP 哈希等。
- 模块化设计:
 Nginx 的模块化设计允许用户根据需要添加或移除功能模块。
- 缓存代理:
 Nginx 可以作为缓存代理服务器,缓存来自后端服务器的内容,减少对后端服务器的请求。
- 访问控制:
 通过配置文件,可以对访问者进行访问控制,例如限制特定 IP 地址的访问。
- 日志记录:
 Nginx 提供了详细的访问日志记录功能,可以记录访问者的请求信息。
- 状态监控:
 Nginx 可以通过状态监控模块提供实时的状态信息,如当前的连接数、请求处理情况等。
- 邮件代理:
 Nginx 可以作为 IMAP/POP3/SMTP 代理服务器,处理邮件的接收和发送。
- WebSockets 支持:
 Nginx 支持 WebSockets 协议,可以用于实现实时通信。
- 配置灵活性:
 Nginx 的配置文件结构清晰,易于理解和修改,支持细粒度的配置。
- 跨平台:
 Nginx 可以在多种操作系统上运行,包括 Linux、BSD、macOS 和 Windows。
- 社区和商业支持:
 拥有活跃的社区和商业支持,提供持续的更新和安全补丁。
Nginx 的灵活性和高性能使其成为现代 Web 应用和基础设施中广泛使用的服务器软件之一。
操作系统:CentOS 7.*
-  更新系统包: 
 sudo yum update
-  安装依赖: 
 Nginx 需要编译工具和一些库
 sudo yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
-  下载 Nginx: 
 访问 Nginx 官网下载 Nginx 1.26.1 源码包
 wget http://nginx.org/download/nginx-1.26.1.tar.gz
-  解压源码包 cd /opt tar -zxvf nginx-1.26.1.tar.gz cd nginx-1.26.1
-  配置 Nginx 
 使用 ./configure 脚本来配置 Nginx 编译选项
 ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module
参数说明:
 - --prefix=/usr/local/nginx 指定了 Nginx 安装的路径。
 - --with-http_ssl_module 启用 SSL 模块。
 - --with-http_stub_status_module 启用状态监控模块。
 - --with-http_gzip_static_module 启用静态文件的 Gzip 压缩。

-  编译 Nginx 
 make
  
-  安装 Nginx 
 将编译好的 Nginx 安装到指定的目录
 sudo make install
  
-  配置 Nginx 服务 
 创建一个 systemd 服务文件来管理 Nginx
   sudo vi /etc/systemd/system/nginx.service
写入以下内容:
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecStop=/usr/local/nginx/sbin/nginx -s quit
ExecReload=/usr/local/nginx/sbin/nginx -s reload
PrivateTmp=true[Install]
WantedBy=multi-user.target- 启动 Nginx 服务
 启动 Nginx 服务,并设置开机启动
   sudo systemctl start nginxsudo systemctl enable nginx
-  检查 Nginx 状态 
 检查 Nginx 服务是否成功启动
 sudo systemctl status nginx
  
-  访问 Nginx测试页 
 在浏览器中访问 http://your_server_ip,能看到 Nginx 的欢迎页面了,至此,nginx已正常运行了
  
-  根据业务需求来修改 Nginx 配置文件 
 通过编辑 /usr/local/nginx/conf/nginx.conf 文件,根据需要配置服务器、日志路径、虚拟主机等。
-  重启 Nginx 服务 
 保存nginx.conf配置文件更改后,重启 Nginx 服务以应用更改sudo systemctl restart nginx
- 添加防火墙规则(可选)
 如果开启了firewalld防火墙,则需要添加规则允许外部访问# 方式1:通过服务名称(http服务默认端口号:80)添加 sudo firewall-cmd --permanent --zone=public --add-service=http # 方式2:通过端口号添加 sudo firewall-cmd --permanent --zone=public --add-port=80/tcp # 立即应用规则,使其生效 sudo firewall-cmd --reload