Nginx的安装
Nginx 安装指南:从 Mac 到 Linux 的完整实现
Nginx 作为高性能的 HTTP 服务器、反向代理和负载均衡器,被广泛应用于各类 Web 架构中。本文详细介绍在 Mac 和 Linux 系统下的安装方法,包括依赖准备、源码编译配置及服务管理,帮助快速搭建 Nginx 环境。
Mac 系统安装 Nginx(基于 Homebrew)
Mac 系统推荐使用包管理工具 Homebrew 安装 Nginx,操作简单且自动处理依赖。
查看 Nginx 信息(可选)
安装前可先查看 Nginx 的版本、依赖及安装路径等信息:
brew info nginx
输出内容解读:
- 版本信息:显示当前稳定版(如
stable 1.19.6); - 安装路径:默认位于
/usr/local/Cellar/nginx/<版本号>; - 依赖要求:需
pcre(正则支持)和openssl(可选,用于 HTTPS); - 默认配置:网站根目录(
Docroot)为/usr/local/var/www,默认端口 8080(无需 sudo 即可运行)。
安装 Nginx
Homebrew 会自动安装所需依赖(如 pcre),直接执行:
brew install nginx
Linux 系统安装 Nginx(源码编译方式)
Linux 系统推荐源码编译安装,可自定义模块和配置,适合生产环境。
准备依赖
Nginx 编译依赖以下工具和库,需提前安装:
安装编译器和基础工具
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:
创建用户组www
groupadd www
创建用户www(不允许登录,归属www组)
useradd -r -g www www -s /sbin/nologin
下载并解压源码包
从Nginx 官网下载最新稳定版源码(以nginx-1.24.0为例):
下载源码包
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命令指定安装路径、模块及运行用户,核心参数说明如下:
./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)。
编译与安装
配置完成后,执行编译和安装:
编译(多线程加速,-j后跟CPU核心数)
make -j 4
安装
make install
配置防火墙(可选)
若需开放 80(HTTP)或 443(HTTPS)端口,需配置防火墙:
编辑防火墙规则
vim /etc/sysconfig/iptables
添加允许80端口的规则
-A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
重启防火墙生效
service iptables restart
Nginx 服务管理
无论 Mac 还是 Linux,均可通过以下命令管理 Nginx 服务:
基础操作(非后台服务模式)
启动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):
启动并设置开机自启 brew services start nginx 停止并禁用开机自启 brew services stop nginx 重启服务 brew services restart nginxLinux(系统服务):
需手动创建系统服务脚本(以 CentOS 为例):创建服务文件 vim /usr/lib/systemd/system/nginx.service写入以下内容:
[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启用并管理服务:
重新加载系统服务 systemctl daemon-reload 启动并设置开机自启 systemctl enable --now nginx 停止服务 systemctl stop nginx
验证安装
安装完成后,通过以下方式验证 Nginx 是否正常运行:
查看Nginx版本
nginx -v
访问默认页面(默认端口8080或80,根据配置而定)
curl http://localhost:8080
若返回 “Welcome to nginx!” 页面,说明安装成功。