马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
一、tomcat
Tomcat是Java语言开发的,Tomcat服务器是一个免费的开放源代码的Web应用服务器,是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat属于轻量级应用服务器,在中小型体系和并发访问用户不是很多的场所下被广泛使用,是开发和调试JSP程序的首选。一般来说,Tomcat虽然和Apache或者Nginx这些Web服务器一样,具有处理HTML页面的功能,然而由于其处理静态HTML的能力远不及Apache或者Nginx,以是Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端。
同步 交互式网页,用户提交了请求,就是想看到查询的效果。服务器相应到来后是一个全新的页面内容,哪怕URL 稳定,整个网页都必要重新渲染。例如,用户填写注册信息,只是 2 次密码不划一,提交后,整个注册页面重新刷新,所有填写项目重新填写( 当然有办法让用户淘汰重填 ) 。这种交互非常不友好。从代价的角度看,就是为了注册的一点点信息,效果返回了整个网页内容,不但浪费了网络带宽,还必要欣赏器重新渲染网页,太浪费资源了,影响了用户体验和感受。上面这些请求的过程,就是同步过程,用户发起请求,页面整个刷新,直到服务器端相应的数据到来并重新渲染。 异步 传统的网页如果必要更新内容,必需重载整个网页面。 Ajax 的出现,改变这一切,同时极大的促进了Javascript的发展。 Ajax 即 "Asynchronous Javascript And XML" (异步 JavaScript 和 XML ),是指一种创建交互式、快速动态网页应用的网页开发技能,最早劈头于1998 年微软的 Outlook Web Access 开发团队。Ajax 通过在后台与服务器举行少量数据交换, 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部门举行更新。Javascript 通过调用欣赏器内置的 WEB API 中的XMLHttpRequest 对象实现 Ajax 技能。早期 Ajax 结合数据格式 XML ,现在更多的使用 JSON 。使用 AJAX 可实现前后端开发的彻底分离,改变了传统的开发模式。 安装
1.安装jdk
- [root@tomcat-node1 ~]# yum install -y java-1.8.0-openjdk.x86_64
复制代码 2.解压tomcat
- [root@tomcat-node1 ~]# tar -zxvf apache-tomcat-9.0.93.tar.gz -C /usr/local/
复制代码 3.设置软连接
- [root@tomcat-node1]# cd /usr/local
- [root@tomcat-node1 local]# ln -s apache-tomcat-9.0.93 tomcat
复制代码 4.开启tomcat
- [root@tomcat-node1 ~]# /usr/local/tomcat/bin/startup.sh
复制代码 5.天生tomcat主设置文件
- [root@tomcat-node1 ~]# vim /usr/local/tomcat/conf/tomcat.conf
- JAVA_HOME=/etc/alternatives/jre_openjdk
复制代码 6.创建用户
- [root@tomcat-node1 ~]# useradd -s /sbin/nologin -M tomcat
复制代码 7.天生启动文件
- # 修改权限
- [root@tomcat-node1 ~]# chown -R tomcat.tomcat /usr/local/tomcat/
- [root@tomcat-node1 ~]# vim /lib/systemd/system/tomcat.service
- [Unit]
- Description=Tomcat
- #After=syslog.target network.target remote-fs.target nss-lookup.target
- After=syslog.target network.target
- [Service]
- Type=forking
- EnvironmentFile=/usr/local/tomcat/conf/tomcat.conf
- ExecStart=/usr/local/tomcat/bin/startup.sh
- ExecStop=/usr/local/tomcat/bin/shutdown.sh
- PrivateTmp=true
- User=tomcat
- Group=tomcat
- [Install]
- WantedBy=multi-user.target
- [root@tomcat-node1 ~]# systemctl daemon-reload
复制代码 8.重启tomcat
- [root@tomcat-node1 ~]# systemctl restart tomcat
复制代码 另一台主机同上
- [root@tomcat-node2 ~]# yum install -y java-1.8.0-openjdk.x86_64
- [root@tomcat-node2 ~]# tar -zxvf apache-tomcat-9.0.93.tar.gz -C /usr/local/
- [root@tomcat-node2 ~]# vim /usr/local/tomcat/conf/tomcat.conf
- JAVA_HOME=/etc/alternatives/jre_openjdk
- [root@tomcat-node2 ~]# useradd -s /sbin/nologin -M tomcat
- [root@tomcat-node2 ~]# vim /usr/local/tomcat/conf/tomcat.conf
- JAVA_HOME=/etc/alternatives/jre_openjdk
- # 修改权限
- [root@tomcat-node2 ~]# chown -R tomcat.tomcat /usr/local/tomcat/
- [root@tomcat-node2 ~]# vim /lib/systemd/system/tomcat.service
- [Unit]
- Description=Tomcat
- #After=syslog.target network.target remote-fs.target nss-lookup.target
- After=syslog.target network.target
- [Service]
- Type=forking
- EnvironmentFile=/usr/local/tomcat/conf/tomcat.conf
- ExecStart=/usr/local/tomcat/bin/startup.sh
- ExecStop=/usr/local/tomcat/bin/shutdown.sh
- PrivateTmp=true
- User=tomcat
- Group=tomcat
- [Install]
- WantedBy=multi-user.target
- [root@tomcat-node2 ~]# systemctl daemon-reload
- [root@tomcat-node2 ~]# systemctl restart tomcat
复制代码
二、反向代理实现Tomcat
2.1 常见摆设方式
预备一台安装好nignx的服务器
2.2 Nginx反向代理
反向代理单台web服务器
- [root@nginx-node1 ~]# vim /usr/local/nginx/conf.d/vhost.conf
- server {
- listen *:80;
- server_name www.lm.org;
- root /data/wb/html;
- index index.html;
- location ~ \.jsp$ {
- proxy_pass http://172.25.254.10:8080;
- }
- }
- [root@nginx-node1 ~]# systemctl restart nginx
复制代码
2.3 负载均衡
1.ip_hash
- [root@nginx-node1 ~]# vim /usr/local/nginx/conf.d/vhost.conf
- upstream tomcat {
- ip_hash;
- #hash $cookie_JSESSIONID;
- server 172.25.254.10:8080;
- server 172.25.254.20:8080;
- }
- server {
- listen *:80;
- server_name www.lm.org;
- root /data/wb/html;
- index index.html;
- location ~ \.jsp$ {
- proxy_pass http://tomcat;
- }
- }
- [root@nginx-node1 ~]# systemctl restart nginx
复制代码
源地点哈希,后端服务器不会改变
2.cookie哈希
- [root@nginx-node1 ~]# vim /usr/local/nginx/conf.d/vhost.conf
- upstream tomcat {
- #ip_hash;
- hash $cookie_JSESSIONID;
- server 172.25.254.10:8080;
- server 172.25.254.20:8080;
- }
- server {
- listen *:80;
- server_name www.lm.org;
- root /data/wb/html;
- index index.html;
- location ~ \.jsp$ {
- proxy_pass http://tomcat;
- }
- }
- [root@nginx-node1 ~]# systemctl restart nginx
复制代码 三、session 共享服务器
msm
msm ( memcached session manager )提供将 Tomcat 的 session 保持到 memcached 可以实现高可用。项目早期托管在google code, 现在在 Github github网站链接 : https://github.com/magro/memcached-session-manager 摆设: 1.解压
- [root@tomcat-node1 ~]# tar -zxvf apache-tomcat-9.0.93.tar.gz -C /usr/local/
复制代码 2.复制
- [root@tomcat-node1 ~]# cp test.jsp /usr/local/tomcat/webapps/
- [root@tomcat-node1 ~]# scp test.jsp root@172.25.254.20:/usr/local/tomcat/webapps/
- root@172.25.254.20's password:
- test.jsp 100% 968 409.9KB/s 00:00
复制代码 3. 修改tomcat
172.25.254.10
- [root@tomcat-node2 ~]# vim /usr/local/tomcat/conf/context.xml <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="m1:172.25.254.10:11211,m2:172.25.254.20:11211" failoverNodes="m1" requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />[root@tomcat-node1 ~]# systemctl restart tomcat
- .service
复制代码
172.25.254.20
- [root@tomcat-node2 ~]# vim /usr/local/tomcat/conf/context.xml
- <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
- memcachedNodes="m1:172.25.254.10:11211,m2:172.25.254.20:11211"
- failoverNodes="m2"
- requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
- transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
- />
- [root@tomcat-node2 ~]# systemctl restart tomcat.service
复制代码
4.下载
- [root@tomcat-node2 ~]# yum install -y memcached
复制代码
- [root@tomcat-node1 ~]# yum install -y memcached
复制代码
测试
1. 在两台 tomcat 都开启的情况下: 2. 在 n1 被停止后继续提交信息看是否可以读取到之前的会话信息
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |