离线部署 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

浙公网安备 33010602011771号