LNMP的架构及应用(如论坛搭建,memcached、tomcat的整合等) 推荐
2014-04-29 23:15
851 查看
LNMP架构及应用
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
有以下优势:
作为web服务器,nginx处理静态文件、索引文件,自动索引的效率非常高;
作为代理服务器,nginx可以实现无缓存的反向代理加速,提高网站的运行速度;
作为负载均衡服务器,nginx既可以在内部直接支持Rails和PHP,也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡;
在性能上,占用很少的资源,能支持更多的并发连接,达到更高的访问效率;
在功能上,nginx是优秀的代理服务器和负载均衡服务器;
安装配置上,nginx安装简单、配置灵活;
性能方面,nginx是专门为性能优化而开发的,非常注重效率。它采用Poll模型,可以支持更多的并发连接,最大可以支持对50000个并发连接数的形影,而且只占用很低的内存资源;
高可用性,nginx支持热部署,启动速度特别迅速,可以在不间断服务的情况下,对软件版本或者配置进行升级,及时运行数月也无需重新启动,几乎可以做到7*24显示不间断运行
Mysql是一个小型关系型数据库管理系统。PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
1.Nginx的安装及基本的使用配置
nginx.org 官网
#make && make install
select - 标准方法。如果当前平台没有更有效的方法,它是编译时默认的方法。你可以使用配置参数
poll - 标准方法。如果当前平台没有更有效的方法,它是编译时默认的方法。你可以使用配置参数
kqueue - 高效的方法,使用于FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 和MacOS X. 使用双处理器的MacOSX系统使用kqueue可能会造成内核崩溃。
epoll - 高效的方法,使用于Linux内核2.6版本及以后的系统。在某些发行版本中,如SuSE8.2, 有让2.4版本的内核支持epoll的补丁。
nginx -t //检测语法
nginx //启动nginx
nginx -s reload //重新加载nginx
nginx -s stop //关闭nginx
nginx实现虚拟主机
nginx负载均衡:
nginx的session保持:
使用nginx sticky模块实现基于cookie的负载均衡
即一个ip一次始终就访问一个tomcat服务器,(当用户注册账户时,第一个注册页注册完成,执行下一步时即切换页面,不会切到另一台tomcat服务器),另外一个ip访问下一台tomcat服务器
https 加密web访问
nginx -t
nginx -s reload
访问浏览器
获取证书
2.Mysql的源码安装
mysql-5.5.12.tar.gz
#yum install cmake make gcc gcc-c++ #tar zxf mysql-5.5.12.tar.gz #cd mysql-5.5.
出现此问题根据提示知道需要安装yuminstall ncurses-devel,安装完后删除缓存文件CMakeCache.txt,重新执行编译
PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin // //现在直接使用mysql等命令,可能无法执行,需要配置环境变量,查找源码编译后的mysql命令路径为/usr/local/lnmp/mysql/bin,将其加入该文件PATH后,以分号相隔,即#source .bash_profile //使其生效
3.php的源码安装
gd是一个用以生成图片的库
libiconv用于实现一个字符编码到另一个字符编码的转换
mhash是一个哈稀演函数库,它可以支持多种哈稀演算法,如MD5、SHA1
libmcrypt可以使php支持更多加密算法
此处会报错如上,需要如下操作:
重新编译会报mhash错误,如下
需操作
再重新编译则OK#make && make install
Php软件包依赖性:yum install net-snmp-devel curl-devellibxml2-devel libpng-devel libjpeg-devel freetype- devel gmp-devel
#make install#cd /usr/local/lnmp/php/etc
现在就可以配置nginx访问php测试页如下:
#cat html/index.php<?phpphpinfo()?>#nginx -s reload //浏览器访问ip/index.php看到php测试页则成功
现在LNMP架构已经搭建完成,接下来在lnmp架构上搭建一个bbs网站:软件下载地址http://download.comsenz.com/DiscuzX/
1. 上传 upload目录中的文件到服务器2. 设置目录属性(windows服务器可忽略这一步)以下这些目录需要可读写权限 ./config ./data 含子目录3. 执行安装脚本/install/请在浏览器中运行install 程序,即访问http://您的域名/论坛目录/install/参照页面提示,进行安装,直至安装完毕
安装完后如下
Tomcat动态页面:
Tomcat 服务器是一个免费的开放源代码的动态Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选tomcat相当于jsp的解释器,主要用于动态页面,nignx适用于web静态页面
安装tomcat必须要安装jdk安装jdk-6u32-linux-x64.binsh jdk-6u32-linux-x64.bin mv jdk1.6.0_32/ /usr/local/jdk //移动到指定目录
tar zxf apache-tomcat-7.0.42.tar.gz -C/usr/local/lnmp/cd/usr/local/lnmp/apache-tomcat-7.0.42/bin./startup.sh //tomcat默认打开端口为8080浏览器访问192.168.1.25:8080就可以看到tomcat网页
每次访问都得加上:8080,若不想加可以修改nginx.conf location ~ \.jsp$ { proxy_pass http://127.0.0.1:8080; }这样就可以不用加:8080端口访问192.168.1.25/index.jsp,现在jsp动态网页是通过nginx访问
因为nginx现在不支持图片功能,所以访问时不能正常显示图片,此时需要在ngix.conf加入一下字段: location ~\.(png|gif|css|jsp|js)${ root/usr/local/lnmp/tomcat/webapps/ROOT; }再次访问即可出现图片测试页内容Thissystem's time is <%=new java.util.Date() %>
使用nginx实现tomcat动态页面的负载均衡
vi nginx.confhttp { upstream ty { server 192.168.1.25:8080; //25、26主机上都装有tomcat server 192.168.1.26:8080; }}server {location ~ \.jsp$ { proxy_pass http://ty; }}
配置好各服务器的jsp动态网页文件nginx -s reload 现在就可以访问实现负载均衡了
-----------------------------------------------------------
Memcached是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。memcache为php的一个模块,使php能够使用内存存储,加载到内存提高访问速度
enterprise6的Package里提够memcachedRPM 包安装yum install memcached/etc/init.d/memcached start
telnet localhost 11211 //测试memcached是否成功打开 stats 查看状态 set 设置 add 添加 get 查看delete 删除
tomcat负载均衡的session控制(正在访问的服务器宕机,直接切换至另台server,上次访问的记录仍可用)
session:
交叉存储memcache
Tomcat-1 (T1) 将session 存储在 memcached-2(T2)上。只有当 M2 不可用时,T1才将 session 存储在memcached-1 上(M1 是T1 failoverNode)。使用这种配置的好处是,当T1 和 M1 同时崩溃时也不会丢失session 会话,避免单点故障。
官网http://code.google.com/p/memcached-session-manager
首先A、B已经为tomcat负载均衡:A: 1、 asm-3.2.jar minlog-1.2.jar kryo-1.04.jar msm-kryo-serializer-1.6.5.jar kryo-serializers-0.10.jar reflectasm-1.01.jar memcached-session-manager-1.6.3.jar spymemcached-2.7.3.jar memcached-session-manager-tc7-1.6.3.jar //tc7对应tomcat的版本7 //将.jar包放至tomcat/lib目录,一定注意包的版本2、
B:中1、3、4步骤一样,2配置的内容稍微有改变
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
有以下优势:
作为web服务器,nginx处理静态文件、索引文件,自动索引的效率非常高;
作为代理服务器,nginx可以实现无缓存的反向代理加速,提高网站的运行速度;
作为负载均衡服务器,nginx既可以在内部直接支持Rails和PHP,也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡;
在性能上,占用很少的资源,能支持更多的并发连接,达到更高的访问效率;
在功能上,nginx是优秀的代理服务器和负载均衡服务器;
安装配置上,nginx安装简单、配置灵活;
性能方面,nginx是专门为性能优化而开发的,非常注重效率。它采用Poll模型,可以支持更多的并发连接,最大可以支持对50000个并发连接数的形影,而且只占用很低的内存资源;
高可用性,nginx支持热部署,启动速度特别迅速,可以在不间断服务的情况下,对软件版本或者配置进行升级,及时运行数月也无需重新启动,几乎可以做到7*24显示不间断运行
Mysql是一个小型关系型数据库管理系统。PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
1.Nginx的安装及基本的使用配置
nginx.org 官网
tar zxf nginx-1.4.2.tar.gz nginx-1.4.2/src/core vi nginx.h #define NGINX_VER "nginx/" NGINX_VERSION //NGINX_VERSION显示版本,可以去掉,以防黑客恶意攻击
#nginx-1.4.2/auto/cc #vi gcc # debug #CFLAGS="$CFLAGS -g" //关闭debug调试
#./configure --prefix=/usr/local/lnmp/nginx \ --with-http_ssl_module \ --withhttp_stub_status_module //编译,启用https加密 和nginx 的 NginxStatus 功能, //用来监控 Nginx 的当前状态。
#make && make install
#cd /usr/local/lnmp/nginx/sbin #ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin/ //将nginx命令加入环境变量 #useradd -M -s /sbin/nologin nginx
#vim conf/nginx.conf user nginx nginx; worker_processes 2; events { use epoll; //优化nginx worker_connections 1024; } http { //打开日志功能 log_format main '$remote_addr - $remote_user [$time_local]"$request" ' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent""$http_x_forwarded_for"'; server { location /status { stub_status on; access_log off; } } }Nginx支持如下处理连接的方法(I/O复用方法),这些方法可以通过
use指令指定。
select - 标准方法。如果当前平台没有更有效的方法,它是编译时默认的方法。你可以使用配置参数
--with-select_module和
--without-select_module来启用或禁用这个模块。
poll - 标准方法。如果当前平台没有更有效的方法,它是编译时默认的方法。你可以使用配置参数
--with-poll_module和
--without-poll_module来启用或禁用这个模块。
kqueue - 高效的方法,使用于FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 和MacOS X. 使用双处理器的MacOSX系统使用kqueue可能会造成内核崩溃。
epoll - 高效的方法,使用于Linux内核2.6版本及以后的系统。在某些发行版本中,如SuSE8.2, 有让2.4版本的内核支持epoll的补丁。
nginx -t //检测语法
nginx //启动nginx
nginx -s reload //重新加载nginx
nginx -s stop //关闭nginx
nginx实现虚拟主机
vi nginx.conf http { server { listen 80; server_name www.tjf.com; location / { root /html/tjf; index index.html index.htm; } } server { listen 80; server_name www.ty.com; location / { root /html/ty; index index.html index.htm; } } }
[root@node5 conf]# mkdir /html [root@node5 conf]# mkdir /html/tjf [root@node5 conf]# mkdir /html/ty [root@node5 conf]# echo "tjf" >/html/tjf/index.html [root@node5 conf]# echo "ty" >/html/ty/index.html [root@node5 conf]# nginx -s reload在/etc/hosts中加入解析,浏览器访问域名就可以实现虚拟主机
nginx负载均衡:
#vi nginx.conf upstream ty { //ty只是一个名字,可以随便 server 192.168.0.25:8080 weight=3; //weight设置该服务器每次被访问的次数 server 192.168.0.26:8080; } //加在http{}中想让那个server实现负载均衡,就修改其server{}内的语句
server { listen 80; server_name www.ty.org; # access_log logs/ty.org.access.log main; location / { proxy_pass http://ty; } }
nginx的session保持:
使用nginx sticky模块实现基于cookie的负载均衡
即一个ip一次始终就访问一个tomcat服务器,(当用户注册账户时,第一个注册页注册完成,执行下一步时即切换页面,不会切到另一台tomcat服务器),另外一个ip访问下一台tomcat服务器
#nginx -s stop //给nginx添加模块徐重新编译,先stop #tar zxf nginx-sticky-module-1.1.tar.gz #cd nginx-1.4.2 #make clean
#./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module--with-http_stub_status_module--add-module=/root/nginx-sticky-module-1.1 #make && make install
#vim /usr/local/lnmp/nginx/conf/nginx.conf //配置文件中加入sticky模块 upstream ty { sticky; server 192.168.1.25:8080; server 192.168.1.26:8080; }#nginx //启动nginx,就可以发现一个ip每次在有效时间内始终访问一台tomcat服务器
https 加密web访问
cd /etc/pki/tls/certs make cert.pem //密钥和密文均在此文件 cp cert.pem /usr/local/lnmp/nginx/conf
vim nginx.conf //将HTTPSserver段打开,即去掉# ssl_certificate cert.pem; ssl_certificate_key cert.pem;
nginx -t
nginx -s reload
访问浏览器
获取证书
2.Mysql的源码安装
mysql-5.5.12.tar.gz
#yum install cmake make gcc gcc-c++ #tar zxf mysql-5.5.12.tar.gz #cd mysql-5.5.
#cmake-DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \ #安装目录 >-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \ #数据库存放目录 >-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \ #Unixsocket 文件路径 >-DWITH_MYISAM_STORAGE_ENGINE=1 \ #安装 myisam 存储引擎 >-DDEFAULT_CHARSET=utf8 \ #使用utf8 字符 >-DDEFAULT_COLLATION=utf8_general_ci \ #校验字符 >-DEXTRA_CHARSETS=all #安装所有扩展字符集
出现此问题根据提示知道需要安装yuminstall ncurses-devel,安装完后删除缓存文件CMakeCache.txt,重新执行编译
make && make install useradd -M -s /sbin/nologin mysql cd /usr/local/lnmp/mysql cd scripts/
./mysql_install_db --user=mysql--basedir=/usr/local/lnmp/mysql/--datadir=/usr/local/lnmp/mysql/data/ //可以使用./mysql_install_db--help查看参数信息
chown -R root.mysql/usr/local/lnmp/mysql/* chown -R mysql data/
cp support-files/my-medium.cnf/etc/my.cnf //配置文件 cp mysql.server /etc/init.d/mysqld //启动脚本 service mysqld start#vi /root/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin // //现在直接使用mysql等命令,可能无法执行,需要配置环境变量,查找源码编译后的mysql命令路径为/usr/local/lnmp/mysql/bin,将其加入该文件PATH后,以分号相隔,即#source .bash_profile //使其生效
3.php的源码安装
gd是一个用以生成图片的库
libiconv用于实现一个字符编码到另一个字符编码的转换
mhash是一个哈稀演函数库,它可以支持多种哈稀演算法,如MD5、SHA1
libmcrypt可以使php支持更多加密算法
tar zxf libiconv-1.13.1.tar.gz #加强系统对支持字符编码转换的功能 cd libiconv-1.13.1 ./configure--prefix=/usr/local/lnmp/modules/libiconv make && make install
tar jxf libmcrypt-2.5.8.tar.bz2 # mcrypt mhash 是 php 加密算法扩展库 cd libmcrypt-2.5.8 ./configure--prefix=/usr/local/lnmp/modules/libmcrypt make && make install
cd libltdl/ ./configure --prefix=/usr/local/lnmp/modules/libmcrypt/libltdl --enable-ltdl-install make && make install
tar jxf mhash-0.9.9.9.tar.bz2 cd mhash-0.9.9.9 ./configure--prefix=/usr/local/lnmp/modules/mhash make && make install
tar zxf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8 ./configure--prefix=/user/local/lnmp/modules/mcrypt --with-libmcrypt-prefix=/user/local/lnmp/modules/libmcrypt
此处会报错如上,需要如下操作:
#vi /etc/ld.so.conf include ld.so.conf.d/*.conf /usr/local/lnmp/modules/libmcrypt/lib #ldconfig
重新编译会报mhash错误,如下
需操作
vi /etc/ld.so.conf 添加如下一条 /usr/local/lnmp/modules/mhash/lib ln -s/usr/local/lnmp/modules/mhash/lib/* /usr/local/lib ln -s/usr/local/lnmp/modules/mhash/include/* /usr/loca/include ldconfig
再重新编译则OK#make && make install
Php软件包依赖性:yum install net-snmp-devel curl-devellibxml2-devel libpng-devel libjpeg-devel freetype- devel gmp-devel
tar jxf php-5.4.12.tar.bz2 cd php-5.4.12 ./configure--prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc \ --with-mysql=/usr/local/lnmp/mysql --with-openssl --with-snmp --with-gd \ --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir \ --with-freetype-dir --with-pear --with-gettext --with-gmp --enable-inline-optimization \ --enable-soap --enable-ftp \ --enable-sockets --enable-mbstring --with-mysqli=/usr/local/lnmp/mysql/bin/mysql_config \ --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx \ --with-mcrypt=/usr/local/lnmp/modules/libmcrypt --with-mhash
#make ZEND_EXTRA_LIBS='-liconv' #ZEND 加速php执行,手工指定将iconv加到php额外库中, #一般来说这些库的增加php可以自动完成,但是iconv需要手工操作加入
#vi /etc/ld.so.conf usr/local/lnmp/modules/libiconv/lib #ln -s/usr/local/lnmp/modules/libiconv/lib/* /usr/local/lib #ldconfig
#make install#cd /usr/local/lnmp/php/etc
#cp php-fpm.conf.default php-fpm.conf #vi php-fpm.conf ;pid = run/php-fpm.pid //去掉前边的注释
#cd php-5.4.12 #cp php.ini-production /usr/local/lnmp/php/etc/php.ini #适合php生产环境下的配置文件 #vi /usr/local/php/etc/php.ini cgi.fix_pathinfo=0 #防止Nginx 文件类型错误解析漏洞 date.timezone = Asia/Shanghai #设置时区
#cd sapi/fpm/ #cp init.d.php-fpm /etc/init.d/fpm //fpm启动脚本,默认端口为9000 #chmod +x /etc/init.d/fpm #/etc/init.d/fpm start
现在就可以配置nginx访问php测试页如下:
vi /usr/local/lnmp/nginx/conf/nginx.conf server { location / { root html; index index.phpindex.html index.htm; //记得要添加index.php } location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi.conf; } }
#cat html/index.php<?phpphpinfo()?>#nginx -s reload //浏览器访问ip/index.php看到php测试页则成功
现在LNMP架构已经搭建完成,接下来在lnmp架构上搭建一个bbs网站:软件下载地址http://download.comsenz.com/DiscuzX/
1. 上传 upload目录中的文件到服务器2. 设置目录属性(windows服务器可忽略这一步)以下这些目录需要可读写权限 ./config ./data 含子目录3. 执行安装脚本/install/请在浏览器中运行install 程序,即访问http://您的域名/论坛目录/install/参照页面提示,进行安装,直至安装完毕
安装完后如下
Tomcat动态页面:
Tomcat 服务器是一个免费的开放源代码的动态Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选tomcat相当于jsp的解释器,主要用于动态页面,nignx适用于web静态页面
安装tomcat必须要安装jdk安装jdk-6u32-linux-x64.binsh jdk-6u32-linux-x64.bin mv jdk1.6.0_32/ /usr/local/jdk //移动到指定目录
vim /etc/profile //设置java全局变量 export JAVA_HOME=/usr/local/jdk exportCLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib //指定java库目录 export PATH=$PATH:$JAVA_HOME/binsource /etc/profile //使其立即生效
tar zxf apache-tomcat-7.0.42.tar.gz -C/usr/local/lnmp/cd/usr/local/lnmp/apache-tomcat-7.0.42/bin./startup.sh //tomcat默认打开端口为8080浏览器访问192.168.1.25:8080就可以看到tomcat网页
每次访问都得加上:8080,若不想加可以修改nginx.conf location ~ \.jsp$ { proxy_pass http://127.0.0.1:8080; }这样就可以不用加:8080端口访问192.168.1.25/index.jsp,现在jsp动态网页是通过nginx访问
因为nginx现在不支持图片功能,所以访问时不能正常显示图片,此时需要在ngix.conf加入一下字段: location ~\.(png|gif|css|jsp|js)${ root/usr/local/lnmp/tomcat/webapps/ROOT; }再次访问即可出现图片测试页内容Thissystem's time is <%=new java.util.Date() %>
使用nginx实现tomcat动态页面的负载均衡
vi nginx.confhttp { upstream ty { server 192.168.1.25:8080; //25、26主机上都装有tomcat server 192.168.1.26:8080; }}server {location ~ \.jsp$ { proxy_pass http://ty; }}
配置好各服务器的jsp动态网页文件nginx -s reload 现在就可以访问实现负载均衡了
-----------------------------------------------------------
Memcached是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。memcache为php的一个模块,使php能够使用内存存储,加载到内存提高访问速度
enterprise6的Package里提够memcachedRPM 包安装yum install memcached/etc/init.d/memcached start
telnet localhost 11211 //测试memcached是否成功打开 stats 查看状态 set 设置 add 添加 get 查看delete 删除
tomcat负载均衡的session控制(正在访问的服务器宕机,直接切换至另台server,上次访问的记录仍可用)
session:
交叉存储memcache
Tomcat-1 (T1) 将session 存储在 memcached-2(T2)上。只有当 M2 不可用时,T1才将 session 存储在memcached-1 上(M1 是T1 failoverNode)。使用这种配置的好处是,当T1 和 M1 同时崩溃时也不会丢失session 会话,避免单点故障。
官网http://code.google.com/p/memcached-session-manager
首先A、B已经为tomcat负载均衡:A: 1、 asm-3.2.jar minlog-1.2.jar kryo-1.04.jar msm-kryo-serializer-1.6.5.jar kryo-serializers-0.10.jar reflectasm-1.01.jar memcached-session-manager-1.6.3.jar spymemcached-2.7.3.jar memcached-session-manager-tc7-1.6.3.jar //tc7对应tomcat的版本7 //将.jar包放至tomcat/lib目录,一定注意包的版本2、
vim/tomcat/conf/context.xml <ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:192.168.1.25:11211,n2:192.168.1.26:11211" failoverNodes="n1" requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />3、
cd /tomcat/webapps/ROOT vi test.jsp //创建测试页 <%@ page contentType="text/html;charset=GBK" %> <%@ page import="java.util.*"%> <html><head><title>ClusterApp Test</title></head> <body> Server Info: <% out.println(request.getLocalAddr() +" : " + request.getLocalPort()+"<br>");%> <% out.println("<br> ID "+ session.getId()+"<br>"); String dataName =request.getParameter("dataName"); if (dataName != null &&dataName.length() > 0) { String dataValue =request.getParameter("dataValue"); session.setAttribute(dataName,dataValue); } out.print("<b>Sessionlist</b>"); Enumeration e =session.getAttributeNames(); while (e.hasMoreElements()) { String name =(String)e.nextElement(); String value =session.getAttribute(name).toString(); out.println( name + " = "+ value+"<br>"); System.out.println( name + " =" + value); } %> <form action="test.jsp"method="POST"> name:<input type=text size=20name="dataName"> <br> key:<input type=text size=20name="dataValue"> <br> <input type=submit> </form> </body> </html>4、
/etc/init.d/memcached start /tomcat/bin/./shutdown.sh /tomcat/bin/./startup.sh //重启tomcat
tail -f /tomcat/logs/catalina.out //查看日志,如初始化finished,则成功 INFO: MemcachedSessionServicefinished initialization……
B:中1、3、4步骤一样,2配置的内容稍微有改变
<ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:192.168.1.25:11211,n2:192.168.1.26:11211" failoverNodes="n2" requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />
相关文章推荐
- keepalived ,lvs,tomcat 高可用,高并发,高性能 应用架构的搭建
- LNMP架构的搭建Discuz论坛的搭建
- 利用lnmp架构搭建论坛Discuz
- 快速搭建高可用 LNMP Web应用基础架构
- centOS7下如何搭建memcached+mongodb+jdk+tomcat的基础应用环境
- LNMP架构的搭建(linux+nginx+mysql+php源码安装 )+Discuz论坛的搭建
- Linux运维进阶-文档总结-LNMP架构之PHP的安装和测试和简单论坛搭建
- tengine整合tomcat加上memcached实现高并发、负载均衡、可扩展架构接
- rhel6上搭建lnmp架构以及遇到的一些错误并排除方法 推荐
- apache下搭建discuz论坛+tomcat和appache整合
- iOS开发之谈谈App应用的架构搭建(推荐给大家看)
- 使用Apache配置Tomcat应用整合PHP论坛-Discuz
- Nginx实战基础篇六 通过源码包编译安装部署LNMP搭建Discuz论坛 推荐
- JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)
- 使用Apache配置Tomcat应用整合PHP论坛-Discuz
- JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)
- LNMP架构搭建论坛
- solr环境搭建&基本使用 - 程序灵感 solr服务与tomcat整合 solr使用配置步骤 solr使用 推荐分词工具 一.Solr服务与tomcat整合 1、solr
- JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)
- tengine整合tomcat加上memcached实现高并发、负载均衡、可扩展架构