Centos7下安装和配置 Tengine
engine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
Tengine,简单的讲就是对nginx进行了二次开发并提供了更丰富的功能,官网地址:http://tengine.taobao.org/,目前最新的稳定版本是2.2.0,我这里也用的这个版本,下载地址:http://tengine.taobao.org/download/tengine-2.2.0.tar.gz。
1、下载
wget http://tengine.taobao.org/download/tengine-2.2.0.tar.gz
2、解压
tar -zxvf tengine-2.2.0.tar.gz cd tengine-2.2.0/
3、在安装之前首先检查一下是否已安装nginx的一些模块依赖的lib库,诸如g++、gcc、pcre-devel、openssl-devel和zlib-devel。所以下面这些命令最好挨个跑一遍,已安装的会提示不用安装,未安装或需要更新的则会执行安装及更新:
yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel --setopt=protected_multilib=false
4、安装完依赖后下面就可以放心开始安装nginx了,输入安装命令并指定安装路径:
./configure --prefix=/usr/local/nginx
看到如下提示信息就说明没有问题:
这里写图片描述
5、最后通过make以及make install进行编译安装:
make && make install
6、安装完成后启动一下,输入启动命令
/usr/local/nginx/sbin/nginx
之后访问80端口看看是否安装成功
7、设置为系统服务
vim /lib/systemd/system/nginx.service 创建文件
[Unit] Description=The nginx HTTP and reverse proxy server After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
chmod 745 nginx.service【 chmod 745 /lib/systemd/system/nginx.service】 systemctl enable nginx.service
完后就可以使用以下命令管理tengine服务器了:
service nginx start
service nginx stop
service nginx restart
systemctl enable nginx.service【开机自启动】
8、让Tengine可以处理PHP:nginx.conf
#隐藏服务器版本号
server_tokens off; server { listen 80; server_name localhost; root /var/www; location / { index index.html index.htm index.php; if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } }
9、开启80端口(其他端口类似,只针对firewall防火墙)
service firewalld start(启动防火墙) firewall-cmd --zone=public --add-port=80/tcp --permanent(开放端口)
命令含义:
–zone #作用域 –add-port=80/tcp #添加端口,格式为:端口/通讯协议 –permanent #永久生效,没有此参数重启后失效
重启防火墙
firewall-cmd --reload【service firewalld restart(重新启动防火墙)】