服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - 从Nginx切换到Tengine的步骤分享

从Nginx切换到Tengine的步骤分享

2019-10-13 15:02Nginx教程网 Nginx

由淘宝网发起的Web服务器 Tengine 可以被看作一个更好的Nginx,或者是Nginx的超集。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性

从Nginx切换到Tengine主要是因为 concat 模块(合并js、css),以及动态加载模块功能(DSO)。 
如果已经用apt-get方式安装了Nginx,可以尝试以下步骤以切换到Tengine(不需要卸载Nginx): 

1. 到官方下载你喜欢的Tengine版本,这里以最新版(1.4.0)为例, 

复制代码代码如下:


wget http://tengine.taobao.org/download/tengine-1.4.0.tar.gz 


2. 解压缩: 

复制代码代码如下:


tar -xvzf tengine-1.4.0.tar.gz 


3. 进入解压出来的文件夹: 

复制代码代码如下:


cd tengine-1.4.0/ 


4. 查看当前Nginx的编译参数: 

复制代码代码如下:


nginx -V 



得到结果如下: 

复制代码代码如下:


nginx: nginx version: nginx/1.0.5 
nginx: TLS SNI support enabled 
nginx: configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-debug --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-echo --add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-upstream-fair 



5. 根据上面第三行的配置编译Tengine,具体做法:从--prefix=/etc/nginx开始复制第三行的代码,然后在--with-debug后面加上--with-http_concat_module(意前后需要有空格),并删掉从--add-module开始的代码(否则会编译不过),完整的编译脚本如下: 

复制代码代码如下:


./configure --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-debug --with-http_concat_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module 



如果编译中出现类似下面的错误,说明编译依赖模块不存在,你可以选择安装或者如果你不需要这个模块的话,从上面的编译脚本中删除后再一次执行编译脚本,直到编译完成: 

复制代码代码如下:

./configure: error: the HTTP XSLT module requires the libxml2/libxslt 
libraries. You can either do not enable the module or install the libraries. 


这里提示XSLT模块不存在,在上面的编译脚本中搜索xslt,找到了--with-http_xslt_module,删除就可以了,同样注意前后的空格。 

成功后提示如下(其中的路径是跟编译脚本有关的,所以可能会略有不同): 

复制代码代码如下:


Configuration summary 
+ using system PCRE library 
+ using system OpenSSL library 
+ md5: using OpenSSL library 
+ sha1: using OpenSSL library 
+ using system zlib library 

nginx path prefix: "/etc/nginx" 
nginx binary file: "/etc/nginx/sbin/nginx" 
nginx configuration prefix: "/etc/nginx" 
nginx configuration file: "/etc/nginx/nginx.conf" 
nginx pid file: "/var/run/nginx.pid" 
nginx error log file: "/var/log/nginx/error.log" 
nginx http access log file: "/var/log/nginx/access.log" 
nginx http client request body temporary files: "/var/lib/nginx/body" 
nginx dso module path: "/etc/nginx/modules" 
nginx http proxy temporary files: "/var/lib/nginx/proxy" 
nginx http fastcgi temporary files: "/var/lib/nginx/fastcgi" 
nginx http uwsgi temporary files: "/var/lib/nginx/uwsgi" 
nginx http scgi temporary files: "/var/lib/nginx/scgi" 



6. 继续编译(make就可以了,不需要make install): 

复制代码代码如下:


make 


7. 到objs目录下编译好的nginx文件: 

复制代码代码如下:

cd objs/ 


8. 停止nginx: 

复制代码代码如下:

service nginx stop



9. 复制objs目录下的nginx文件到/usr/sbin/nginx目录,覆盖前记得备份原来文件: 

复制代码代码如下:

cp /usr/sbin/nginx /usr/sbin/nginx.bak 
cp nginx /usr/sbin/ 


9. 测试nginx是否正常(/user/sbin目录): 

复制代码代码如下:

nginx -t


如果出现syntax is ok,test is successful表示成功: 

复制代码代码如下:

the configuration file /etc/nginx/nginx.conf syntax is ok 
configuration file /etc/nginx/nginx.conf test is successful 


10. 重新启动nginx 

复制代码代码如下:


service nginx start 



访问服务器上一个不存在的页面,查看服务器是否是Tengine 

复制代码代码如下:


403 Forbidden 
You don't have permission to access the URL on this server. Sorry for the inconvenience. 
Please report this message and include the following information to us. 
Thank you very much! 

URL: http://10.20.131.181/doc 
Server: ubuntu-bak 
Date: 2012/10/06 17:54:53 
Powered by Tengine/1.4.0 



注意看最后一行:Powered by Tengine/1.4.0 表示我们已经成功从Nginx切换到了Tengine

延伸 · 阅读

精彩推荐
  • NginxNginx location 和 proxy_pass路径配置问题小结

    Nginx location 和 proxy_pass路径配置问题小结

    本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,进行测试,完全还原了整个测试过程,本文给大家介绍Nginx location 基本配置及相关配...

    自由早晚乱余生18742021-09-24
  • NginxNginx动静分离实现案例代码解析

    Nginx动静分离实现案例代码解析

    这篇文章主要介绍了Nginx动静分离实现案例代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参...

    盗哥泡茶去了3382020-09-27
  • NginxNginx Rewrite使用场景及代码案例详解

    Nginx Rewrite使用场景及代码案例详解

    这篇文章主要介绍了Nginx Rewrite使用场景及代码案例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可...

    盗哥泡茶去了11862020-09-27
  • Nginxnginx ssl免密码重启教程详解

    nginx ssl免密码重启教程详解

    这篇文章给大家介绍了nginx 如何启动以及nginx ssl 免密码重启 的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧 ...

    mrr4272019-11-19
  • Nginxnginx rewrite 伪静态配置参数和使用例子

    nginx rewrite 伪静态配置参数和使用例子

    nginx下伪静态配置参数详细说明,使用nginx的朋友,nginx rewrite 伪静态配置参数和使用例子 附正则使用说明 ...

    服务器之家3102019-10-08
  • Nginx如何优化Nginx的处理性能

    如何优化Nginx的处理性能

    Nginx是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性,在连接高并发的情况下,Nginx是Apache服务不错的替代品。其特点是占有内存少,...

    Dockone.io5142020-12-11
  • Nginx利用nginx和腾讯云免费证书制作https的方法

    利用nginx和腾讯云免费证书制作https的方法

    这篇文章主要介绍了利用nginx和腾讯云免费证书制作https的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    dalaoyang5992019-12-30
  • Nginx通过Nginx规则重写URL去掉index.php不显示index.php

    通过Nginx规则重写URL去掉index.php不显示index.php

    Nginx不仅占用内存少,并发能力强,而且拓展功能丰富,可以通过安装模板来强化功能,也能通过规则优化,优化服务器并发处理能力,是建站的不二之选...

    Genius日记5872020-10-16