nginx+memcache安装记录

来源:互联网 发布:c 获取网络时间 编辑:程序博客网 时间:2024/05/29 08:13

nginx利用echo-nginx-module+memc-nginx-module直接操作memcache。

安装很简单。只记录命令

安装Nginx所需的pcre库
tar zxvf pcre-7.9.tar.gz
cd pcre-7.9/
./configure
make && make install
cd ../

tar zxvf nginx-0.9.4.tar.gz
cd nginx-0.9.4/
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/soft/memc-nginx-module  --add-module=/soft/echo-nginx-module
#如果没有安装pcre请加 --without-http_rewrite_module装上两个module但在conf中无法使用set。memc-nginx-module需要set。pcre一定要装
make -j2 && make install
cd ../
创建Nginx日志目录
mkdir -p /data/data1/logs
chmod +w /data/data1/logs
chown -R www:www /data/data1/logs
#cp nginx.conf /usr/local/nginx/conf/nginx.conf
vim /usr/local/nginx/conf/nginx.conf
user  www www;

worker_processes 2;

error_log  /data/data1/logs/nginx_error.log  crit;

pid        /usr/local/nginx/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process. 
worker_rlimit_nofile 51200;

events 
{
    use epoll;
    worker_connections 51200;
}

http 
{
    include       mime.types;
    #default_type  application/octet-stream;

    #charset  gb2312;
      
    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 8m;
      
    sendfile on;
    tcp_nopush     on;

    keepalive_timeout 60;

    tcp_nodelay on;

    gzip on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types       text/plain application/x-javascript text/css application/xml;
    gzip_vary on;

    #limit_zone  crawler  $binary_remote_addr  10m;

    server
    {
        listen       88;
        #server_name  192.168.0.218;
        server_name  localhost; 
        index index.html index.htm index.php;
        root  /data/www;

        #limit_conn   crawler  20;    

        location /hello {
            default_type text/plain;
            echo "hello, world! learsu test echo";
        }

        location /bar {
            set $memc_cmd $arg_cmd;
            set $memc_key $arg_key;
            set $memc_value $arg_val;
            set $memc_flags $arg_flags; # defaults to 0
            set $memc_exptime $arg_exptime; # defaults to 0

            memc_pass 192.168.0.218:11211;
        }
    } 
}



启动Nginx
ulimit -SHn 51200
/usr/local/nginx/sbin/nginx
修改/usr/local/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确
/usr/local/nginx/sbin/nginx -t


wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
tar zxvf memcached-1.4.4.tar.gz
cd memcached-1.4.4

./configure
make && make install

测试是否成功安装memcached

ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 247033 May  5 16:49 /usr/local/bin/memcached

1.启动Memcache的服务器端:

memcached -d -m 100 -u root -l 192.168.0.218 -p 11211 -c 256 -P /tmp/memcached.pid

参数说明:

-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是100MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.218,
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

2.如果要结束Memcache进程,执行:

kill `cat /tmp/memcached.pid`

也可以启动多个守护进程,不过端口不能重复。

3.检查Memcached是否启动

netstat -ant
tcp        0      0 192.168.0.218:11211       0.0.0.0:*                   LIST

原创粉丝点击