返回

Nginx 操作配置万字干货:入门到精通

前端

前言

Nginx 是一个高性能的 HTTP 服务器和反向代理服务器,因其高性能、稳定性好、开源免费等优点而被广泛使用。本文将从 Nginx 的安装开始,逐步介绍 Nginx 的各种配置,包括全局配置、虚拟主机配置、反向代理配置、负载均衡配置、SSL证书配置等。

安装

安装前的配置检查

在安装 Nginx 之前,我们需要先检查一下系统中是否已经安装了必要的依赖库。

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

安装 Nginx

检查完成后,就可以开始安装 Nginx 了。

yum install -y nginx

全局配置

配置文件路径

Nginx 的全局配置文件位于 /etc/nginx/nginx.conf

日志文件路径

Nginx 的日志文件默认位于 /var/log/nginx/access.log/var/log/nginx/error.log

端口号

Nginx 默认监听 80 端口。

常用的各种配置

虚拟主机配置

虚拟主机配置可以让我们在同一台服务器上运行多个网站。

server {
    listen 80;
    server_name example.com;
    root /var/www/example.com;
    index index.html;
}

反向代理配置

反向代理配置可以让我们将请求转发到另一台服务器。

location /proxy/ {
    proxy_pass http://backend.example.com;
}

负载均衡配置

负载均衡配置可以让我们将请求分发到多台服务器。

upstream backend {
    server backend1.example.com;
    server backend2.example.com;
}

server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://backend;
    }
}

SSL证书配置

SSL证书配置可以让我们为网站启用 HTTPS。

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;
}

实际应用示例

搭建网站

我们可以使用 Nginx 来搭建网站。

yum install -y nginx
mkdir /var/www/example.com
echo "Hello, world!" > /var/www/example.com/index.html

然后,我们需要修改 Nginx 的配置文件。

server {
    listen 80;
    server_name example.com;
    root /var/www/example.com;
    index index.html;
}

最后,重启 Nginx。

service nginx restart

现在,我们就可以访问网站了。

搭建反向代理服务器

我们可以使用 Nginx 来搭建反向代理服务器。

yum install -y nginx
mkdir /var/www/backend
echo "Hello, world!" > /var/www/backend/index.html

然后,我们需要修改 Nginx 的配置文件。

upstream backend {
    server backend1.example.com;
    server backend2.example.com;
}

server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://backend;
    }
}

最后,重启 Nginx。

service nginx restart

现在,我们就可以通过访问 example.com 来访问 backend1.example.com 和 backend2.example.com 上的内容了。

结语

本文介绍了 Nginx 的安装、全局配置和各种常用的配置,并提供了 Nginx 的实际应用示例。希望本文能够帮助您更好地理解和使用 Nginx。