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

[经验分享] 搭建nginx + tomcat + mysql + memcached 环境.

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-9-29 09:29:19 | 显示全部楼层 |阅读模式
搭建nginx + tomcat + mysql + memcached 环境.
拓普图如下
1.png
java程序 需要 运行在tomcat上, tomcat 就是一个java程序. 这个java程序,是需要运行在java的虚拟机上.
所以,我们要在安装tomcat的节点上,安装java虚拟机,即安装jdk环境.
在172.16.26.5 [6 ] 两个集群节点上都装上memcached服务. 以及tomcat服务.
由172.16.26.1使用nginx作为调度节点.
172.16.26.1 nginx 的配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
upstream www.tomcat1.com {
server 172.16.26.6:8080 weight=1;       =>后端节点1
server 172.16.26.5:8080 weight=1;       ==>后端节点2
least_conn;
}   server {
listen 80;
server_name www.tomcat1.com;       =>虚拟主机名
charset utf-8;
location / {
root html;
index index.jsp index.html index.htm;
proxy_pass http://www.tomcat1.com;    =>所有访问/ 路径的,都代理到 http://www.tomcat1.com上来
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 100m;
}
}



节点1 172.16.26.5 [6] 的配置
需要准备的软件
jdk-7u9-linux-x64.rpm            
apache-tomcat-7.0.55.tar.gz   
首先安装jdk
[iyunv@php5_6 ~]# rpm -ivh jdk-7u9-linux-x64.rpm     =>安装jdk环境   
Preparing... ########################################### [100%]  
1:jdk ########################################### [100%]  
Unpacking JAR files...  
rt.jar...  
Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/rt.pack  
jsse.jar...  
Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/jsse.pack  
charsets.jar...  
Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/charsets.pack  
tools.jar...  
Error: Could not open input file: /usr/java/jdk1.7.0_09/lib/tools.pack  
localedata.jar...  
Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/ext/localedata.pack
[iyunv@php5_6 bin]# pwd      
/usr/java/jdk1.7.0_09/bin     =>这是安装好的java 虚拟机运行程序目录   
[iyunv@php5_6 bin]# ls             =>目录下有着java虚拟机的各种方法  
appletviewer java javaws jmap jvisualvm rmid wsgen  
apt javac jcmd jps keytool rmiregistry wsimport  
ControlPanel javadoc jconsole jrunscript native2ascii schemagen xjc  
extcheck javafxpackager jcontrol jsadebugd orbd serialver  
idlj javah jdb jstack pack200 servertool  
jar javap jhat jstat policytool tnameserv  
jarsigner java-rmi.cgi jinfo jstatd rmic unpack200
//想要方便的使用 java虚拟机的各种方法,为其添加一个使用的环境变量
# vim /etc/profile.d/java.sh
JAVA_HOME=/usr/java/latest           => latest是/usr/java/jdk1.7.0_09的一个软链接
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME
export PATH
解压tomcat /usr/local/apache-tomcat-7.0.42/bin/             支持j2ee  ,web servlets ,JSP
# tomcat 只是运行在java 虚拟机里面的一个程序而已, JVM     ==>运行在虚拟机里的程序,切记
[iyunv@php5_6 ~]# tar -xf apache-tomcat-7.0.55.tar.gz -C /usr/local/
为了方便的使用 tomcat 里的程序,所以我们也给它导出一个环境变量
# vim /etc/profile.d/tomcat.sh
CATALINA_HOME=/usr/local/tomcat
PATH=$CATALINA_HOME/bin:$PATH
export CATALINA_HOME
export PATH
[iyunv@php5_6 conf]#catalina.sh start =>确保8080端口没被占用的情况下,就可以启动tomcat了
[iyunv@php5_6 conf]# pwd  
/usr/local/tomcat/conf  
[iyunv@php5_6 conf]# vim server.xml
想要使用 memcached-session-manager 配置Tomcat和memcached实现session共享。
需要使用下面的包,把它们下载到Tomcat的lib目录下,这些包都是msm所依赖的包。
http://memcached-session-manager ... n-manager-1.3.0.jar
http://memcached-session-manager ... -jodatime-1.3.0.jar
http://memcached-session-manager ... zer-cglib-1.3.0.jar
http://spymemcached.googlecode.com/files/memcached-2.4.2.jar
http://memcached-session-manager ... olution-5.4.3.1.jar
将包下载好之后,都放置到 /usr/local/tomcat/lib 目录中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<Context path="/test" docBase="test">  =>创建一个测试目录,验证memcached是否能正常工作.
                <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
        memcachedNodes="n1:172.16.26.5:11211,n2:172.16.26.6:11211"    =>同时配置两个memcached节点
        failoverNodes="n1"
        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
        transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
                />
            </Context>
            <Context path="/jcenter" docBase="jcenter">    =>这个目录用来配置一个叫javacenter的项目
                <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
        memcachedNodes="n1:172.16.26.5:11211,n2:172.16.26.6:11211"
        failoverNodes="n1"
        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
        transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
                />
            </Context>



