【Nginx 入门】2、Nginx 安装与基本配置

【Nginx 入门】Nginx 安装与基本配置


系列文章目录

【Nginx 入门】1、Nginx 简介
【Nginx 入门】2、Nginx 安装与基本配置(本文)
【Nginx 入门】3、Nginx 基本命令
【Nginx 入门】4、Nginx 配置语法
【Nginx 入门】5、Nginx 处理请求的流程
【Nginx 入门】6、Nginx 反向代理
【Nginx 入门】7、静态文件服务
【Nginx 入门】8、Nginx 日志管理


1. 安装 Nginx

1.1 在不同操作系统上的安装

1.1.1 在 Ubuntu 上安装

在 Ubuntu 上安装 Nginx 非常简单,可以通过 apt 包管理器安装:

# 更新软件包列表
sudo apt update

# 安装 Nginx
sudo apt install nginx -y

安装完成后,可以通过以下命令启动 Nginx:

sudo systemctl start nginx

要设置 Nginx 开机自启动:

sudo systemctl enable nginx
1.1.2 在 CentOS 上安装

在 CentOS 上,可以使用 yum 包管理器来安装 Nginx:

# 安装 EPEL 仓库
sudo yum install epel-release -y

# 安装 Nginx
sudo yum install nginx -y

安装完成后,启动 Nginx:

sudo systemctl start nginx

设置 Nginx 开机自启动:

sudo systemctl enable nginx
1.1.3 在 macOS 上安装

在 macOS 上,可以使用 Homebrew 包管理器来安装 Nginx:

# 安装 Nginx
brew install nginx

安装完成后,可以运行以下命令启动 Nginx:

nginx

1.2 验证安装

安装完成后,可以在浏览器中访问 http://localhost,如果看到 Nginx 的欢迎页面,说明安装成功。

也可以使用以下命令检查 Nginx 进程是否在运行:

# 检查 Nginx 进程
ps aux | grep nginx

2. Nginx 基本配置

Nginx 的配置文件通常位于 /etc/nginx/nginx.conf,该文件包含了全局配置、事件模块配置和 HTTP 核心模块配置。

2.1 配置结构

Nginx 的配置文件使用模块化结构,可以包含多个独立的配置文件。在主配置文件中,可以使用 include 指令包含其他配置文件。例如:

http {
    include /etc/nginx/conf.d/*.conf;
}

2.2 配置示例

下面是一个简单的 Nginx 配置示例,展示了基本的配置项和指令。

# /etc/nginx/nginx.conf

user nginx; # 指定 Nginx 进程运行的用户
worker_processes auto; # 自动设置工作进程数

error_log /var/log/nginx/error.log warn; # 错误日志路径和日志级别
pid /var/run/nginx.pid; # PID 文件路径

events {
    worker_connections 1024; # 每个工作进程的最大连接数
}

http {
    include /etc/nginx/mime.types; # 文件扩展名与 MIME 类型映射表
    default_type application/octet-stream; # 默认 MIME 类型

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"'; # 日志格式
    access_log /var/log/nginx/access.log main; # 访问日志路径

    sendfile on; # 启用高效文件传输模式
    tcp_nopush on; # 禁用 TCP 的部分特性以优化传输
    tcp_nodelay on; # 禁用 Nagle 算法以减少延迟
    keepalive_timeout 65; # 连接保持时间
    types_hash_max_size 2048; # MIME 类型哈希表的大小

    gzip on; # 启用 Gzip 压缩
    gzip_disable "msie6"; # 禁用对 IE6 的压缩

    # 定义一个服务器块
    server {
        listen 80; # 监听端口
        server_name example.com; # 服务器名称

        root /usr/share/nginx/html; # 网站根目录
        index index.html index.htm; # 默认首页文件

        # 处理请求的 location 块
        location / {
            try_files $uri $uri/ =404; # 尝试文件路径,找不到则返回 404
        }

        # 定义错误页面
        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }
}

2.3 常用指令

user

指定 Nginx 进程运行的用户和组。例如:

user nginx;
worker_processes

设置工作进程数。通常设置为 CPU 核心数或使用 auto 自动调整。例如:

worker_processes auto;
error_log

定义错误日志文件路径和日志级别。例如:

error_log /var/log/nginx/error.log warn;
pid

指定 PID 文件路径。例如:

pid /var/run/nginx.pid;
worker_connections

设置每个工作进程的最大连接数。例如:

worker_connections 1024;
include

包含其他配置文件。例如:

include /etc/nginx/mime.types;
log_format

定义日志格式。例如:

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';
access_log

指定访问日志文件路径和日志格式。例如:

access_log /var/log/nginx/access.log main;
sendfile

启用高效文件传输模式。例如:

sendfile on;
tcp_nopush

禁用 TCP 的部分特性以优化传输。例如:

tcp_nopush on;
tcp_nodelay

禁用 Nagle 算法以减少延迟。例如:

tcp_nodelay on;
keepalive_timeout

设置连接保持时间。例如:

keepalive_timeout 65;
gzip

启用 Gzip 压缩。例如:

gzip on;
server

定义一个服务器块,设置监听端口、服务器名称和根目录等。例如:

server {
    listen 80;
    server_name example.com;
    root /usr/share/nginx/html;
    index index.html index.htm;
}

2.4 测试和重载配置

每次修改配置文件后,可以使用以下命令测试配置文件的语法是否正确:

sudo nginx -t

如果测试通过,可以重载 Nginx 配置以使更改生效:

sudo systemctl reload nginx

3. 总结

在本教程中,我们介绍了在不同操作系统上安装 Nginx 的方法,以及 Nginx 的基本配置。通过这些步骤,你可以成功地安装和配置 Nginx,并为后续更复杂的配置打下基础。在接下来的教程中,我们将深入探讨 Nginx 的基本命令和配置语法,敬请期待!

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值