Heim > Artikel > Backend-Entwicklung > Nginx-Ladeplaner + Duale Tomcat-Lade- und Sitzungsfreigabe + MySQL-Back-End-Datenbank
Dieser Artikel stellt hauptsächlich den Nginx-Ladeplaner + die duale Tomcat-Lade- und Sitzungsfreigabe + die MySQL-Backend-Datenbank vor. Jetzt kann ich ihn mit Ihnen teilen
Umgebung:
IP | 作用 |
---|---|
192.168.2.5 | nginx |
192.168.2.6 | tomcat1 |
192.168.2.7 | tomcat2 |
192.168.2.8 | mysql |
Schritte:
①Schließen Sie die Firewall oder öffnen Sie die Ports 80, 8080, 3306, schließen Sie Selinux
②Installieren Sie Nginx
从nginx官网下载最新版 wget http://nginx.org/download/nginx-1.13.9.tar.gz
[root@192 ~]# yum -y install pcre-devel zlib- devel gcc gcc -c++ make
[root@192 ~]# useradd -M -s /sbin/nologin nginx
[root@192 ~]# tar zxf nginx-1.13.9 -C /usr/src
[root@192 ~]# cd /usr/src/nginx-1.13.9/
[root@192 nginx-1.13.9] # ./ configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install
[root@192 ~]# ln -s /usr/ local/nginx/sbin/nginx /usr/local/sbin
Nginx nicht starten
③Zwei Tomcat-Hosts zur Installation
jdk从官网下载需要许可,允许之后下载至本地,导入主机 tomcat从官网downloads找到tomcat7.0或者更高版本 wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.86/bin/apache-tomcat-7.0.86.tar.gz
[root@ 192 ~]# tar zxf jdk-7u65-linux-x64.gz -C /usr/src
[root@192 ~]# tar zxf apache-tomcat-7.0.54.tar gz -C /. usr/src
[root@192 ~]# mv jdk1.7.0_65/ /usr/local/java
[root@192 ~]# mv apache-tomcat- 7.0.54/ /usr/local/tomcat7
[root@192 ~]# vim /etc/profile
export JAVA_HOME=/usr/local/java export CATALINA_HOME=/usr/local/tomcat7 export PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$PATH
[root@192 ~]# source /etc/profile
[ root@192 ~]# Java -Version
java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
[root@192 ~]# catalina.sh version
Using CATALINA_BASE: /usr/local/tomcat7 Using CATALINA_HOME: /usr/local/tomcat7 Using CATALINA_TMPDIR: /usr/local/tomcat7/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar Server version: Apache Tomcat/7.0. Server built: May 19 2014 10:26:15 Server number: 7.0.86.0 OS Name: Linux OS Version: 3.10.0-327.el7.x86_64 Architecture: amd64 JVM Version: 1.7.0_65-b17 JVM Vendor: Oracle Corporation
Starte Tomcat
[root@192 ~]# /usr/local /tomcat7/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat7 Using CATALINA_HOME: /usr/local/tomcat7 Using CATALINA_TMPDIR: /usr/local/tomcat7/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar Tomcat started.
Testzugriff
http://192.168.2.6:8080
http://192.168.2.7:8080
④Ändern Sie Tomcat-Konfigurationsdateien auf zwei Hosts
[root@192 ~]#cd /usr/local/tomcat7/conf
[root@192 ~]#cp server.xml server
[root@192 ~]#vim server.xml
....... <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat-1"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context docBase="/web/webapp1" path="" reloadable="true"/>
[root@192 ~]#mkdir -p /web/webapp1
[root@ 192 ~]#vim /web/webapp1/index.jsp
<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>tomcat-1</title> </head> <body> <h1><font color="red">Session serviced by tomcat</font></h1> <table aligh="center" border="1"> <tr> <td>Session ID</td> <td><%=session.getId()%></td> <% session.setAttribute("abc","abc");%> </tr> <tr> <td>Create on</td> <td><%= session.getCreationTime() %></td> </tr> </table> </body> </html>
Tomcat neu starten
[root@192 ~]#shutdown.sh
[root@192 ~]#startup.sh
Hinweis: Der Unterschied zwischen dem zweiten Host und dem Server ist jvmRoute="tomcat-2" in server.xml und
Der Testzugriff zeigt, dass die Sitzungs-IDs der beiden Tomcat-Hosts unterschiedlich sind, und die Vorbereitungen sind abgeschlossen
http://192.168.2.6:8080
http://192.168.2.7:8008
Schritte:
① Sitzungsfreigabecluster auf zwei Hosts konfigurieren
[root@192 ~]#vim /usr/local/tomcat7/ conf/server /web.xml WEB-INF/
[root@192 ~]#vim WEB-INF/web.xml
....... <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat-1"> <!--For clustering, please take a look at documentation at: /docs/cluster-howto.html (simple how to) /docs/config/cluster.html (reference documentation) --> <!-- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> --> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> <Channel className="org.apache.catal ina.tribes.group.GroupChannel"> <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="192.168.2.5" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> </Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/> <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" temDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster> <!-- Use the LockOutRealm to prevent attempts to guess user passwords via a brute-force attack --> <Realm className="org.apache.catalina.realm.LockOutRealm"> <!-- This Realm uses the UserDatabase configured in the global JNDI resources under the key "UserDatabase". Any edits that are performed against this UserDatabase are immediately available for use by the Realm. --> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context docBase="/web/webapp1" path="" reloadable="true"/>Wenn Sie die Firewall aktivieren, aktivieren Sie Folgendes
[root@192 ~]#firewall-cmd --add-port=45564/udp --permanent
[root@192 ~]#firewall-cmd -- add-port=4000/ tcp --permanent
[root@192 ~]#firewall-cmd --reload
Tomcat neu starten[root@192 ~]#shutdown.sh [root@192 ~]#startup.sh
Hinweis: Die beiden Tomcat-Konfigurationen sind gleich, verweisen nur auf die IP-Adresse des zweiten Hosts im Empfängerabschnitt
②Nginx konfigurieren[root@192 ~]#vim /usr/local/nginx/conf/nginx.conf
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <distributable/> #添加这个单词,必须有这一步,否则用户的session没法使用Starten Sie Nginx und besuchen Sie die Nginx-Adresse und aktualisieren Sie die Seite, um den Zugriff zu testen
[root@192 ~]#nginx
http://192.168.2.5
3. Stellen Sie eine Verbindung zur MySQL-Datenbank her
Schritte:
.
an javauser@'192.168. 2.%' identifiziert durch '123.com';
mysql>create Database javatestmysql>use javatest
mysql>create table testdata(id int not null auto_increment Primary Key,foo varchar(25),bar varchar(10)) ;
mysql>insert into testdata(foo,bar) Values('hello','123.com');
mysql>select * from testdata;
②下载mysql-connector-java-5.1.22-bin.jar 复制到tomcat7/lib/目录下(两台tomcat都需要配置)
[root@192 ~]# cp mysql-connector-java-5.1.22-bin.jar /usr/local/tomcat7/lib/
③配置context.xml
[root@192 ~]# cp /usr/local/tomcat7/conf/context.xml /usr/local/tomcat7/conf/context.xml.bak
[root@192 ~]# vim /usr/local/tomcat7/conf/context.xml
<Context> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="javauser" password="123.com" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.2.8:3306/javatest"/>
④配置web.xml
[root@192 ~]# vim /web/webapp1/web.xml
...... <distributable/> <description>MySQL Test App</description> <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/TestDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
⑤编写连接数据库jsp文件
[root@192 ~]# vim /web/webapp1/test.jsp
<%@ page language="java" import="java.sql.*" pageEncoding="GB2312"%> <html> <head> <title>MySQL</title> </head> <body> connect MySQL<br> <% String driverClass="com.mysql.jdbc.Driver"; String url="jdbc:mysql://192.168.2.8:3306/javatest"; String username = "javauser"; String password = "123.com"; Class.forName(driverClass); Connection conn=DriverManager.getConnection(url, username, password); Statement stmt=conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from testdata"); while(rs.next()){ out.println("<br>foo:"+rs.getString(2)+"bar:"+rs.getString(3)); } rs.close(); stmt.close(); conn.close(); %> </body></html>
⑥重启tomcat,测试连接
[root@192 ~]# shutdown.sh
[root@192 ~]# startup.sh
http://192.168.2.5/test.jsp
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
ThinkPHP5.0 Linux Apache/Nginx重写URL配置
Das obige ist der detaillierte Inhalt vonNginx-Ladeplaner + Duale Tomcat-Lade- und Sitzungsfreigabe + MySQL-Back-End-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!