MacPorts 安装 Tengine

ops/2024/12/20 14:25:35/

Portfile_0">创建 Portfile

以下是我参考 nginx 调整后的 Portfile,如需安装指定版本,除了修改版本号之外还需要修改 checksums 里的 sha256

sha256 值需下载 Tengine 源码文件(tar.gz)进行计算

模块的调整在最后的 configure.args-append 部分,参考 https://tengine.taobao.org/document/install.html 和 Nginx 编译参数

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4PortSystem          1.0name                tengine
version             3.1.0
revision            0
categories          www
license             BSD
maintainers         nomaintainerconflicts           nginx nginx-develdescription         A high performance web server based on Nginx
long_description    Tengine is a web server originated by Taobao, \compatible with Nginx, with additional features.homepage            http://tengine.taobao.org
master_sites        http://tengine.taobao.org/downloaddistname            ${name}-${version}
checksums           sha256 64ed7155c0c904ce0fe7199c21b8eb6c2abfc267278fa8af832c0cb781e864dcdepends_lib         port:pcre \port:openssl \port:zlibset nginx_share     ${prefix}/share/${name}
set nginx_examples  ${nginx_share}/examples
set nginx_confdir   ${prefix}/etc/${name}
set nginx_logdir    ${prefix}/var/log/${name}
set nginx_rundir    ${prefix}/var/run/${name}
set nginx_pidfile   ${nginx_rundir}/${name}.pid
set nginx_all_confs {fastcgi.conf fastcgi_params mime.types nginx.conf scgi_params uwsgi_params}
set auto_activate_confs {nginx.conf mime.types fastcgi.conf}configure.args-append \--with-cc-opt=\"${configure.cppflags} ${configure.cflags}\" \--with-ld-opt=\"${configure.ldflags}\" \--conf-path=${nginx_confdir}/nginx.conf \--error-log-path=${nginx_logdir}/error.log \--http-log-path=${nginx_logdir}/access.log \--pid-path=${nginx_pidfile} \--lock-path=${nginx_rundir}/${name}.lock \--http-client-body-temp-path=${nginx_rundir}/client_body_temp \--http-proxy-temp-path=${nginx_rundir}/proxy_temp \--http-fastcgi-temp-path=${nginx_rundir}/fastcgi_temp \--http-uwsgi-temp-path=${nginx_rundir}/uwsgi_temp \--http-scgi-temp-path=${nginx_rundir}/scgi_temp \--with-compat# pcre2 breaks the lua module (https://trac.macports.org/ticket/65150)
configure.args-append             --without-pcre2# remove --disable-dependency-tracking
configure.universal_args-delete   --disable-dependency-trackingbuild.target        build
destroot.keepdirs   ${destroot}${nginx_logdir} \${destroot}${nginx_rundir}post-destroot {xinstall -d -m 755 ${destroot}${nginx_share}xinstall -d -m 755 ${destroot}${nginx_examples}foreach conf ${nginx_all_confs} {set conf_path "${destroot}${nginx_confdir}/${conf}"if {[file exists ${conf_path}]} {file delete ${conf_path}}if {[file exists ${conf_path}.default]} {move ${conf_path}.default ${destroot}${nginx_examples}}}file rename ${destroot}${prefix}/html ${destroot}${nginx_share}# Install the manpageset man_path "${destroot}${prefix}/share/man/man8"xinstall -d -m 0755 ${man_path}xinstall    -m 0644 ${worksrcpath}/man/nginx.8 ${man_path}reinplace -q "s|/var/run/mytengine.pid|${nginx_pidfile}/|g" ${man_path}/nginx.8
}post-activate {foreach conf ${auto_activate_confs} {if {![file exists ${nginx_confdir}/${conf}]} {xinstall -m 644 ${nginx_examples}/${conf}.default ${nginx_confdir}/${conf}}}
}startupitem.create      yes
startupitem.pidfile     auto ${nginx_pidfile}
startupitem.executable  ${prefix}/sbin/nginx -g "daemon off;"notes "\A set of sample configuration files has been installed in ${nginx_examples}.\n\n\Additionally, the files [join ${auto_activate_confs} ", "] have been copied to ${nginx_confdir} if they didn't exist yet.\n\Adjust these files to your needs before starting Tengine."configure.args-append       --prefix=${prefix} \--with-http_ssl_module \--with-http_v2_module \--with-http_realip_module \--with-http_addition_module \--with-http_xslt_module \--with-http_geoip_module \--with-http_flv_module \--with-http_mp4_module \--with-http_gunzip_module \--with-http_gzip_static_module \--with-http_auth_request_module \--with-pcre \--with-threads \--with-stream \--with-stream_ssl_module \--with-stream_realip_module \--with-stream_geoip_module \--with-stream_ssl_preread_modulelivecheck.type      regexm
livecheck.url       ${homepage}/en/download.html

