nginx tar离线安装 ubuntu22.04

一、下载 Nginx 主包

打开 https://nginx.org/packages/ubuntu/pool/nginx/n/nginx/,选择jammy版本、对应架构(amd64/arm64)的 deb 包;

二、卸载

复制代码
# 停止 Nginx 服务
sudo systemctl stop nginx

# 完全卸载 Nginx
sudo apt purge nginx nginx-common nginx-full

# 删除残留配置
sudo rm -rf /etc/nginx /var/log/nginx /var/lib/nginx /var/cache/nginx

# 清理依赖
sudo apt autoremove
sudo apt autoclean

三、apt-get安装依赖

复制代码
sudo apt-get install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

1、内网离线下载依赖

复制代码
# 创建下载目录
mkdir -p ~/nginx-dependencies && cd ~/nginx-dependencies

# 下载所有依赖包(包括所有子依赖)
sudo apt-get update
sudo apt-get install -d build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

# 复制所有下载的deb包到当前目录
sudo cp /var/cache/apt/archives/*.deb ./







# 解压依赖包

tar -xzvf nginx-dependencies.tar.gz


# 进入依赖包目录

cd nginx-dependencies


# 安装所有包(按顺序安装,避免依赖问题)

sudo dpkg -i *.deb


# 如果出现依赖错误,强制修复

sudo apt-get install -f







# 检查gcc
gcc --version
# 输出:gcc (Ubuntu 11.4.0-1ubuntu1~22.04.2) 11.4.0

# 检查pcre
pcre-config --version
# 输出:8.39

# 检查zlib
zlib-config --version
# 输出:1.2.11

# 检查openssl
openssl version
# 输出:OpenSSL 3.0.2 15 Mar 2022

四、deb包安装

复制代码
sudo dpkg -i nginx_1.28.0-1~jammy_amd64.deb

# 检查版本(必须显示 1.28.0!)
nginx -v

# 检查 Stream 模块
nginx -V | grep stream



nginx -v


nginx version: nginx/1.28.0


 nginx -V | grep stream


nginx version: nginx/1.28.0
built by gcc 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) 
built with OpenSSL 3.0.2 15 Mar 2022
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/run/nginx.pid --lock-path=/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=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_v3_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -ffile-prefix-map=/home/builder/debuild/nginx-1.28.0/debian/debuild-base/nginx-1.28.0=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'

五、tar安装

复制代码
# 安装依赖(直接用apt-get,无需下载rpm包!)

sudo apt-get update

sudo apt-get install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev





./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/logs/error.log \
  --http-log-path=/usr/local/nginx/logs/access.log \
  --pid-path=/usr/local/nginx/logs/nginx.pid \
  --with-http_stub_status_module \
  --with-http_ssl_module \
  --with-http_gzip_static_module \
  --with-pcre \
  --with-stream  # 这个参数是启用stream模块的关键!




make
make install




/usr/local/nginx/sbin/nginx -V | grep stream

ls /usr/local/nginx/modules/ngx_stream_module.so



/usr/local/nginx/sbin/nginx -V | grep stream
nginx version: nginx/1.28.0
built by gcc 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) 
built with OpenSSL 3.0.2 15 Mar 2022
TLS SNI support enabled
configure arguments: --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/logs/error.log --http-log-path=/usr/local/nginx/logs/access.log --pid-path=/usr/local/nginx/logs/nginx.pid --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre --with-stream

六、stream配置

复制代码
# 启用stream模块(四层代理)
stream {
    # 配置8080端口的TCP转发(目标:8081)
    server {
        listen 8080; # 监听8080端口的TCP流量
        proxy_pass 127.0.0.1:8081; # 转发到后端8081的TCP端口
        proxy_connect_timeout 180s;
        proxy_timeout 180s;
    }
}

代理配置

复制代码
server {
        listen       1111;
        server_name  192.192.3.20;
       charset utf-8;

        location / {
            root /usr/share/nginx/html;
          try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
        
        location /prod-api/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:8080/;
        } 

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
相关推荐
镜子AI29 分钟前
镜子AI 技术复盘:三条自动化链路上的“停止条件“设计
运维·人工智能·自动化
tianyuanwo1 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
知已难寻3 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
huainingning4 小时前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
say_fall4 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
wacsii4 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器
相思难忘成疾5 小时前
从零搭建 Kubernetes 1.30 集群:kubeadm 部署一主多从实战(RHEL 9.3 + Docker + flannel)
linux·运维·kubernetes
PellyKoo5 小时前
【docker】cifs卷改smb密码后容器起不来的解决方法
运维·docker·容器
云飞云共享云桌面5 小时前
1台SolidWorks服务器如何承载10个设计并发?
运维·服务器·网络·3d·制造