设为首页 收藏本站
查看: 1323|回复: 0

[经验分享] memcached配置过程

[复制链接]

尚未签到

发表于 2018-12-25 07:32:38 | 显示全部楼层 |阅读模式
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

环境:
一台公网客户ip:202.106.0.20
一台nginx代理服务器ip:192.168.1.11 公网ip:202.106.0.1
两台私网memcached服务器ip:192.168.1.111     ip:192.168.1.112
两台私网web服务器ip:192.168.1.12 动态tomcat网页   ip:192.168.1.13  动态tomcat网页  
需求:
1:公网客户可以通过nginx代理服务器访问公司主页www.sw.com,并实现session会话共享
2:nginx可以实现动态和静态网页分离访问不同web服务器
3:防防盗链
实现步骤:
1:web服务器上安装jdk库包和tomcat源码包,设置为开机启动
[root@tom1 ~]#yum -y install gcc gcc-c++ make                   //安装编译环境包
[root@tom1 ~]#chmod +x jdk-6u27-linux-i586.bin                //给bin包执行权限
[root@tom1 ~]#./jdk-6u27-linux-i586.bin  //运行jdk.bin安装
[root@tom1 ~]#mv jdk1.6.0_27 /usr/local/jdk                         //习惯上把源码包放到/usr/local下
[root@tom1 ~]#vim /etc/bashrc                                               //定义java参数让系统调用
export  JRE_HOME=/usr/local/jdk                           //主目录位置
export  JAVA_BIN=/usr/local/jdk/bin                      //bin文件夹位置
export  PATH=$JRE_HOME/bin:$PATH                         //设为系统全局变量,方便调
export  CLASSPATH=.:$JRE_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar  //指定工具位置
export  JRE_HOME   JAVA_BIN   PATH   CLASSPATH       //定义为系统全局变量

  [root@tom1 ~]# tar -zxvf apache-tomcat-6.0.32.tar.gz -C /usr/local     //解压并放到/usr/local下
  [root@tom1 ~]# mv /usr/local/{apache-tomcat-6.0.32,tomcat}   //重命名
[root@tom1 tomcat]# ./bin/startup.sh                                          //启动tomcat
[root@tom1 tomcat]# vim conf/tomcat-users.xml                      //访问tomcat网页根据错误提示添加用户和密码

36
37
38

[root@tom1 tomcat]# ./bin/shutdown.sh                                          //关闭tomcat
[root@tom1 tomcat]# ./bin/startup.sh                                          //启动tomcat
[root@tom1 ~]# vim /etc/rc.local                  //添加到开机启动脚本
/usr/local/tomcat/bin/startup.sh

2:代理服务器上安装nginx源码包程序,设置为开机启动,备份主配置文件,配置成反向代理
[root@1.11 ~]# useradd  -M -s /sbin/nologin nginx                //添加系统用户nginx,无家目录和禁止登录
[root@1.11 ~]#yum -y install gcc gcc-c++ make pcrc-devel openssl-devel   //安装编译环境开发包
[root@1.11 ~]#mkdir /nginx                                                    //创建存放文件夹
[root@1.11 nginx-0.8.55]# ./configure --prefix=/nginx \        //转换源码,指定安装目录
>--user=nginx --group=nginx                                                  //指定进程属主,属组
>--with-http_stub_status_module --with-http_ssl_module;    //加载查看状态模块,ssl模块
[root@1.11 nginx-0.8.55]# make  && make install                //编译安装
[root@1.11 ~]# vim /etc/rc.local                  //添加到开机启动脚本
/nginx/sbin/nginx

[root@1.11 ~]# cp -p /nginx/conf/{nginx.conf,nginx.conf.bak}  //备份主配置文件
[root@1.11 ~]# vim /nginx/conf/nginx.conf
...  
3 worker_processes  1;                    //进程个数,建议和cpu核数相同
...
12 events {
13     worker_connections  1024;    //每进程最大并发连接数
14 }
...
17 http {
...
20     upstream web {                    //定义web地址池组   
21     server 192.168.1.12:8080;               
22     server 192.168.1.13:8080;
23         }
...
122     server {
123         listen     80;
124         server_name  www.sw.com;
125         location / {
128            proxy_pass http://web;                      //调用web地址池
129         }
130         location ~*  \.jsp$ {   //当访问结尾是jsp时,代理到192.168.1.12  192.168.1.13
131            proxy_pass http://web;
132         }
133         location ~* \.(gif|png|jpg|mp3|rm|flv)$ {    //防盗链,只允许本域直接访问
134         valid_referers none blocked .sw.com;
135         if ($invalid_referer) { rewrite ^/ http://192.168.1.11/error.htm;}
136         }
137       }
...
150 }

3:缓存服务器上安装库包和memcached源码包,设置为开机启动
[root@mem2 ~]# tar -zxvf libevent-2.0.15-stable.tar.gz
[root@mem2 libevent-2.0.15]# ./configure &&make &&make install
[root@mem2 ~]# vim /etc/ld.so.conf.d/libevent.conf
/usr/local/lib

[root@mem2 ~]# ldconfig -v|grep libevent
[root@mem2 ~]# tar -zxvf memcached-1.4.5.tar.gz
[root@mem2 memcached-1.4.5]# ./configure &&make &&make install
[root@mem2 ~]# vim /etc/rc.localhost
memcached -l 192.168.1.112 -u root -d -vvv -m 100M -n 10 -f 2
[root@mem2 ~]# memcached -l 192.168.1.112 -u root -d -vvv -m 100M -n 10 -f 2
4:配置tomcat,使链接memcached的会话信息共享
类库:kryo-1.04.jar     kryo-serializers-0.9.jar   minlog-1.2.jar    msm-kryo-serializer-1.5.1.jar    reflectasm-1.01.jar     
管理类:memcached-2.5.jar     memcached-session-manager-1.5.1.jar     memcached-session-manager-tc6-1.5.1.jar                       [root@tom1 ~]# cp * /usr/local/tomcat/lib/                           //把上面的类包都复制进tomcat的lib目录
[root@tom1 ~]# vim /usr/local/tomcat/conf/context.xml     //编辑连接配置文件添加
...
19
20
...
//class等是定义调用类,REQUEST定义不缓存的内容,memcached指定缓存服务器地址,failover指定备用节点

[root@tom1 ~]# /usr/local/tomcat/bin/shutdown.sh              //重启tomcat
[root@tom1 ~]# /usr/local/tomcat/bin/startup.sh
   
  






  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-655447-1-1.html 上篇帖子: memcached2.6.14安装 下篇帖子: memcached 系列知识 1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表