0%

Nginx的安装

Nginx 安装指南:从 Mac 到 Linux 的完整实现

Nginx 作为高性能的 HTTP 服务器、反向代理和负载均衡器,被广泛应用于各类 Web 架构中。本文详细介绍在 Mac 和 Linux 系统下的安装方法,包括依赖准备、源码编译配置及服务管理,帮助快速搭建 Nginx 环境。

Mac 系统安装 Nginx(基于 Homebrew)

Mac 系统推荐使用包管理工具 Homebrew 安装 Nginx,操作简单且自动处理依赖。

查看 Nginx 信息(可选)

安装前可先查看 Nginx 的版本、依赖及安装路径等信息:

1
brew info nginx

输出内容解读:

  • 版本信息:显示当前稳定版(如stable 1.19.6);
  • 安装路径:默认位于/usr/local/Cellar/nginx/<版本号>
  • 依赖要求:需pcre(正则支持)和openssl(可选,用于 HTTPS);
  • 默认配置:网站根目录(Docroot)为/usr/local/var/www,默认端口 8080(无需 sudo 即可运行)。

安装 Nginx

Homebrew 会自动安装所需依赖(如 pcre),直接执行:

1
brew install nginx

Linux 系统安装 Nginx(源码编译方式)

Linux 系统推荐源码编译安装,可自定义模块和配置,适合生产环境。

准备依赖

Nginx 编译依赖以下工具和库,需提前安装:

1
2
3
4
5
6
7
8
9
10
11
# 安装编译器和基础工具
yum install -y gcc gcc-c++ make

# 安装正则表达式库(必需,用于解析配置中的正则)
yum install -y pcre pcre-devel

# 安装压缩库(用于gzip压缩)
yum install -y zlib zlib-devel

# 安装SSL库(可选,用于HTTPS)
yum install -y openssl openssl-devel

创建运行用户

为增强安全性,建议创建专用用户(非 root)运行 Nginx:

1
2
3
4
# 创建用户组www
groupadd www
# 创建用户www(不允许登录,归属www组)
useradd -r -g www www -s /sbin/nologin

下载并解压源码包

Nginx 官网下载最新稳定版源码(以nginx-1.24.0为例):

1
2
3
4
5
# 下载源码包
wget http://nginx.org/download/nginx-1.24.0.tar.gz
# 解压
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0

配置编译参数

通过./configure命令指定安装路径、模块及运行用户,核心参数说明如下:

1
2
3
4
5
6
7
8
9
10
11
12
./configure \
--prefix=/usr/local/nginx \ # 安装根目录
--sbin-path=/usr/local/nginx/sbin/nginx \ # 可执行文件路径
--conf-path=/usr/local/nginx/conf/nginx.conf \ # 配置文件路径
--error-log-path=/usr/local/nginx/log/error.log \ # 错误日志路径
--http-log-path=/usr/local/nginx/log/access.log \ # 访问日志路径
--pid-path=/usr/local/nginx/var/nginx.pid \ # 进程ID文件路径
--lock-path=/usr/local/nginx/var/nginx.lock \ # 锁文件路径
--user=www \ # 运行用户
--group=www \ # 运行用户组
--with-http_stub_status_module \ # 启用状态监控模块
--with-http_ssl_module # 启用SSL模块(支持HTTPS)

常用扩展参数

  • --with-http_gzip_static_module:启用预压缩文件支持;
  • --with-stream:启用 TCP/UDP 代理模块(用于四层负载均衡);
  • --add-module=/path/to/module:添加第三方模块(如 ngx_pagespeed)。

编译与安装

配置完成后,执行编译和安装:

1
2
3
4
# 编译(多线程加速,-j后跟CPU核心数)
make -j 4
# 安装
make install

配置防火墙(可选)

若需开放 80(HTTP)或 443(HTTPS)端口,需配置防火墙:

1
2
3
4
5
6
# 编辑防火墙规则
vim /etc/sysconfig/iptables
# 添加允许80端口的规则
-A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
# 重启防火墙生效
service iptables restart

Nginx 服务管理

无论 Mac 还是 Linux,均可通过以下命令管理 Nginx 服务:

基础操作(非后台服务模式)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 启动Nginx
nginx
# 启动时指定配置文件(默认使用安装目录下的nginx.conf)
nginx -c /usr/local/nginx/conf/nginx.conf

# 优雅停止(处理完当前请求后关闭)
nginx -s quit
# 强制停止
nginx -s stop

# 重新加载配置文件(无需重启服务)
nginx -s reload

# 检查配置文件语法是否正确
nginx -t

后台服务模式(开机自启动)

  • Mac(Homebrew)

    1
    2
    3
    4
    5
    6
    # 启动并设置开机自启
    brew services start nginx
    # 停止并禁用开机自启
    brew services stop nginx
    # 重启服务
    brew services restart nginx
  • Linux(系统服务)
    需手动创建系统服务脚本(以 CentOS 为例):

    1
    2
    # 创建服务文件
    vim /usr/lib/systemd/system/nginx.service

    写入以下内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    [Unit]
    Description=nginx - high performance web server
    After=network.target

    [Service]
    Type=forking
    ExecStart=/usr/local/nginx/sbin/nginx
    ExecReload=/usr/local/nginx/sbin/nginx -s reload
    ExecStop=/usr/local/nginx/sbin/nginx -s quit
    User=www
    Group=www

    [Install]
    WantedBy=multi-user.target

    启用并管理服务:

    1
    2
    3
    4
    5
    6
    # 重新加载系统服务
    systemctl daemon-reload
    # 启动并设置开机自启
    systemctl enable --now nginx
    # 停止服务
    systemctl stop nginx

验证安装

安装完成后,通过以下方式验证 Nginx 是否正常运行:

1
2
3
4
# 查看Nginx版本
nginx -v
# 访问默认页面(默认端口8080或80,根据配置而定)
curl http://localhost:8080

若返回 “Welcome to nginx!” 页面,说明安装成功。

欢迎关注我的其它发布渠道

表情 | 预览
快来做第一个评论的人吧~
Powered By Valine
v1.3.10