172.16.26.5 [6] 节点都安装上memcached
# yum install memcached -y    yum安装memcached服务
# service memcached start    =>启动memcached服务
在两个节点上,建立如下目录
/usr/local/tomcat/webapps/test  # 注意 该目录的jsp程序运行,需要WEB-INF 目录, WEB-INF目录下需要有 lib,classes两个子目录
在两节点的 test目录,都创建 index.jsp文件
内容172.16.26.5 为
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ page language="java" %>
<html>
  <head><title>TomcatA</title></head>
  <body>
    <h1><font color="red">TomcatA.magedu.com</font></h1>
    <table align="centre" border="1">
      <tr>
        <td>Session ID</td>
    <% session.setAttribute("magedu.com","magedu.com"); %>
        <td><%= session.getId() %></td>
      </tr>
      <tr>
        <td>Created on</td>
        <td><%= session.getCreationTime() %></td>
     </tr>
    </table>
  </body>
</html>



内容172.16.26.6 为
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ page language="java" %>
<html>
  <head><title>TomcatB</title></head>
  <body>
    <h1><font color="blue">TomcatB.magedu.com</font></h1>
    <table align="centre" border="1">
      <tr>
        <td>Session ID</td>
    <% session.setAttribute("magedu.com","magedu.com"); %>
        <td><%= session.getId() %></td>
      </tr>
      <tr>
        <td>Created on</td>
        <td><%= session.getCreationTime() %></td>
     </tr>
    </table>
  </body>
</html>



java和memcached的配置完成,启动tomcat , memcached
# service tomcat restart            =>重启 tomcat
# service memcached  restart    =>重启memcached
在客户端修改hosts文件
172.16.26.1    www.tomcat1.com
2.png
3.png
由访问的结果来看,响应的内容不一样,说明是不同的节点响应的, 但是sessionid都一样
说明 memcached共享已经成功了.那么我们再接再厉,完成javacenter的布署.
安装mariadb (过程省略, 有需要者请看我的博客里,关于mariadb安装的篇幅);
MariaDB [(none)]> create database jcenter;    =>创建数据库 jcenter,作为javacenter项目的主库
MariaDB [(none)]> grant all on jcenter.* to jcenter@'172.16.26.%' identified by 'abcabc';    =>授权用户连接
下载 JavaCenter_Home_2.0_GBK.tar.bz2 程序压缩包
解压到节点 172.16.26.5 的 /usr/local/tomcat/webapps/jcenter 目录下
#--------------- JavaCenter Home设置 ---------------
# 数据库服务器地址(一般为本地localhost或127.0.0.1)
dbHost=172.16.26.5        =>由于是共享一个库,所以写成ip地址
# 数据库服务器端口号(一般为3306)
dbPort=3306
# 数据库用户名
dbUser=jcenter
# 数据库密码
dbPw=abcabc
# 数据库名
dbName=jcenter
# 表名前缀(不能与论坛的表名前缀相同)
tablePre=jchome_
配置完成,使用ip地址访问jcenter项目,进行程序安装
4.png
后续只要正确的填写数据库信息, 填写安装项目的管理员信息,就可以完成了.
5.png
这会,安装就完成了,把安装好的 /usr/local/tomcat/webapps/jcenter目录,整个打包,并发送到 172.16.26.6主机上,并解压到同一位置
6.png
这会,用虚拟主机也都可以正常访问了.

运维网声明 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-25505-1-1.html 上篇帖子: httpd+tomcat+memcached实现session保持 下篇帖子: session会话保持之session服务器-tomcat + msm + memcached mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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