tengine二进制

简介: 详细

1.基础依赖包安装

install -y wget gcc pcre-devel perl libpcre3-dev zlib1g.dev

2.最新版本源代码的下载

mkdir -p /Users/bot/data/src

cd /Users/bot/data/src

wget https://ftp.openssl.org/source/openssl-1.1.1k.tar.gz

tar -xzf openssl-*.tar.gz

wget https://tengine.taobao.org/download/tengine-2.3.3.tar.gz

tar -xzf tengine-*.tar.gz

cd /Users/bot/data/src/tengine-2.3.3

3.编译

./configure --prefix=/data/nginx --with-http_ssl_module --with-openssl=/data/src/openssl-1.1.1k --user=nginx --group=nginx --add-module=modules/ngx_http_upstream_session_sticky_module


安装

make && make install


# 添加相应用户

useradd nginx -M -s /sbin/nologin

chown -R nginx:nginx /data/nginx


# 配置端口绑定能力,否则绑定低于1024的端口号时会报权限错误

setcap cap_net_bind_service=+eip /data/nginx/sbin/nginx


#编译配置信息,相关目录后面配置可能会用到

Configuration summary

 + using system PCRE library

 + using OpenSSL library: /data/src/openssl-1.1.1k

 + using system zlib library

 + jemalloc library is disabled


 nginx path prefix: "/data/nginx"

 nginx binary file: "/data/nginx/sbin/nginx"

 nginx modules path: "/data/nginx/modules"

 nginx configuration prefix: "/data/nginx/conf"

 nginx configuration file: "/data/nginx/conf/nginx.conf"

 nginx pid file: "/data/nginx/logs/nginx.pid"

 nginx error log file: "/data/nginx/logs/error.log"

 nginx http access log file: "/data/nginx/logs/access.log"

 nginx http client request body temporary files: "client_body_temp"

 nginx http proxy temporary files: "proxy_temp"

 nginx http fastcgi temporary files: "fastcgi_temp"

 nginx http uwsgi temporary files: "uwsgi_temp"

 nginx http scgi temporary files: "scgi_temp"


5.编写服务启动文件

vi /usr/lib/systemd/system/nginx.service

[Unit]

Description=The nginx HTTP and reverse proxy server

After=network.target


[Service]

Type=forking

User=nginx

Group=nginx

PIDFile=/data/nginx/logs/nginx.pid

ExecStartPre=/usr/bin/rm -f /data/nginx/logs/nginx.pid

ExecStartPre=/data/nginx/sbin/nginx -t

ExecStart=/data/nginx/sbin/nginx -c /data/nginx/conf/nginx.conf

ExecReload=/bin/kill -s HUP $MAINPID

KillSignal=SIGQUIT

TimeoutStopSec=5

KillMode=process

PrivateTmp=true


[Install]

WantedBy=multi-user.target


# 重启systemd守护进程

systemctl daemon-reload


# 启动tengine服务

systemctl start nginx

systemctl status nginx


systemctl enable nginx



6.编译参数说明

