centos 下 yum 安裝 nginx 平滑切換安裝到 Tengine

---恢復內容開始---nginx

聽說淘寶的Tengine很牛X,因此咱們今天也來玩玩,咱們這裏是某開放雲的vps,如今已經安裝好了nginx,如今咱們要平滑切換到安裝Tengine。dom

  • 下載Tengine,解壓進入文件夾:

wget http://tengine.taobao.org/download/tengine-2.1.0.tar.gzasync

tar xvfz tengine-2.1.0.tar.gz測試

cd tengine-2.1.0ui

  • 查看一下當前的nginx版本:

nginx -V.net

運行結果以下:命令行

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’code

QQ截圖20150117151633

而後咱們複製一下下面的編譯參數 configure arguments:開始一直到最後。vps

  • 開始編譯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'ip

結果錯誤,以下圖所示:

./configure: error: C compiler cc is not found

QQ截圖20150117152310

主要是咱們系統裏面沒有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.

 

QQ截圖20150117155005

安裝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 disabled

nginx 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

QQ截圖20150117160407

make成功,則以下圖所示:

QQ截圖20150117160303

  • 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  ]

QQ截圖20150117161233

測試Tengine 是否成功:

咱們這裏輸入一個不存在的頁面看看報錯就知道了,以下圖所示:

tengine安裝成功

Tegine 是兼容nginx配置文件的,因此咱們原先配置好的東西就不用再麻煩去修改啦。

---恢復內容結束---

相關文章
相關標籤/搜索