将文件保存至 ~/Ports/www/tengine/Portfile

添加自定义源

编辑 /opt/local/etc/macports/sources.conf,在最下方加上一行:

# 默认
rsync://rsync.macports.org/macports/release/tarballs/ports.tar.gz [default]
# 增加该行,注意替换用户名
file:///Users/用户名/Ports

运行 sudo portindex ~/Ports 加入索引

安装

运行 port info tengine 可以查看到信息后就能通过 install 安装了:

sudo port install tengine

配置

配置文件目录:/opt/local/etc/tengine,同样的修改 nginx.conf 文件即可

日志文件目录:/opt/local/var/log/tengine,建议修改文件夹权限方便通过编辑器查看日志:

sudo chown _www:admin /opt/local/var/log/tengine

运行目录:/opt/local/var/run/tengine

启停

sudo port load tengine
sudo port unload tengine

http://www.ppmy.cn/ops/143511.html

相关文章

美国DARPA电子复兴计划总结

DARPA电子复兴计划 DARPA即美国国防高级研究计划局,成立于1958年2月7日,最初叫高级研究计划局(ARPA),1972年3月更名为DARPA,1993年2月又改回ARPA,1996年3月再次恢复为DARPA. 其使命是“为国家安…

C语言编程1.26判断八进制数字字符

C语言标准函数库中包括 isdigit 函数,用于判断十进制数字字符。我们来编写一个判断八进制数字字符的函数。 函数接口定义: int IsOctDigit(char x);说明:参数 x 是字符的 ASCII 码。若 x 是八进制数字字符的 ASCII 码,则函数值为…

【Maven】基础(一)

【Maven】基础一 1. 虽然工作有段时间了,但是深感maven了解的不深入,所以这次开始深入的学习。 课程地址: https://www.bilibili.com/video/BV1JN411G7gX?spm_id_from333.788.player.switch&vd_source240d9002f7c7e3da63cd9a975639409a&p2 1.…

Mybatis——(2)

2.2 Mybatis 工具类(了解) 为了简化MyBatis的开发,可将MyBatis进一步封装。 import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apa…

laya游戏引擎中打包之后图片模糊

如下图正常运行没问题,打包之后却模糊 纹理类型中的默认类型都是精灵纹理,改为默认值即可。注意:要点击“应用”才可有效。精灵纹理类型会对图片进行渲染处理,而默认值 平面类型不会处理图片。

算法-字典树

模板 class TrieNode {boolean isEnd; // 是否为单词末尾TrieNode[] next; // 孩子节点数组public TrieNode() {this.isEnd false;this.next new TrieNode[26];} }class Trie {TrieNode root; // 虚拟头节点public Trie() {root new TrieNode();}public void insert(String…

PaddlePaddle推理模型利用Paddle2ONNX转换成onnx模型

训练paddleocr模型,可以按照如下教程或者直接百度其他的 PaddleOCR训练自己的数据集(中英文)(全套)和C#部署(半套)_c# paddleocr-CSDN博客 将训练后的模型转换成推理模型 -c后面是你配置的de…

1157:哥德巴赫猜想

为了弥补我过往的错误&#xff01;我决定上吊&#xff01;啊不不不&#xff0c;是割脉&#xff01;啊说错了 再更一期&#xff01;请原谅我&#xff01; 来一个函数吧&#xff01; 1157&#xff1a;哥德巴赫猜想 #include<iostream> #include<cstdio> #include&…