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 准备工作
- 下载 Nginx 源码:访问 下载最新版本的 Nginx 源码。
- 解压源码:将下载的源码包解压到指定目录。
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
- 安装 keepalived:
sudo yum install -y keepalived
- 配置 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
...
}
- 启动 keepalived:
sudo systemctl start keepalived
4.2 配置 heartbeat
- 安装 heartbeat:
sudo yum install -y heartbeat
- 配置 heartbeat:
编辑 /etc/heartbeat/ha.cf
文件,添加以下内容:
global {
...
user root
group root
}
cluster {
...
node node1
node node2
}
autocluster {
...
node node1
node node2
}
- 启动 heartbeat:
sudo systemctl start heartbeat
5. 总结
通过本文的详细解析,您应该已经掌握了在 CentOS 上使用源码安装 Nginx 的全过程。在实际应用中,可以根据需求调整 Nginx 的配置,以提高服务器性能和可用性。希望本文对您有所帮助!