前言

Nginx是一款高性能的HTTP和反向代理服务器,广泛用于网站、API服务、负载均衡等场景。本文将详细介绍如何在CentOS上从零开始安装与配置Nginx,帮助您快速上手并应用。

安装Nginx

1. 添加Nginx官方YUM源

首先,确保您的CentOS系统已更新到最新版本:

sudo yum update

然后,添加Nginx官方YUM源:

sudo nano /etc/yum.repos.d/nginx.repo

在打开的文件中,粘贴以下内容:

[nginx-stable]
name=nginx stable repo
baseurl=https://nginx.org/packages/centos/7/\$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

保存并退出文件。

2. 安装Nginx

通过以下命令安装Nginx:

sudo yum install nginx

3. 启动Nginx并设置开机自启动

安装完成后,启动Nginx:

sudo systemctl start nginx

为了使Nginx在系统启动时自动运行,设置开机自启动:

sudo systemctl enable nginx

配置Nginx

1. 访问Nginx默认页面

在浏览器中输入服务器IP地址或域名,您应该能够看到Nginx的默认欢迎页面。

2. 修改默认配置

Nginx的默认配置文件位于/etc/nginx/nginx.conf。您可以根据需要修改以下部分:

  • server块:配置虚拟主机和监听的端口。
  • location块:配置请求处理规则。

以下是一个简单的配置示例:

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
}

3. 重载Nginx配置

修改配置文件后,重载Nginx以应用更改:

sudo systemctl reload nginx

高级配置

1. 负载均衡

Nginx支持负载均衡,可以将请求分发到多个后端服务器。以下是一个简单的负载均衡配置示例:

http {
    upstream myapp1 {
        server backend1.example.com;
        server backend2.example.com;
        server backend3.example.com;
    }

    server {
        listen       80;

        location / {
            proxy_pass http://myapp1;
        }
    }
}

2. HTTPS配置

为了提高安全性,您可以使用SSL证书来配置HTTPS。以下是一个简单的HTTPS配置示例:

server {
    listen       443 ssl;
    server_name  localhost;

    ssl_certificate      /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key  /etc/ssl/private/nginx-selfsigned.key;

    ssl_session_timeout  1d;
    ssl_session_cache    shared:SSL:50m;
    ssl_session_tickets  off;

    ssl_prefer_server_ciphers  on;

    # ... 其他SSL相关配置 ...

    location / {
        proxy_pass http://myapp1;
    }
}

总结

通过本文,您应该已经掌握了在CentOS上安装和配置Nginx的基本方法。随着您对Nginx的深入了解,您还可以探索更多高级功能,以满足您的需求。