ubuntu apt安装高版本nginx,做Tcp服务代理

陈德兵 13天前 ⋅ 50 阅读

Ubuntu 22.* LTS版本默认ubuntu apt源是1.18.0版本。

apt-cache policy nginx 查看可安装版本

root@server73:~# apt-cache policy nginx
nginx:
  Installed: (none)
  Candidate: 1.18.0-6ubuntu14.6
  Version table:
     1.18.0-6ubuntu14.6 500
        500 https://mirrors.aliyun.com/ubuntu jammy-security/main amd64 Packages
        500 https://mirrors.aliyun.com/ubuntu jammy-updates/main amd64 Packages
     1.18.0-6ubuntu14 500
        500 https://mirrors.aliyun.com/ubuntu jammy/main amd64 Packages

支持stream模块的nginx版本从19版本开始。

导入GPG密钥,并添加nginx apt源(对于Ubuntu 20.04及更高版本):

sudo wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
echo "deb-src http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee -a /etc/apt/sources.list.d/nginx.list

apt update后重新查看可安装版本:

root@server73:~# apt-cache policy nginx
nginx:
  Installed: (none)
  Candidate: 1.28.0-1~jammy
  Version table:
     1.28.0-1~jammy 500
        500 http://nginx.org/packages/ubuntu jammy/nginx amd64 Packages
     1.26.3-1~jammy 500
        500 http://nginx.org/packages/ubuntu jammy/nginx amd64 Packages
     1.26.2-1~jammy 500
        500 http://nginx.org/packages/ubuntu jammy/nginx amd64 Packages
     1.26.1-2~jammy 500
        500 http://nginx.org/packages/ubuntu jammy/nginx amd64 Packages
     1.26.1-1~jammy 500
        500 http://nginx.org/packages/ubuntu jammy/nginx amd64 Packages
     1.26.0-1~jammy 500
        500 http://nginx.org/packages/ubuntu jammy/nginx amd64 Packages
     1.24.0-1~jammy 500
        500 http://nginx.org/packages/ubuntu jammy/nginx amd64 Packages
     1.22.1-1~jammy 500
        500 http://nginx.org/packages/ubuntu jammy/nginx amd64 Packages
     1.22.0-1~jammy 500
        500 http://nginx.org/packages/ubuntu jammy/nginx amd64 Packages
     1.20.2-1~jammy 500
        500 http://nginx.org/packages/ubuntu jammy/nginx amd64 Packages
     1.18.0-6ubuntu14.6 500
        500 https://mirrors.aliyun.com/ubuntu jammy-security/main amd64 Packages
        500 https://mirrors.aliyun.com/ubuntu jammy-updates/main amd64 Packages
     1.18.0-6ubuntu14 500
        500 https://mirrors.aliyun.com/ubuntu jammy/main amd64 Packages

选择上述列表中的1.26.3-1~jammy版本进行安装:

root@server73:~# apt install nginx=1.26.3-1~jammy -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  nginx
0 upgraded, 1 newly installed, 0 to remove and 6 not upgraded.
Need to get 1,143 kB of archives.
After this operation, 3,697 kB of additional disk space will be used.
Get:1 http://nginx.org/packages/ubuntu jammy/nginx amd64 nginx amd64 1.26.3-1~jammy [1,143 kB]
Fetched 1,143 kB in 2s (486 kB/s)
Selecting previously unselected package nginx.
(Reading database ... 142919 files and directories currently installed.)
Preparing to unpack .../nginx_1.26.3-1~jammy_amd64.deb ...
----------------------------------------------------------------------

安装成功。


配置TCP代理后reload,完成:

stream {
    upstream redis_backend {
        server 127.0.0.1:6379; # 后端Redis服务器地址和端口
    }
 
    server {
        listen 8080; # 监听端口
        proxy_pass redis_backend; # 代理到上游定义的backend
        proxy_connect_timeout 1s; # 连接超时设置
        proxy_timeout 3s; # 请求超时设置
        proxy_responses 1; # 只转发第一个响应
    }
}

负载:

upstream redis_backend {
    server 127.0.0.1:6379 weight=1; # 带权重的服务器列表,支持更多选项如max_fails等
}



注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: