docker run -d --name tengine --hostname tengine --restart=always -e TZ='Asia/Shanghai' --ulimit nofile=262144:262144 -v /data/site/docker/env/nginx/tengine/tengine.conf:/etc/nginx/nginx.conf:ro -v /data/site/docker/env/nginx/tengine/conf.d/:/etc/nginx/conf.d/:ro -v /data/file/logs/tengine:/var/log/nginx -v /data/site:/data/site -v /data/file:/data/file --link mariadb --link php74 app:tengine
docker exec -it tengine /bin/sh
apk update && apk add --upgrade flex
apk update && apk add --upgrade bison
cd /data/site/docker/env/nginx/tengine/soft/ngx_waf/ && make
git clone https://github.com/libinjection/libinjection.git inc/libinjection
mkdir -p /usr/local/src
cd /usr/local/src
git clone https://github.com/troydhanson/uthash.git && export LIB_UTHASH=/usr/local/src/uthash
apk update && apk add libsodium libsodium-dev
cd /data/site/docker/env/nginx/tengine/soft/tengine-3.1.0
git clone https://github.com/jedisct1/libsodium.git --branch stable libsodium-src \
&& cd libsodium-src \
&& ./configure --prefix=/data/site/docker/env/nginx/tengine/soft/tengine-3.1.0/libsodium --with-pic \
&& make -j$(nproc) && make check -j $(nproc) && make install \
&& export LIB_SODIUM=/data/site/docker/env/nginx/tengine/soft/tengine-3.1.0/libsodium
cd ../
apk update && apk add openssl-dev
./configure --add-dynamic-module=/data/site/docker/env/nginx/tengine/soft/ngx_waf --with-compat
sed -i 's/^\(CFLAGS.*\)/\1 -fstack-protector-strong -Wno-sign-compare/' objs/Makefile
make modules
cp objs/*.so /usr/local/nginx/modules
-最后在 nginx 的配置文件顶部添加一行
load_module "/usr/local/nginx/modules/ngx_http_waf_module.so";
cd /data/site/docker/env/nginx/tengine/soft/tengine-3.1.0
nginx -V
---编译前
--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=/var/run/nginx.pid --lock-path=/var/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-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-threads --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-stream_realip_module --with-stream_geoip_module=dynamic --with-stream_sni --with-http_slice_module --with-mail --with-mail_ssl_module --with-compat --with-file-aio --with-http_v2_module --add-module=modules/ngx_http_upstream_check_module --add-module=modules/headers-more-nginx-module-0.36 --add-module=modules/ngx_http_upstream_session_sticky_module
./configure --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=/var/run/nginx.pid --lock-path=/var/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-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-threads --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-stream_realip_module --with-stream_geoip_module=dynamic --with-stream_sni --with-http_slice_module --with-mail --with-mail_ssl_module --with-compat --with-file-aio --with-http_v2_module --add-module=modules/ngx_http_upstream_check_module --add-module=modules/ngx_http_upstream_session_sticky_module --with-openssl=../soft/openssl-3.2.0 --with-pcre=../soft/pcre-8.45 --add-module=../soft/ngx_http_geoip2_module --with-stream --add-module=../soft/ngx_devel_kit-0.3.3 --add-module=../soft/lua-nginx-module-0.10.25 --add-module=../soft/nginx-upsync --with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib"
docker commit -m="update" -a="htmltoo.com" tengine hub.htmltoo.com:5000/http:tengine
docker push hub.htmltoo.com:5000/http:tengine