离线部署 nginx,和编译部署

1、在线:

环境:sudo yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel

# 下载源码
wget http://nginx.org/download/nginx-1.23.2.tar.gz
tar -zxvf nginx-1.23.2.tar.gz
cd nginx-1.23.2

 

(下载,正向代理)

https://gitee.com/lpx_mirror_github/ngx_http_proxy_connect_module/repository/archive/master.zip
再nginx根下面,执行
解压:ngx_http_proxy_connect_module
patch -p1 < /var/www/ngx_http_proxy_connect_module-master/patch/proxy_connect_rewrite_102101.patch

ls -l /var/www/ngx_http_proxy_connect_module-master/patch/

# 配置、编译、安装

./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--add-module=/var/www/ngx_http_proxy_connect_module-master

 

其他插件:

git clone https://github.com/JDarzan/nginx-module-vts.git /var/www/nginx-module-vts

./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--add-module=/var/www/ngx_http_proxy_connect_module-master \
--add-module=/var/www/nginx-module-vts


make -j$(nproc) 编译
sudo make install  安装

 

# 创建软链接,让 nginx 命令指向你编译的新版本
sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx

 

/usr/local/nginx/sbin/nginx -t

默认配置:

cat /usr/local/nginx/conf/nginx.conf

加入其他配置

include /usr/local/nginx/conf.d/*.conf;

 

设置开机启动:


cat > /etc/systemd/system/nginx.service <<-'EOF'
[Unit]
Description=Nginx compiled source with proxy_connect module
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -q
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
TimeoutStopSec=8
KillMode=mixed
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable --now nginx
systemctl status nginx

 

离线:

# 编译阶段
./configure \
--prefix=/usr/local/nginx \
--with-pcre=../pcre-xxx \
--with-zlib=../zlib-xxx \
--with-openssl=../openssl-xxx \
--with-http_ssl_module

make
# 重点:不是 make install(会直接写到本机/usr/local/nginx)
# DESTDIR 指定输出根目录,所有文件输出到临时目录,不污染编译机器
make DESTDIR=./_nginx_out install

# 打包这个目录
tar -zcvf nginx-1.30.4-static-offline.tar.gz -C ./_nginx_out usr/local/nginx

 

直接目标机器用

tar -zxvf nginx-1.30.4-static-offline.tar.gz -C /

# 解压后文件直接落到

/usr/local/nginx /usr/local/nginx/sbin/nginx -V

 

posted @ 2026-09-08 17:53  Supper_litt  阅读(4)  评论(0)    收藏  举报