./configure --help


 --help                             print this message


 --prefix=PATH                      set installation prefix

 --sbin-path=PATH                   set nginx binary pathname

 --modules-path=PATH                set modules path

 --conf-path=PATH                   set nginx.conf pathname

 --error-log-path=PATH              set error log pathname

 --pid-path=PATH                    set nginx.pid pathname

 --lock-path=PATH                   set nginx.lock pathname


 --user=USER                        set non-privileged user for

                                    worker processes

 --group=GROUP                      set non-privileged group for

                                    worker processes


 --build=NAME                       set build name

 --builddir=DIR                     set build directory


 --with-select_module               enable select module

 --without-select_module            disable select module

 --with-poll_module                 enable poll module

 --without-poll_module              disable poll module


 --without-procs                    disable procs module


 --with-threads                     enable thread pool support


 --with-file-aio                    enable file AIO support


 --with-http_ssl_module             enable ngx_http_ssl_module

 --with-http_v2_module              enable ngx_http_v2_module

 --with-http_realip_module          enable ngx_http_realip_module

 --with-http_addition_module        enable ngx_http_addition_module

 --with-http_xslt_module            enable ngx_http_xslt_module

 --with-http_xslt_module=dynamic    enable dynamic ngx_http_xslt_module

 --with-http_image_filter_module    enable ngx_http_image_filter_module

 --with-http_image_filter_module=dynamic

                                    enable dynamic ngx_http_image_filter_module

 --with-http_geoip_module           enable ngx_http_geoip_module

 --with-http_geoip_module=dynamic   enable dynamic ngx_http_geoip_module

 --with-http_sub_module             enable ngx_http_sub_module

 --with-http_dav_module             enable ngx_http_dav_module

 --with-http_flv_module             enable ngx_http_flv_module

 --with-http_mp4_module             enable ngx_http_mp4_module

 --with-http_gunzip_module          enable ngx_http_gunzip_module

 --with-http_gzip_static_module     enable ngx_http_gzip_static_module

 --with-http_auth_request_module    enable ngx_http_auth_request_module

 --with-http_random_index_module    enable ngx_http_random_index_module

 --with-http_secure_link_module     enable ngx_http_secure_link_module

 --with-http_degradation_module     enable ngx_http_degradation_module

 --with-http_slice_module           enable ngx_http_slice_module

 --with-http_stub_status_module     enable ngx_http_stub_status_module


 --without-http_charset_module      disable ngx_http_charset_module

 --without-http_gzip_module         disable ngx_http_gzip_module

 --without-http_ssi_module          disable ngx_http_ssi_module

 --without-http_ssl_module          disable ngx_http_ssl_module

 --without-http_userid_module       disable ngx_http_userid_module

 --without-http_access_module       disable ngx_http_access_module

 --without-http_auth_basic_module   disable ngx_http_auth_basic_module

 --without-http_mirror_module       disable ngx_http_mirror_module

 --without-http_autoindex_module    disable ngx_http_autoindex_module

 --without-http_geo_module          disable ngx_http_geo_module

 --without-http_map_module          disable ngx_http_map_module

 --without-http_split_clients_module disable ngx_http_split_clients_module

 --without-http_referer_module      disable ngx_http_referer_module

 --without-http_rewrite_module      disable ngx_http_rewrite_module

 --without-http_proxy_module        disable ngx_http_proxy_module

 --without-http_fastcgi_module      disable ngx_http_fastcgi_module

 --without-http_uwsgi_module        disable ngx_http_uwsgi_module

 --without-http_scgi_module         disable ngx_http_scgi_module

 --without-http_grpc_module         disable ngx_http_grpc_module

 --without-http_memcached_module    disable ngx_http_memcached_module

 --without-http_limit_conn_module   disable ngx_http_limit_conn_module

 --without-http_limit_req_module    disable ngx_http_limit_req_module

 --without-http_empty_gif_module    disable ngx_http_empty_gif_module

 --without-http_browser_module      disable ngx_http_browser_module

 --without-http_stub_status_module  disable ngx_http_stub_status_module

 --without-http_upstream_hash_module

                                    disable ngx_http_upstream_hash_module

 --without-http_upstream_ip_hash_module

                                    disable ngx_http_upstream_ip_hash_module

 --without-http_upstream_least_conn_module

                                    disable ngx_http_upstream_least_conn_module

 --without-http_upstream_random_module

                                    disable ngx_http_upstream_random_module

 --without-http_upstream_keepalive_module

                                    disable ngx_http_upstream_keepalive_module

 --without-http_upstream_zone_module

                                    disable ngx_http_upstream_zone_module


 --with-http_perl_module            enable ngx_http_perl_module

 --with-http_perl_module=dynamic    enable dynamic ngx_http_perl_module

 --with-perl_modules_path=PATH      set Perl modules path

 --with-perl=PATH                   set perl binary pathname


 --without-http-upstream-rbtree     disable using rbtree for upstream lookup


 --with-http_lua_module             enable ngx_http_lua_module (will also enable --with-md5 and --with-sha1)

 --with-luajit-inc=PATH             set LuaJIT headers path (where lua.h/lauxlib.h/... are located)

 --with-luajit-lib=PATH             set LuaJIT library path (where libluajit-5.1.{a,so} are located)

 --with-lua-inc=PATH                set Lua headers path (where lua.h/lauxlib.h/... are located)

 --with-lua-lib=PATH                set Lua library path (where liblua.{a,so} are located, only support Lua-5.1.x)

 --http-log-path=PATH               set http access log pathname

 --http-client-body-temp-path=PATH  set path to store

                                    http client request body temporary files

 --http-proxy-temp-path=PATH        set path to store

                                    http proxy temporary files

 --http-fastcgi-temp-path=PATH      set path to store

                                    http fastcgi temporary files

 --http-uwsgi-temp-path=PATH        set path to store

                                    http uwsgi temporary files

 --http-scgi-temp-path=PATH         set path to store

                                    http scgi temporary files


 --without-http                     disable HTTP server

 --without-http-cache               disable HTTP cache


 --with-mail                        enable POP3/IMAP4/SMTP proxy module

 --with-mail=dynamic                enable dynamic POP3/IMAP4/SMTP proxy module

 --with-mail_ssl_module             enable ngx_mail_ssl_module

 --without-mail_pop3_module         disable ngx_mail_pop3_module

 --without-mail_imap_module         disable ngx_mail_imap_module

 --without-mail_smtp_module         disable ngx_mail_smtp_module


 --with-stream                      enable TCP/UDP proxy module

 --with-stream=dynamic              enable dynamic TCP/UDP proxy module

 --with-stream_ssl_module           enable ngx_stream_ssl_module

 --with-stream_realip_module        enable ngx_stream_realip_module

 --with-stream_geoip_module         enable ngx_stream_geoip_module

 --with-stream_geoip_module=dynamic enable dynamic ngx_stream_geoip_module

 --with-stream_ssl_preread_module   enable ngx_stream_ssl_preread_module

 --with-stream_sni                  enable dynamic server block

 --without-stream_limit_conn_module disable ngx_stream_limit_conn_module

 --without-stream_access_module     disable ngx_stream_access_module

 --without-stream_geo_module        disable ngx_stream_geo_module

 --without-stream_map_module        disable ngx_stream_map_module

 --without-stream_split_clients_module

                                    disable ngx_stream_split_clients_module

 --without-stream_return_module     disable ngx_stream_return_module

 --without-stream_upstream_hash_module

                                    disable ngx_stream_upstream_hash_module

 --without-stream_upstream_least_conn_module

                                    disable ngx_stream_upstream_least_conn_module

 --without-stream_upstream_random_module

                                    disable ngx_stream_upstream_random_module

 --without-stream_upstream_zone_module

                                    disable ngx_stream_upstream_zone_module


 --with-google_perftools_module     enable ngx_google_perftools_module

 --with-cpp_test_module             enable ngx_cpp_test_module


 --add-module=PATH                  enable external module

 --add-dynamic-module=PATH          enable dynamic external module


 --with-compat                      dynamic modules compatibility


 --with-cc=PATH                     set C compiler pathname

 --with-cpp=PATH                    set C preprocessor pathname

 --with-cc-opt=OPTIONS              set additional C compiler options

 --with-ld-opt=OPTIONS              set additional linker options

 --with-cpu-opt=CPU                 build for the specified CPU, valid values:

                                    pentium, pentiumpro, pentium3, pentium4,

                                    athlon, opteron, sparc32, sparc64, ppc64


 --without-pcre                     disable PCRE library usage

 --with-pcre                        force PCRE library usage

 --with-pcre=DIR                    set path to PCRE library sources

 --with-pcre-opt=OPTIONS            set additional build options for PCRE

 --with-pcre-jit                    build PCRE with JIT compilation support


 --with-zlib=DIR                    set path to zlib library sources

 --with-zlib-opt=OPTIONS            set additional build options for zlib

 --with-zlib-asm=CPU                use zlib assembler sources optimized

                                    for the specified CPU, valid values:

                                    pentium, pentiumpro


 --with-libatomic                   force libatomic_ops library usage

 --with-libatomic=DIR               set path to libatomic_ops library sources


 --with-jemalloc                    force jemalloc library usage

 --with-jemalloc=DIR                set path to jemalloc library files


 --with-openssl=DIR                 set path to OpenSSL library sources

 --with-openssl-opt=OPTIONS         set additional build options for OpenSSL


 --with-debug                       enable debug logging

