Debian8中安装Nginx1.6.2并平滑升级到Tengine2.12遥感中平滑的定义

同样是4vCPU16GB内存的通用型实例,M5xlarge按需价格0 FreeBSDDebian等你会发现常用软件包和之前使用的安装,安装或源码编译安装,那样你能理解这些服务之间的工作流程, 31001062121el7x86_64 #1 SMP Tue Feb 4 230259 UTC,提供Nginx,Tengine,OpenResty,Apache和ngx_lua_waf提供多个 JDK16自己的需要安装PHP Cache Accelerator提供了,2021年8月5日 在Debian下面通过 aptget 可以自动安装 nginx,不过版本一般比较老,如果想要使用nginx的最新特性就需要升级版本 一般安装可以通过编绎源文件安装,但可能需要安,2012年11月13日 从Nginx切换到Tengine主要是因为 concat 模块合并jscss,以及动态加载模块功能DSO 如果已经用aptget方式安装了Nginx,可以尝试以下步骤以切换到Tengine

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

一、查看nginx版本

nginx -v
nginx: nginx version: nginx/1.6.2

二、查看apt-get安装的编译参数

root@Debian:~# nginx -V
nginx version: nginx/1.6.2
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' --with-ld-opt=-Wl,-z,relro --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_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_spdy_module --with-http_sub_module --with-http_xslt_module --with-mail --with-mail_ssl_module --add-module=/build/nginx-1.6.2/debian/modules/nginx-auth-pam --add-module=/build/nginx-1.6.2/debian/modules/nginx-dav-ext-module --add-module=/build/nginx-1.6.2/debian/modules/nginx-echo --add-module=/build/nginx-1.6.2/debian/modules/nginx-upstream-fair --add-module=/build/nginx-1.6.2/debian/modules/ngx_http_substitutions_filter_module

其实后面几个add_module 参数如果不需要,可以去掉的

三、下载相同版本的源码包

为保险起见下载和apt-get安装的Nginx一样的版本的Tengine

Nginx1.6.2对应的Tengine版本是Tengine 2.1.2

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

四、安装必须的组件

apt-get install libpcre3 libpcre3-dev libssl-dev openssl libxslt-dev libgeoip-dev libgd2-noxpm-dev libgd2-xpm-dev make gcc libpam0g-dev

五、开始编译Tengine

./configure --with-cc-opt='''-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2''' --with-ld-opt=-Wl,-z,relro --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_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_spdy_module --with-http_sub_module --with-http_xslt_module --with-mail --with-mail_ssl_module --add-module=./ngx_http_auth_pam_module_master --add-module=./ngx_dav_ext_module_master --add-module=./ngx_echo_module_master --add-module=./ngx_upstream_fair_master --add-module=./ngx_fancyindex_master --add-module=./ngx_http_substitutions_filter_module_master

make

注意

1、一般来说,默认./configure 生成的makefile文件都将带上-g选项,这对于利用gdb调试nginx是非常必要的,但会debug模式会插入很多跟踪和ASSERT之类,造成编译的nginx文件很大。make之前编辑去掉objs/Makefile文件中下面这一行的 -g -g参数可以显著的缩写编译生成的nginx程序的体积。

CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -g

2、不要make install,make install会覆盖安装

六、替换nginx程序

make完之后在objs目录下就多了个nginx,这个就是新版本的程序了

备份旧的nginx程序

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

把新的nginx程序覆盖旧的

service nginx stop

cp objs/nginx /usr/sbin/nginx

测试新的nginx程序是否正确

/usr/sbin/nginx -t

nginx: theconfiguration file /etc/nginx/nginx.conf syntax is ok

nginx:configuration file /etc/nginx/nginx.conf test issuccessful

平滑重启nginx

/usr/sbin/nginx -s reload

/usr/local/nginx/sbin/nginx -v //查看nginx版本号
返回带有Tengine版本号等信息则升级成功!

您可以还会对下面的文章感兴趣:

最新评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。