ホームページ >バックエンド開発 >PHPチュートリアル >Nginx ロード スケジューラ + デュアル Tomcat ロードおよびセッション共有 + MySQL バックエンド データベース

Nginx ロード スケジューラ + デュアル Tomcat ロードおよびセッション共有 + MySQL バックエンド データベース

不言
不言オリジナル
2018-07-07 16:43:162149ブラウズ

この記事では主に、Nginx ロード スケジューラのデュアル Tomcat ロードとセッション共有 MySQL バックエンド データベースを紹介します。これには特定の参考値があります。今、共有します。必要な友人は参照してください。

Nginx Load スケジューラ デュアル Tomcat ロードとセッション レプリケーション MySQL バックエンド データベース

環境:

##IPFunction192.168.2.5nginx192.168.2.6tomcat1192.168.2.7tomcat2##192.168.2.8 1. セッション共有前の設定
mysql

手順:

①ファイアウォールを閉じるか、ポート 80、8080、3306 を開いて、selinux を閉じます

②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.tar.gz -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

を起動しないでください③インストール用の 2 つの Tomcat ホスト

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 ~]# ソース /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 バージョン

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

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.

テストアクセス

http:// 192.168.2.6:8080

http://192.168.2.7:8080

④2 つのホストが Tomcat 構成ファイルを変更します
[root@192 ~]#cd /usr/local/tomcat7/conf


[root@192 ~]#cp サーバー.xml サーバー.xml.bak

[root@192 〜]#vim サーバー.xml

.......
<engine>
<host>
        <context></context></host></engine>

[root@192 〜]#mkdir -p /web/webapp1

[root@192 ~]#vim /web/webapp1/index.jsp


 
<title>tomcat-1</title>
 

 <h1><font>Session serviced by tomcat</font></h1>
                  
Session ID
Create on

tomcatを再起動

[root@192 ~] #shutdown.sh

[root@192 ~]#startup.sh

