Nginx 是一款高性能的 HTTP 和反向代理服务器,广泛应用于各种服务器环境中。在 CentOS 系统上使用源码安装 Nginx 可以更好地定制服务器性能,满足特定的业务需求。本文将详细解析在 CentOS 上使用源码安装 Nginx 的全过程,帮助读者轻松提升服务器性能。

1. 安装前准备

在开始安装之前,请确保您的 CentOS 系统满足以下要求:

  • CentOS 7 或更高版本
  • 系统已更新到最新状态
  • 已安装必要的依赖库

1.1 安装依赖库

Nginx 需要以下依赖库:

  • GCC 编译器
  • PCRE 库
  • zlib 库
  • OpenSSL 库

使用以下命令安装依赖库:

sudo yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

1.2 准备工作

  1. 下载 Nginx 源码:访问 下载最新版本的 Nginx 源码。
  2. 解压源码:将下载的源码包解压到指定目录。
tar -zxf nginx-版本号.tar.gz -C /usr/local/src/
cd /usr/local/src/nginx-版本号

2. 编译与安装

2.1 编译 Nginx

在源码目录下,执行以下命令进行编译:

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre --with-zlib --with-openssl

2.2 编译并安装

编译完成后,执行以下命令进行安装:

make && sudo make install

3. 配置 Nginx

3.1 配置文件

Nginx 的配置文件位于安装目录下的 conf 目录中。主要配置文件为 nginx.conf

3.2 修改配置文件

根据您的需求,修改 nginx.conf 文件。以下是一些常用的配置项:

  • worker_processes: 设置进程数,建议设置为 CPU 核心数。
  • events: 设置事件驱动模型和连接数。
  • http: 设置 HTTP 相关配置,如服务器名、根目录、错误日志等。

3.3 启动 Nginx

使用以下命令启动 Nginx:

sudo /usr/local/nginx/sbin/nginx

3.4 停止 Nginx

使用以下命令停止 Nginx:

sudo /usr/local/nginx/sbin/nginx -s stop

3.5 重启 Nginx

使用以下命令重启 Nginx:

sudo /usr/local/nginx/sbin/nginx -s reload

4. 高可用配置

为了提高 Nginx 的可用性,可以配置多个 Nginx 实例,使用 keepalived 或 heartbeat 等工具实现负载均衡和高可用。

4.1 配置 keepalived

  1. 安装 keepalived:
sudo yum install -y keepalived
  1. 配置 keepalived:

编辑 /etc/keepalived/keepalived.conf 文件,添加以下内容:

! Configuration File for keepalived

global_defs {
    notification_email {
        admin@example.com
    }
    notification_email_from admin@example.com
    smtp_server 127.0.0.1
    smtp_connect_timeout 30
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.1.100/24 dev eth0
    }
}

virtual_server 192.168.1.100 80 {
    protocol HTTP
    lbmethod roundrobin
    ...
}
  1. 启动 keepalived:
sudo systemctl start keepalived

4.2 配置 heartbeat

  1. 安装 heartbeat:
sudo yum install -y heartbeat
  1. 配置 heartbeat:

编辑 /etc/heartbeat/ha.cf 文件,添加以下内容:

global {
    ...
    user root
    group root
}

cluster {
    ...
    node node1
    node node2
}

autocluster {
    ...
    node node1
    node node2
}
  1. 启动 heartbeat:
sudo systemctl start heartbeat

5. 总结

通过本文的详细解析,您应该已经掌握了在 CentOS 上使用源码安装 Nginx 的全过程。在实际应用中,可以根据需求调整 Nginx 的配置,以提高服务器性能和可用性。希望本文对您有所帮助!