---恢復內容開始---據說淘寶的Tengine很牛X,所以我們今天也來玩玩,我們這裡是某開放雲的vps,現在已經安裝好了nginx,現在我們要平滑切換到安裝Tengine。下載Tengine,解壓進入文件夾:wget http://tengine.taobao.org/download/tengi...
---恢復內容開始---
據說淘寶的Tengine很牛X,所以我們今天也來玩玩,我們這裡是某開放雲的vps,現在已經安裝好了nginx,現在我們要平滑切換到安裝Tengine。
-
下載Tengine,解壓進入文件夾:
wget http://tengine.taobao.org/download/tengine-2.1.0.tar.gz
tar xvfz tengine-2.1.0.tar.gz
cd tengine-2.1.0
-
查看一下當前的nginx版本:
nginx -V
運行結果如下:
nginx version: nginx/1.6.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
TLS SNI support enabled
configure arguments: –prefix=/etc/nginx –sbin-path=/usr/sbin/nginx –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –pid-path=/var/run/nginx.pid –lock-path=/var/run/nginx.lock –http-client-body-temp-path=/var/cache/nginx/client_temp –http-proxy-temp-path=/var/cache/nginx/proxy_temp –http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp –http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp –http-scgi-temp-path=/var/cache/nginx/scgi_temp –user=nginx –group=nginx –with-http_ssl_module –with-http_realip_module –with-http_addition_module –with-http_sub_module –with-http_dav_module –with-http_flv_module –with-http_mp4_module –with-http_gunzip_module –with-http_gzip_static_module –with-http_random_index_module –with-http_secure_link_module –with-http_stub_status_module –with-http_auth_request_module –with-mail –with-mail_ssl_module –with-file-aio –with-ipv6 –with-http_spdy_module –with-cc-opt=’-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables’
然後我們複製一下下麵的編譯參數 configure arguments:開始一直到最後。
-
開始編譯Tengine,運行代碼:
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_spdy_module --with-cc-opt='-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables'
結果錯誤,如下圖所示:
./configure: error: C compiler cc is not found
主要是我們系統裡面沒有C語言,現在補上gcc編譯環境:
yum install gcc
重新運行編譯命令,依然報錯:
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using –without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using –with-pcre=<path> option.
缺少pcre,安裝pcre:
yum install pcre-devel
再次編譯,結果如下圖,缺少openssl:
./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using –with-openssl=<path> option.
安裝openssl:
yum -y install openssl openssl-devel
再次編譯成功,返回:
Configuration summary
+ using system PCRE library
+ using system OpenSSL library
+ md5: using OpenSSL library
+ sha1: using OpenSSL library
+ using system zlib library
+ jemalloc library is disablednginx path prefix: “/etc/nginx”
nginx binary file: “/usr/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/cache/nginx/client_temp”
nginx dso module path: “/etc/nginx/modules/”
nginx http proxy temporary files: “/var/cache/nginx/proxy_temp”
nginx http fastcgi temporary files: “/var/cache/nginx/fastcgi_temp”
nginx http uwsgi temporary files: “/var/cache/nginx/uwsgi_temp”
nginx http scgi temporary files: “/var/cache/nginx/scgi_temp”
MAKE,命令行里直接打make就行了,如下圖:
make
make成功,則如下圖所示:
-
nginx停止運行:
/etc/init.d/nginx stop
-
遷移文件:
複製objs目錄下的nginx文件到/usr/sbin/nginx目錄,覆蓋前記得備份原來文件:
cp /usr/sbin/nginx /usr/sbin/nginx.bak
cp objs/nginx /usr/sbin/
-
測試一下nginx:
nginx -t
the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
-
啟動nginx服務:
service nginx start
Starting nginx: [ OK ]
測試Tengine 是否成功:
我們這裡輸入一個不存在的頁面看看報錯就知道了,如下圖所示:
Tegine 是相容nginx配置文件的,所以我們原先配置好的東西就不用再麻煩去修改啦。
---恢復內容結束---