ubuntu 安装 tengine 和 php-fpm 运行php脚本

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

从2011年12月开始,Tengine成为一个开源项目,Tengine团队在积极地开发和维护着它。Tengine团队的核心成员来自于淘宝、搜狗等互联网企业。Tengine是社区合作的成果,我们欢迎大家参与其中,贡献自己的力量。

Tengine完全兼容Nginx,因此可以参照Nginx的方式来配置Tengine。

下载地址:http://tengine.taobao.org/download_cn.html

截止 2019-04-24 最新版本为 tengine-2.3.0。

tengine 编译安装

wget http://tengine.taobao.org/download/tengine-2.3.0.tar.gz
tar -zxvf tengine-2.3.0
cd tengine-2.3.0
apt update

# 安装gcc编译器 make,众多依赖包
apt install -y gcc g++ make libpcre3 libpcre3-dev openssl libssl-dev zlib1g-dev

# --sbin 指定 tengine 的安装位置为 /usr/sbin/nginx,这样就可以直接指向 nginx [xxx] 指令
./configure --prefix=/etc/nginx/ --sbin-path=/usr/sbin/nginx && make && make install

# 安装完成后查看 tengine 版本
nginx -v

安装php

apt install -y php-fpm

# 安装完成之后查看php版本
php -v

# 查看php已安装的扩展
php -m

到这里还没结束,还要对 nginx(tengine) 和 php 进行配置,才能运行php脚本。

修改PHP的PID监听为端口监听
vim /etc/php/7.2/fpm/pool.d/www.conf

// 大约36行,加上 ; 注释掉
listen = /run/php/php7.2-fpm.sock

// 紧接着下面一行添加 9000 监听端口
listen = 127.0.0.1:9000

// 重启php
php-fpm7.2
修改nginx配置,以支持php解析
vim /etc/nginx/conf/nginx.conf

// 将 server{} 中的 (location /) 和 (location ~ \.php$) 取消注释,并在 (location /) 中 index后添加index.php以指定默认php文件首页,修改后的配置像下面这样

server{
……我是省略号……
        location / {
            root   html;
            index index.php index.html index.htm;
        }
……我是省略号……
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
……我是省略号……
}

// 平滑重启nginx
nginx -s reload

最后,在 /etc/nginx/html/ 目录创建php文件测试一下子吧。

tengine 完美卸载

apt remove nginx nginx-common && apt purge nginx nginx-common && apt autoremove && apt remove nginx-full nginx-common

参考文章: tengine配置虚拟主机的三种方式

Kilvn avatar
关于 Kilvn
Kilvn's true identity is unknown. Maybe he is a successful blogger or writer. Nobody knows it.