Nginx TCP转发(AlmaLinux)
背景是指一个事件或情况发生的环境或背景。
如果想在Almalinux中使用dnf安装的nginx来实现TCP端口转发(流转发)的功能,则需要从源代码进行构建。
前提——環境
OS:AlmaLinux 9.1
本作業はrootユーザで行う
クローズドの環境ではないこと
ファイアーウォールおよびSELinuxは考慮しないものとする
受信ポートを8000/tcp、転送先を192.168.1.1の10000/tcpとする
安装包
安装所需的软件包
dnf -y install wget tar gcc pcre-devel zlib-devel
关于安装软件包
パッケージ用途wgetnginxの公式ページからソースコードをDLするためtarソースコード(tar.gz)を展開するためgccソースコードをビルドする場合に必要pcre-develソースコードをビルドする場合に必要zlib-develソースコードをビルドする場合に必要
下载nginx
下载网站
使用wget进行下载。
需要下载的版本是针对稳定版本。
wget http://nginx.org/download/nginx-1.22.1.tar.gz
建立
展开
tar zxvf nginx-1.22.1.tar.gz
先展开移动
cd nginx-1.22.1
为了编译,创建一个名为”Makefile”的文件。
./configure --with-stream --without-stream_geo_module --without-stream_map_module
编译和安装
make && make install
前往安装目录
cd /usr/local/nginx/
ls -l
["ls-l"の結果]
drwxr-xr-x 3 root root 4096 1月 13 01:13 conf
drwxr-xr-x 2 root root 4096 1月 13 00:07 html
drwxr-xr-x 2 root root 4096 1月 14 00:45 logs
drwxr-xr-x 2 root root 4096 1月 13 00:07 sbin
TCP转发(流)的设置
编辑配置文件
cd conf
cp -p nginx.conf nginx.conf.org
vi nginx.conf
当编辑界面显示时,请将以下内容添加到最后一行。
stream {
upstream testserver {
server 192.168.100.1:10000;
}
server {
listen 0.0.0.0:8000;
proxy_pass testserver;
}
}
启动Nginx。
cd /usr/local/nginx/sbin
nginx -c /usr/local/nginx/conf/nginx.conf
确认端口
ss -nate | grep ":8000" | grep LISTEN
确认显示「0.0.0.0:8000」。