一.在LNMP環境下添加memcache子產品
1.安裝依賴庫(libevent)
[root@node1 ~]# tar xvf libevent-2.0.21-stable.tar.gz
[root@node1 ~]# cd libevent-2.0.21-stable
[root@node1 libevent-2.0.21-stable]# ./configure --prefix=/usr/local/libevent
[root@node1 libevent-2.0.21-stable]# make
[root@node1 libevent-2.0.21-stable]# make install
[root@node1 libevent-2.0.21-stable]# echo $?
[root@node1 libevent-2.0.21-stable]#
2.安裝memcached服務端
[root@node1 libevent-2.0.21-stable]# cd ..
[root@localhost libevent-1.4.13-stable]# cd ..
[root@node1 ~]# tar xvf memcached-1.4.21.tar.gz
[root@node1 ~]# cd memcached-1.4.20
[root@node1 memcached-1.4.21]# ./configure --prefix=/usr/local/memcached
--with-libevent=/usr/local/libevent/
[root@node1 memcached-1.4.21]# make && make install
[root@node1 memcached-1.4.21]# echo $?
[root@node1 memcached-1.4.21]#
3.安裝memcache用戶端
[root@node1 memcached-1.4.21]# cd ..
[root@node1 ~]# tar xvf memcache-2.2.7.tgz
[root@node1 ~]# cd memcache-2.2.7
[root@node1 memcache-2.2.7]# /usr/local/php-5.4.28/bin/phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
[root@node1 memcache-2.2.7]# ./configure --enable-memcache --with-php-config=/usr/local/php-5.4.28/bin/php-config --with-zlib-dir
[root@node1 memcache-2.2.7]# make && make install
[root@node1 memcache-2.2.7]# vim /usr/local/php-5.4.28/lib/php.ini
[memcache]
extension_dir="/usr/local/php-5.4.28/lib/php/extensions/no-debug-non-zts-20100525/"
extension=memcache.so
[root@node1 memcache-2.2.7]#
4.啟動memcached服務
[root@node1 memcache-2.2.7]# /usr/local/memcached/bin/memcached -d -m 10 -u root -l 192.168.1.105 -p 11211 -c 256 -P /tmp/memcached.pid
[root@node1 memcache-2.2.7]# netstat -antp | grep 11211
tcp 0 0 192.168.1.105:11211 0.0.0.0:* LISTEN 6943/memcached
參數說明:
-d選項是啟動一個守護程序,
-m是配置設定給Memcache使用的記憶體數量,機關是MB,我這裡是10MB,
-u是運作Memcache的使用者,我這裡是root,
-l是監聽的伺服器IP位址,如果有多個位址的話,我這裡指定了伺服器的IP位址202.207.177.177,
-p是設定Memcache監聽的端口,我這裡設定了11211,最好是1024以上的端口,
-c選項是最大運作的并發連接配接數,預設是1024,我這裡設定了256,按照你伺服器的負載量來設定,
-P是設定儲存Memcache的pid檔案,我這裡是儲存在 /tmp/memcached.pid.
5.啟動nginx和php-fpm打開php首頁,檢視是否加載memcache子產品
[root@node1 memcache-2.2.7]# killall nginx
[root@node1 memcache-2.2.7]# killall php-fpm
[root@node1 memcache-2.2.7]# /usr/local/php-5.4.28/sbin/php-fpm
[root@node1 memcache-2.2.7]# /usr/local/nginx-1.6.2/sbin/nginx
[root@node1 memcache-2.2.7]# netstat -antup | grep -E '80|11211|9000'
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 6954/php-fpm
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6958/nginx
udp 0 0 192.168.1.105:11211 0.0.0.0:* 6943/memcached
6.測試面顯示加載的子產品
<a href="http://s3.51cto.com/wyfs02/M01/57/9B/wKiom1Sf8LuwwNV0AAMrQw3tzpE437.jpg" target="_blank"></a>
二.在LNMP環境下添加redis子產品
1.下載下傳安裝phpredis子產品
[root@node1 phpredis-develop]# ./configure --with-php-config=/usr/local/php-5.4.28/bin/php-config --enable-redis
[root@node1 phpredis-develop]# make && make install
[root@node1 phpredis-develop]# echo $?
[root@node1 phpredis-develop]# vim /usr/local/php-5.4.28/lib/php.ini
[redis]
extension=redis.so
[root@node1 phpredis-develop]# killall php-fpm
[root@node1 phpredis-develop]# killall nginx
[root@node1 phpredis-develop]# /usr/local/php-5.4.28/sbin/php-fpm
[root@node1 phpredis-develop]# /usr/local/nginx-1.6.2/sbin/nginx
[root@node1 phpredis-develop]#
2.檢查子產品是否已安裝好
<a href="http://s3.51cto.com/wyfs02/M00/57/99/wKioL1Sf-jyTlw6hAAIJW7TGEAA791.jpg" target="_blank"></a>
三.LNMP環境下安裝mongodb子產品
1.下載下傳安裝mongo子產品
[root@node1 ~]# tar xvf mongo-1.5.8.tgz
[root@node1 ~]# cd mongo-1.5.8
[root@node1 mongo-1.5.8]# /usr/local/php-5.4.28/bin/phpize
[root@node1 mongo-1.5.8]# ./configure --with-php-config=/usr/local/php-5.4.28/bin/php-config
--enable-mongo
[root@node1 mongo-1.5.8]# make && make install
[root@node1 mongo-1.5.8]# vim /usr/local/php-5.4.28/lib/php.ini
[mongo]
extension=mongo.so
[root@node1 mongo-1.5.8]# killall php-fpm
[root@node1 mongo-1.5.8]# killall nginx
[root@node1 mongo-1.5.8]# /usr/local/php-5.4.28/sbin/php-fpm
[root@node1 mongo-1.5.8]# /usr/local/nginx-1.6.2/sbin/nginx
[root@node1 mongo-1.5.8]#
<a href="http://s3.51cto.com/wyfs02/M02/57/99/wKioL1Sf_OPThyxHAALH8aP6Nlw382.jpg" target="_blank"></a>
四.在安裝php時禁用了libiconv子產品,此時需要添加此子產品
1.下載下傳和線上版本對應的php源代碼,在源代碼中找到iconv子產品的路徑進行編譯
[root@node1 ~]# cd php-5.4.28/ext/iconv/
[root@node1 iconv]# /usr/local/php-5.4.28/bin/phpize
[root@node1 iconv]# ./configure --with-php-config=/usr/local/php-5.4.28/bin/php-config
[root@node1 iconv]# make && make install
[root@node1 iconv]# vim /usr/local/php-5.4.28/lib/php.ini
[iconv]
extension=iconv.so
[root@node1 iconv]# killall php-fpm
[root@node1 iconv]# killall nginx
[root@node1 iconv]# /usr/local/php-5.4.28/sbin/php-fpm
[root@node1 iconv]# /usr/local/nginx-1.6.2/sbin/nginx
[root@node1 iconv]#
<a href="http://s3.51cto.com/wyfs02/M00/57/9B/wKiom1SgAtTSSVKIAAKM1PgjfVg645.jpg" target="_blank"></a>
五.對nginx服務添加子產品
[root@node1 ~]# cd /usr/local/nginx-1.6.2/sbin/
[root@node1 sbin]# ./nginx -V --檢視此時nginx安裝的子產品
nginx version: nginx/1.6.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)
configure arguments: --prefix=/usr/local/nginx-1.6.2 --user=nginx --group=nginx --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module
[root@node1 ~]# cd nginx-1.6.2
[root@node1 nginx-1.6.2]# ./configure --prefix=/usr/local/nginx-1.6.2/ --user=nginx --group=nginx --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_sub_module --下載下傳新的源代碼包重新編譯
[root@node1 nginx-1.6.2]# make
[root@node1 nginx-1.6.2]# ll objs/ --編譯和配置後本地目錄會生成objs目錄
total 3004
-rw-r--r--. 1 root root 17760 Dec 29 05:22 autoconf.err
-rw-r--r--. 1 root root 38159 Dec 29 05:22 Makefile
-rwxr-xr-x. 1 root root 2960495 Dec 29 05:23 nginx
-rw-r--r--. 1 root root 5253 Dec 29 05:23 nginx.8
-rw-r--r--. 1 root root 5572 Dec 29 05:22 ngx_auto_config.h
-rw-r--r--. 1 root root 657 Dec 29 05:22 ngx_auto_headers.h
-rw-r--r--. 1 root root 4010 Dec 29 05:22 ngx_modules.c
-rw-r--r--. 1 root root 21204 Dec 29 05:23 ngx_modules.o
drwxr-xr-x. 8 root root 4096 Dec 27 23:34 src
[root@node1 nginx-1.6.2]# mv /usr/local/nginx-1.6.2/sbin/nginx /usr/local/nginx-1.6.2/sbin/nginx.old --配置以前的服務腳本
[root@node1 nginx-1.6.2]# cp -a objs/nginx /usr/local/nginx-1.6.2/sbin/ --将新編譯的腳本放到nginx服務的根目錄
[root@node1 nginx-1.6.2]# /usr/local/nginx-1.6.2/sbin/nginx -V --檢視新編譯後的配置
configure arguments: --prefix=/usr/local/nginx-1.6.2/ --user=nginx --group=nginx --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_sub_module
[root@node1 nginx-1.6.2]#
本文轉自 z597011036 51CTO部落格,原文連結:http://blog.51cto.com/tongcheng/1419093,如需轉載請自行聯系原作者