注: 2 番目のホストは、server.xml の jvmRoute=”tomcat-2” とインデックスで異なります。tomcat-2< ;/title><p><strong></strong> jsp でテストアクセスすると、2 つの Tomcat ホストのセッション ID が異なることがわかり、準備は完了です</p> <p>http://192.168.2.6 :8080 </p>http://192.168.2.7:8008<blockquote> <br>2. セッション共有設定</blockquote> <h2>手順:</h2> <p>①2 台のホストでセッション共有クラスターを設定します</p> [root@ 192 ~]#vim /usr/local/tomcat7/conf/server.xml<p></p> <pre class="brush:php;toolbar:false">....... <engine>       <!--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>          <manager></manager>          <channel ina.tribes.group.groupchannel>             <membership></membership>             <receiver></receiver>             <sender>               <transport></transport>             </sender>             <interceptor></interceptor>             <interceptor></interceptor>           </channel>           <valve></valve>           <valve></valve>   <deployer></deployer>   <clusterlistener></clusterlistener>       <clusterlistener></clusterlistener>     </cluster>   <!-- Use the LockOutRealm to prevent attempts to guess user passwords via a brute-force attack -->   <realm>     <!-- 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></realm>   </realm>   <host>     <context></context></host></engine></pre> <br>[root@192 ~]#mkdir /web/webapp1/WEB-INF<p>[ root@192 ~]#cp /usr/local/tomcat7/conf/web.xml WEB-INF/</p> <p>[root@192 ~]#vim WEB-INF/web.xml</p> <pre class="brush:php;toolbar:false"><web-app> <distributable></distributable>  #添加这个单词,必须有这一步,否则用户的session没法使用</web-app></pre> <p></p> ファイアウォールが有効になっている場合は、次を有効にします <p><em></em>[root@192 ~]#firewall-cmd --add-port=45564/udp --permanent<br> <em></em> [root@192 ~]#firewall-cmd --add-port=4000/tcp --permanent<br> <em></em>[root@192 ~]#firewall-cmd --reload<br><em> </em>Tomcat を再起動</p>[root@192 ~]#shutdown.sh<p>[root@192 ~]#startup.sh<br><br></p>注: 2 つの Tomcat 設定は同じです。受信側セグメントが 2 番目のホストの IP アドレスを参照している限り <p><strong>#②nginx を設定します</strong>[root@192 ~]#vim /usr/local/nginx/conf/nginx.conf</p> <pre class="brush:php;toolbar:false">....... http {  ....... upstream tomcat_server {         server 192.168.2.6:8080 weight=1;         server 192.168.2.7:8080 weight=1;   }     #gzip  on;     server {         listen       80;         server_name  localhost;         #charset koi8-r;         #access_log  logs/host.access.log  main;         location / {             root   html;             index  index.html index.htm;             proxy_pass http://tomcat_server;         }</pre> <p>nginx を起動し、nginx アドレスにアクセスしてページを更新してアクセスをテストします<br></p>[root@192 ~]#nginx<p></p>http://192.168.2.5<p></p> 3. mysql データベースへの接続<blockquote></blockquote>手順:<h2></h2>①192.168.2.8 の mysql コンテナがデータベース サーバーとして機能し、mysql:<p>mysql>を設定し、</p> にすべての権限を付与します。 <p> '123.com' によって識別された javauser @'192.168.2.%' に;<br><em>mysql> データベースを作成 javatest</em></p>mysql>use javatest<p></p>mysql> create table testdata(id int not null auto_increment Primary key,foo varchar(25),bar varchar(10));<p></p>mysql>insert into testdata(foo,bar)values('hello','123. com');<p></p>mysql>select * from testdata;<p></p> <p></p> <table>id<thead><tr class="firstRow">foo<th></th>bar<th> </th> <th></th> </tr></thead>1<tbody><tr>こんにちは<td></td>123.com<td></td> <td></td> <p>②下载mysql-connector-java-5.1.22-bin.jar 复制到tomcat7/lib/目录下(两台tomcat都需要配置)<br>[root@192 ~]# cp mysql-connector-java-5.1.22-bin.jar /usr/local/tomcat7/lib/</p> <p>③配置context.xml<br>[root@192 ~]# cp /usr/local/tomcat7/conf/context.xml /usr/local/tomcat7/conf/context.xml.bak</p> <p>[root@192 ~]# vim /usr/local/tomcat7/conf/context.xml</p> <pre class="brush:php;toolbar:false"><context>     <!-- Default set of monitored resources -->     <watchedresource>WEB-INF/web.xml</watchedresource>     <resource></resource></context></pre> <p>④配置web.xml<br>[root@192 ~]# vim /web/webapp1/web.xml</p> <pre class="brush:php;toolbar:false">...... <distributable></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></pre> <p>⑤编写连接数据库jsp文件<br>[root@192 ~]# vim /web/webapp1/test.jsp</p> <pre class="brush:php;toolbar:false">        <title>MySQL</title>    connect MySQL<br> foo:"+rs.getString(2)+"bar:"+rs.getString(3)); } rs.close(); stmt.close(); conn.close(); %> </pre> <p>⑥重启tomcat,测试连接<br>[root@192 ~]# shutdown.sh<br>[root@192 ~]# startup.sh</p> <blockquote>http://192.168.2.5/test.jsp</blockquote> <p>以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!</p> <p>相关推荐:</p> <p class="comments-box-content"><a title="ThinkPHP5.0 Linux Apache/Nginx重写URL配置" href="http://www.php.cn/php-weizijiaocheng-406204.html" target="_blank">ThinkPHP5.0 Linux Apache/Nginx重写URL配置</a><br></p> <p class="mt20 ad-detail-mm hidden-xs"><a title="使用cronolog切割nginx访问日志,定时清理旧日志" href="http://www.php.cn/php-weizijiaocheng-406203.html" target="_blank">使用cronolog切割nginx访问日志,定时清理旧日志</a><br></p> </tr></tbody> </table>

以上がNginx ロード スケジューラ + デュアル Tomcat ロードおよびセッション共有 + MySQL バックエンド データベースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。