Bootstrap

Nginx 1.26.1最新版部署笔记

Nginx是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
以下是 Nginx 的一些核心功能和特点:

  1. 高性能的 Web 服务器:
    Nginx 被设计为处理高并发连接,具有非常高的性能和稳定性。
  2. 反向代理:
    作为反向代理服务器,Nginx 可以将客户端的请求转发到后端的多个服务器上,实现负载均衡。
  3. 静态内容缓存:
    Nginx 可以缓存静态内容,减少服务器的负载,加快静态资源的加载速度。
  4. SSL/TLS 支持:
    Nginx 支持 SSL/TLS 协议,可以为网站提供安全的加密连接。
  5. URL 重写:
    通过使用 Nginx 的重写模块,可以对请求的 URL 进行重写,实现 URL 重定向或伪静态。
  6. 负载均衡:
    Nginx 支持多种负载均衡策略,如轮询、最少连接、IP 哈希等。
  7. 模块化设计:
    Nginx 的模块化设计允许用户根据需要添加或移除功能模块。
  8. 缓存代理:
    Nginx 可以作为缓存代理服务器,缓存来自后端服务器的内容,减少对后端服务器的请求。
  9. 访问控制:
    通过配置文件,可以对访问者进行访问控制,例如限制特定 IP 地址的访问。
  10. 日志记录:
    Nginx 提供了详细的访问日志记录功能,可以记录访问者的请求信息。
  11. 状态监控:
    Nginx 可以通过状态监控模块提供实时的状态信息,如当前的连接数、请求处理情况等。
  12. 邮件代理:
    Nginx 可以作为 IMAP/POP3/SMTP 代理服务器,处理邮件的接收和发送。
  13. WebSockets 支持:
    Nginx 支持 WebSockets 协议,可以用于实现实时通信。
  14. 配置灵活性:
    Nginx 的配置文件结构清晰,易于理解和修改,支持细粒度的配置。
  15. 跨平台:
    Nginx 可以在多种操作系统上运行,包括 Linux、BSD、macOS 和 Windows。
  16. 社区和商业支持:
    拥有活跃的社区和商业支持,提供持续的更新和安全补丁。

Nginx 的灵活性和高性能使其成为现代 Web 应用和基础设施中广泛使用的服务器软件之一。


操作系统:CentOS 7.*

  1. 更新系统包:
    sudo yum update

  2. 安装依赖:
    Nginx 需要编译工具和一些库
    sudo yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

  3. 下载 Nginx:
    访问 Nginx 官网下载 Nginx 1.26.1 源码包
    wget http://nginx.org/download/nginx-1.26.1.tar.gz

  4. 解压源码包

    cd /opt
    tar -zxvf nginx-1.26.1.tar.gz
    cd nginx-1.26.1
    
  5. 配置 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 压缩。

在这里插入图片描述

  1. 编译 Nginx
    make
    在这里插入图片描述

  2. 安装 Nginx
    将编译好的 Nginx 安装到指定的目录
    sudo make install
    在这里插入图片描述

  3. 配置 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
   
  1. 启动 Nginx 服务
    启动 Nginx 服务,并设置开机启动
   sudo systemctl start nginx
   sudo systemctl enable nginx
  1. 检查 Nginx 状态
    检查 Nginx 服务是否成功启动
    sudo systemctl status nginx
    在这里插入图片描述

  2. 访问 Nginx测试页
    在浏览器中访问 http://your_server_ip,能看到 Nginx 的欢迎页面了,至此,nginx已正常运行了
    在这里插入图片描述

  3. 根据业务需求来修改 Nginx 配置文件
    通过编辑 /usr/local/nginx/conf/nginx.conf 文件,根据需要配置服务器、日志路径、虚拟主机等。

  4. 重启 Nginx 服务
    保存nginx.conf配置文件更改后,重启 Nginx 服务以应用更改

    sudo systemctl restart nginx 
    

  1. 添加防火墙规则(可选)
    如果开启了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
    
;