天天看點

LNMP環境添加第三方子產品

一.在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 &amp;&amp; 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 &amp;&amp; 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 &amp;&amp; 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,如需轉載請自行聯系原作者