相关文章
|
1月前
|
tengine 应用服务中间件 nginx
Tengine命令安装教程
该内容提供了一套详细的步骤指南,用于通过 FinalShell 远程连接并安装 Tengine 服务器。从下载与配置 Tengine,到使用 yum 安装必要的组件,再到编译、安装及配置 Nginx,以及如何处理 HTTPS 部署和证书设置,最后涵盖了基本的站点程序控制命令。此外,还提供了隐藏版本号的方法及文本编辑技巧。
|
5月前
|
tengine 应用服务中间件 nginx
既然Tengine比Nginx更强大,为什么Tengine没有取代Nginx呢?
既然Tengine比Nginx更强大,为什么Tengine没有取代Nginx呢?
219 0
|
6月前
|
tengine 应用服务中间件 nginx
Tengine有没有非开源的支持nginx的steam quic协议?
【1月更文挑战第15天】【1月更文挑战第75篇】Tengine有没有非开源的支持nginx的steam quic协议?
96 10
|
tengine 应用服务中间件 nginx
|
tengine 安全 应用服务中间件
源码安装----Tengine(nginx的进阶版)
源码安装----Tengine(nginx的进阶版)
330 1
|
存储 缓存 tengine
史上最全-Nginx和Tengine安装部署
Nginx介绍 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
471 0
史上最全-Nginx和Tengine安装部署
|
Web App开发 tengine 监控
|
tengine 应用服务中间件 PHP
Tengine 详细安装与配置
Tengine和nginx差不多,方便实用
|
tengine 运维 负载均衡
Tengine-Ngnix高级版
Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。 从2011年12月开始,Tengine成为一个开源项目,Tengine团队在积极地开发和维护着它。Tengine团队的核心成员来自于淘宝、搜狗等互联网企业。Tengine是社区合作的成果,我们欢迎大家参与其中,贡献自己的力量。
398 0
|
tengine JavaScript 安全
WebAssembly初探以及在Tengine中的应用
# 0x01 前言 `WebAssembly`本质是一种二进制指令格式(Binary Instruction Format),即是一种编译目标,该技术成功地使得浏览器有办法将沉重且耗时的JS代码变成了拥有Native性能的二进制,毋庸置疑,它是成功的。 ![1*g09zv9WuuH00KfVisRPAOg.png](https://ata2-img.cn-hangzhou.oss-pu
8661 1