Debian 编译安装 Nginx

此教程已在阿里云 2 核心 2GB 内存 3M 带宽 99 元一年的活动机上验证过,本人当前使用的线上云服务器就是这个,安装的 Debian12 系统,运行了四个 WordPress 网站 + Frp 内网穿透,点击此处直达阿里云购买链接

安装前我们先更新下 Debian 上的软件列表,好让其保持最新,使用如下命令即可。

sudo apt-get update

环境准备

1、编译 Nginx 需要 gcc+ 的环境支持,build-essential 内包含 gcc+ 套件,所以我们先安装 build-essential ,执行如下命令:

sudo apt-get install build-essential

2、因为 Nginx 的配置文件 nginx.conf 中使用了正则表达式,所以编译 Nginx 时需要把 PCRE 库编译进 Nginx,而 Debian 内安装 PCRE 库,可以执行如下命令进行:

sudo apt-get install libpcre3 libpcre3-dev

3、Nginx 编译过程和 Http 相应过程还需要 gzip 格式的压缩,因此还需要安装 zlib库 用于对 HTTP 包的内容做 gzip 格式的压缩,请执行如下命令进行:

sudo apt-get install zlib1g-dev

4、Chrome 等主流浏览器现在强制要求网站必须开启 SSL 加密,使用 HTTPS 否则会显示不安全,所以 OpenSSL 编译环境也很重要,请执行如下命令:

sudo apt-get install openssl libssl-dev

至此,环境已准备完成,可以开始下载 Nginx 并进行编译安装。

编译安装 Nginx

1、下载 Nginx 源码

前往 Nginx 官网下载最新稳定版 Nginx(官网下载链接:https://nginx.org/en/download.html),使用最新稳定版本即可,选择对应版本的 Nginx 后复制下载链接,比如最新的 Nginx-1.26.1:https://nginx.org/download/nginx-1.26.1.tar.gz。

Debian 编译安装 Nginx-语幕

按顺序在服务器中执行如下命令:

# 下载 Nginx-1.26.1 源码( Stable 稳定版本) 
wget "https://nginx.org/download/nginx-1.26.1.tar.gz" 

# 使用 tar 命令解压 nginx-1.26.1.tar.gz
tar -xf nginx-1.26.1.tar.gz

# 解压后,进入解压目录
cd nginx-1.26.1

2、编译安装 Nginx

先生成 makefile 文件,编译参数可以参考官方 Nginx 文档:http://nginx.org/en/docs/configure.html

本人当前编译 Nginx 选择的参数如下,如无其它要求你可以直接使用和我一样的参数进行编译。

./configure \--prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=www-data --group=www-data --with-file-aio --with-threads --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-pcre --with-http_realip_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module

参数说明:

  • --prefix:Nginx 主要安装路径,后续 Nginx 子目录依照这个变量展开。
  • --user:设置 Nginx 进程启动时,所属的用户(我使用的是 www-data)。
  • --group:设置 Nginx 进程启动时,所属的用户组(我使用的是 www-data)。

手动新建一个 client_temp 文件夹,如下命令执行:

sudo mkdir -p /var/cache/nginx/client_temp

之后,在执行如下命令进行编译:

make && make install

至此编译完成,执行 sudo nginx -t 来检查 Nginx 配置是否正确,如下图所示表示配置正确。

Debian 编译安装 Nginx-语幕

如果编译安装和配置没有问题,使用 sudo nginx 可以启动 Nginx,浏览器输入服务器 IP 地址,可以见到如下输出。

Debian 编译安装 Nginx-语幕

至此,Nginx 编译安装完成,如下是一些日常使用的命令。

命令用意
sudo nginx启动 Nginx
sudo nginx -t检测配置文件是否有语法错误
sudo nginx -s reopen重启 Nginx,不建议直接使用
sudo nginx -s reload重新加载 Nginx 配置文件
sudo nginx -s stop强制停止 Nginx 服务,不建议直接使用
sudo nginx -s quit安全地停止 Nginx 服务(即处理完所有请求后再停止服务)

注意:每次修改完 Nginx 配置后,请先检测配置文件是否存在语法错误后在重新加载 Nginx 配置文件。