从Nginx切换到Tengine的步骤分享

 更新时间:2012年11月13日 11:46:52   作者:  
由淘宝网发起的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

相关文章

  • 分享Nginx下10个安全问题提示

    分享Nginx下10个安全问题提示

    Nginx是当今最流行的Web服务器之一。它为世界上7%的web流量提供服务而且正在以惊人的速度增长。它是个让人惊奇的服务器,我愿意部署它
    2014-04-04
  • Nginx实现Nacos反向代理的项目实践

    Nginx实现Nacos反向代理的项目实践

    在日常的web网站部署中,经常会用到nginx反向代理,本文主要介绍了Nginx实现Nacos反向代理的项目实践,Nginx实现Nacos反向代理的项目实践
    2022-03-03
  • Mac环境Nginx配置和访问本地静态资源的实现

    Mac环境Nginx配置和访问本地静态资源的实现

    这篇文章主要介绍了Mac环境Nginx配置和访问本地静态资源的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 前端加载访问速度优化详细指南(Nginx)

    前端加载访问速度优化详细指南(Nginx)

    在前端开发中,优化页面加载速度成为了开发者的一项重要任务,下面这篇文章主要给大家介绍了关于前端加载访问速度优化(Nginx)的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-06-06
  • Nginx进程杀不完的解决方法

    Nginx进程杀不完的解决方法

    这篇文章主要给大家介绍了Nginx进程杀不完的解决方法,文中通过图文结合的方式给大家介绍的非常详细,对大家的学习或工作有一定的帮助,,需要的朋友可以参考下
    2023-12-12
  • Nginx 只允许 www 域名访问并禁止裸域名访问的实现步骤

    Nginx 只允许 www 域名访问并禁止裸域名访问的实现步骤

    通过Nginx配置,可以设定仅允许www域名访问,禁止或重定向裸域名,提升网站品牌统一性及用户体验,设置包括创建针对www的虚拟主机,禁止裸域名访问,并可选进行裸域名到www的301重定向,完成后,重启Nginx服务器使配置生效
    2024-10-10
  • 教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤

    教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤

    这篇文章主要介绍了利用 Nginx 服务搭建子域环境提升二维地图加载性能,本文分步骤通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2021-09-09
  • Nginx中autoindex的具体使用

    Nginx中autoindex的具体使用

    autoindex是Nginx配置的一个指令,它可以控制Nginx是否允许在浏览器中显示一个目录的内容,本文主要介绍了Nginx中autoindex的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • 详解nginx+php执行请求的工作原理

    详解nginx+php执行请求的工作原理

    这篇文章主要介绍了详解nginx+php执行请求的工作原理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Nginx服务器限制IP访问的各种情况全解析

    Nginx服务器限制IP访问的各种情况全解析

    这篇文章主要介绍了Nginx服务器限制IP访问的各种情况全解析,包括限制同一IP在一段时间内的访问次数和全局限IP访问以及限制IP访问指定目录等情况,需要的朋友可以参考下
    2015-08-08

最新评论