按 ESC 键关闭

Debian 11通过官方源码安装Nginx最新完整版

Nginx简介

Nginx(发音为“engine X”)是一个高性能、可伸缩的Web服务器和反向代理服务器,它在全球范围内广泛使用于许多网站、应用程序和云服务中。Nginx的设计旨在处理高并发、大规模请求的网络应用,并且可以做到低内存消耗和高扩展性。它通常用作负载均衡器、HTTP缓存服务器、反向代理服务器和SMTP代理服务器等。

完整安装

安装完整版的nginx源码需要执行以下步骤:

1、安装必要的依赖项

在安装Nginx之前,需要确保系统已经安装了必要的依赖包。例如:

sudo apt update
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

2、下载nginx源码

可以从Nginx官方网站下载最新版本的Nginx源码压缩包,例如:

wget http://nginx.org/download/nginx-1.20.1.tar.gz

3、解压源码

使用tar命令解压下载的源码压缩包:

tar -zxvf nginx-1.20.1.tar.gz

4、编译安装

进入解压后的Nginx源码目录,执行如下命令:

cd nginx-1.20.1

./configure \
--prefix=/usr/local/nginx \                 # 指定nginx安装路径
--with-pcre \                                # 启用PCRE支持
--with-zlib \                                # 启用zlib支持
--with-http_ssl_module \                     # 启用HTTP SSL支持
--with-http_stub_status_module \             # 启用HTTP状态页支持
--with-http_gzip_static_module \              # 启用HTTP Gzip压缩支持
--with-http_realip_module \                   # 启用HTTP realip支持
--with-http_addition_module \                 # 启用HTTP添加HTTP信息支持
--with-http_sub_module \                      # 启用HTTP Substitution支持
--with-stream \                               # 启用Stream模块
--with-stream_ssl_module \                    # 启用Stream SSL支持
--with-stream_realip_module \                  # 启用Stream realip支持
--with-stream_ssl_preread_module \              # 启用Stream SSL预读模块
--with-threads \                              # 多线程支持
--with-file-aio \                             # 启用异步文件IO
--with-compat \                               # 兼容之前的软件版本
--with-pcre-jit \                             # 启用PCRE JIT优化,增加正则表达式性能
--with-http_v2_module \                       # 启用HTTP/2支持
--with-http_auth_request_module \             # 启用内建的HTTP身份认证请求模块
--with-http_slice_module                     # 启用HTTP切片支持

make

sudo make install

上述命令中,--prefix=/usr/local/nginx 指定了安装路径。执行make命令后,将会开始编译Nginx。

更多参数说明,请参考《2023年Nginx所有编译参数最新整理

5、配置服务

主要涉及Nginx的配置文件nginx.conf,先将其备份:

sudo mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.old

编辑一个新的nginx.conf文件:

sudo vi /usr/local/nginx/conf/nginx.conf

在新的配置文件中添加以下内容:

worker_processes auto;
error_log /usr/local/nginx/logs/error.log;
pid /usr/local/nginx/logs/nginx.pid;

events {
    worker_connections 1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

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

        location / {
            try_files $uri $uri/ =404;
        }
    }
}

上面的配置文件中包含了一个简单的HTTP服务的配置,监听80端口,服务器名为 example.com,根目录为 /var/www/html,索引文件为 index.html。同时还定义了访问的规则,通过location指令,当访问路径为 / 时,Nginx将会试图寻找请求的文件,如果不存在,则返回404错误。

6、启动Nginx

执行如下命令启动Nginx服务:

sudo /usr/local/nginx/sbin/nginx

此时,Nginx服务已经启动,可以通过访问 http://example.com 访问到Nginx服务返回的页面。

如果需要停止Nginx服务,可以执行:

sudo /usr/local/nginx/sbin/nginx -s stop

如果需要重启Nginx服务,则执行:

sudo /usr/local/nginx/sbin/nginx -s reload

相关文档