Tomcat多实例和负载均衡

文章目录

  • Tomcat多实例
    • Tomcat多实例的步骤(理论)
    • Tomcat多实例的具体实验步骤(实操)
  • Nginx+Tomcat负载均衡、动静分离
    • Nginx+Tomcat负载均衡、动静分离的步骤(理论)
    • Nginx+Tomcat负载均衡、动静分离的具体实验步骤(实操)

Tomcat多实例

Tomcat多实例的步骤(理论)

安装好 jdk和安装 tomcat

cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mkdir /usr/local/tomcat
mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1
cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2

配置 tomcat 环境变量

vim /etc/profile.d/tomcat.sh
#tomcat1
export CATALINA_HOME1=/usr/local/tomcat/tomcat1
export CATALINA_BASE1=/usr/local/tomcat/tomcat1
export TOMCAT_HOME1=/usr/local/tomcat/tomcat1

#tomcat2
export CATALINA_HOME2=/usr/local/tomcat/tomcat2
export CATALINA_BASE2=/usr/local/tomcat/tomcat2
export TOMCAT_HOME2=/usr/local/tomcat/tomcat2
source /etc/profile.d/tomcat.sh

修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号

vim /usr/local/tomcat/tomcat2/conf/server.xml
"8006" shutdown="SHUTDOWN">		#22行,修改Server prot,默认为8005 -> 修改为8006
"8081" protocol="HTTP/1.1"		#69行,修改Connector port,HTTP/1.1  默认为8080 -> 修改为8081
"8010" protocol="AJP/1.3" redirectPort="8443" />	#116行,修改Connector port AJP/1.3,默认为8009 -> 修改为8010

修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量

vim /usr/local/tomcat/tomcat1/bin/startup.sh 
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
##添加以下内容
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1

vim /usr/local/tomcat/tomcat1/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1

vim /usr/local/tomcat/tomcat2/bin/startup.sh 
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2
vim /usr/local/tomcat/tomcat2/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2

启动各 tomcat 中的 /bin/startup.sh

/usr/local/tomcat/tomcat1/bin/startup.sh 
/usr/local/tomcat/tomcat2/bin/startup.sh 

netstat -natp | grep java

浏览器访问测试

http://192.168.80.10:8080
http://192.168.80.10:8081

Tomcat多实例的具体实验步骤(实操)

第一步:放入安装关闭防火墙和selinux
Tomcat多实例和负载均衡_第1张图片
第二步:安装JDK并设置环境变量
安装JKD
Tomcat多实例和负载均衡_第2张图片
编写java脚本设置JDK环境变量
在这里插入图片描述
运行脚本文件,然后查看jdk版本
在这里插入图片描述
第三步:安装tomcat
解压缩tomcat
在这里插入图片描述
创建tomcat多实例的目录,并移动复制文件
在这里插入图片描述
第四步:配置tomcat环境变量
编写脚本
Tomcat多实例和负载均衡_第3张图片
运行脚本文件
在这里插入图片描述
第五步:修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号
修改主配置文件,修改Server prot,默认为8005 -> 修改为8006
Tomcat多实例和负载均衡_第4张图片
修改Connector port,HTTP/1.1 默认为8080 -> 修改为8081
在这里插入图片描述
修改Connector port AJP/1.3,默认为8009 -> 修改为8010
在这里插入图片描述
第六步:修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量
修改tomcat1的startup.sh
Tomcat多实例和负载均衡_第5张图片
修改tomcat1的shutdown.sh
Tomcat多实例和负载均衡_第6张图片
修改tomcat2的startup.sh
Tomcat多实例和负载均衡_第7张图片
修改tomcat2的shutdown.sh
Tomcat多实例和负载均衡_第8张图片
第七步:启动各 tomcat 中的 /bin/startup.sh
Tomcat多实例和负载均衡_第9张图片
第八步:浏览器中访问测试
Tomcat多实例和负载均衡_第10张图片

Nginx+Tomcat负载均衡、动静分离

Nginx+Tomcat负载均衡、动静分离的步骤(理论)

Nginx 服务器:192.168.80.10:80
Tomcat服务器1:192.168.80.100:80
Tomcat服务器2:192.168.80.101:8080 192.168.80.101:8081

部署Nginx 负载均衡器

systemctl stop firewalld
setenforce 0

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

useradd -M -s /sbin/nologin nginx

cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/

cd nginx-1.12.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module

make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecrReload=/bin/kill -s HUP $MAINPID
ExecrStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

部署2台Tomcat 应用服务器

systemctl stop firewalld
setenforce 0

tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/

vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${
     JAVA_HOME}/jre
export CLASSPATH=.:${
     JAVA_HOME}/lib:${
     JRE_HOME}/lib
export PATH=${
     JAVA_HOME}/bin:$PATH
source /etc/profile

tar zxvf apache-tomcat-8.5.16.tar.gz

mv /opt/apache-tomcat-8.5.16/ /usr/local/tomcat

/usr/local/tomcat/bin/shutdown.sh 
/usr/local/tomcat/bin/startup.sh

netstat -ntap | grep 8080

动静分离配置
Tomcat1 server 配置

mkdir /usr/local/tomcat/webapps/test
vim /usr/local/tomcat/webapps/test/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


JSP test1 page<<span class="token operator">/</span>title>   <span class="token comment">#指定为 test1 页面</span>
<<span class="token operator">/</span>head>
<body>
<<span class="token operator">%</span> out<span class="token punctuation">.</span>println<span class="token punctuation">(</span><span class="token string">"动态页面 1,http://www.test1.com"</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token operator">%</span>>
<<span class="token operator">/</span>body>
<<span class="token operator">/</span>html>
</code></pre> 
  <pre><code class="prism language-powershell">vim <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>conf<span class="token operator">/</span>server<span class="token punctuation">.</span>xml
</code></pre> 
  <p>#由于主机名 name 配置都为 localhost,需要删除前面的 HOST 配置</p> 
  <pre><code class="prism language-powershell"><Host name=<span class="token string">"localhost"</span> appBase=<span class="token string">"webapps"</span> unpackWARs=<span class="token string">"true"</span> autoDeploy=<span class="token string">"true"</span> xmlValidation=<span class="token string">"false"</span> xmlNamespaceAware=<span class="token string">"false"</span>>
	<Context docBase=<span class="token string">"/usr/local/tomcat/webapps/test"</span> path=<span class="token string">""</span> reloadable=<span class="token string">"true"</span>>
	<<span class="token operator">/</span>Context>
<<span class="token operator">/</span>Host>
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>bin<span class="token operator">/</span>shutdown<span class="token punctuation">.</span>sh 
<span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>bin<span class="token operator">/</span>startup<span class="token punctuation">.</span>sh 
</code></pre> 
  <p>Tomcat2 server 配置</p> 
  <pre><code class="prism language-powershell">mkdir <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat1<span class="token operator">/</span>webapps<span class="token operator">/</span>test <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat2<span class="token operator">/</span>webapps<span class="token operator">/</span>test

vim <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat1<span class="token operator">/</span>webapps<span class="token operator">/</span>test<span class="token operator">/</span>index<span class="token punctuation">.</span>jsp
</code></pre> 
  <pre><code class="prism language-powershell"><<span class="token operator">%</span>@ page language=<span class="token string">"java"</span> import=<span class="token string">"java.util.*"</span> pageEncoding=<span class="token string">"UTF-8"</span><span class="token operator">%</span>>
<html>
<head>
<title>JSP test2 page<<span class="token operator">/</span>title>   <span class="token comment">#指定为 test2 页面</span>
<<span class="token operator">/</span>head>
<body>
<<span class="token operator">%</span> out<span class="token punctuation">.</span>println<span class="token punctuation">(</span><span class="token string">"动态页面 2,http://www.test2.com"</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token operator">%</span>>
<<span class="token operator">/</span>body>
<<span class="token operator">/</span>html>


vim <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat1<span class="token operator">/</span>conf<span class="token operator">/</span>server<span class="token punctuation">.</span>xml
</code></pre> 
  <p>删除前面的 HOST 配置</p> 
  <pre><code class="prism language-powershell"><Host name=<span class="token string">"localhost"</span> appBase=<span class="token string">"webapps"</span> unpackWARs=<span class="token string">"true"</span> autoDeploy=<span class="token string">"true"</span> xmlValidation=<span class="token string">"false"</span> xmlNamespaceAware=<span class="token string">"false"</span>>
	<Context docBase=<span class="token string">"/usr/local/tomcat/tomcat1/webapps/test"</span> path=<span class="token string">""</span> reloadable=<span class="token string">"true"</span> <span class="token operator">/</span>>
<<span class="token operator">/</span>Host>
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat1<span class="token operator">/</span>bin<span class="token operator">/</span>shutdown<span class="token punctuation">.</span>sh 
<span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat1<span class="token operator">/</span>bin<span class="token operator">/</span>startup<span class="token punctuation">.</span>sh 


vim <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat2<span class="token operator">/</span>webapps<span class="token operator">/</span>test<span class="token operator">/</span>index<span class="token punctuation">.</span>jsp
</code></pre> 
  <pre><code class="prism language-powershell"><<span class="token operator">%</span>@ page language=<span class="token string">"java"</span> import=<span class="token string">"java.util.*"</span> pageEncoding=<span class="token string">"UTF-8"</span><span class="token operator">%</span>>
<html>
<head>
<title>JSP test3 page<<span class="token operator">/</span>title>   <span class="token comment">#指定为 test3 页面</span>
<<span class="token operator">/</span>head>
<body>
<<span class="token operator">%</span> out<span class="token punctuation">.</span>println<span class="token punctuation">(</span><span class="token string">"动态页面 3,http://www.test3.com"</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token operator">%</span>>
<<span class="token operator">/</span>body>
<<span class="token operator">/</span>html>
</code></pre> 
  <pre><code class="prism language-powershell">vim <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat2<span class="token operator">/</span>conf<span class="token operator">/</span>server<span class="token punctuation">.</span>xml
</code></pre> 
  <p>#删除前面的 HOST 配置</p> 
  <pre><code class="prism language-powershell"><Host name=<span class="token string">"localhost"</span> appBase=<span class="token string">"webapps"</span> unpackWARs=<span class="token string">"true"</span> autoDeploy=<span class="token string">"true"</span> xmlValidation=<span class="token string">"false"</span> xmlNamespaceAware=<span class="token string">"false"</span>>
	<Context docBase=<span class="token string">"/usr/local/tomcat/tomcat2/webapps/test"</span> path=<span class="token string">""</span> reloadable=<span class="token string">"true"</span> <span class="token operator">/</span>>
<<span class="token operator">/</span>Host>
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat2<span class="token operator">/</span>bin<span class="token operator">/</span>shutdown<span class="token punctuation">.</span>sh 
<span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>tomcat2<span class="token operator">/</span>bin<span class="token operator">/</span>startup<span class="token punctuation">.</span>sh 
</code></pre> 
  <p>Nginx server 配置<br> #准备静态页面和静态图片</p> 
  <pre><code class="prism language-powershell"><span class="token function">echo</span> <span class="token string">'<html><body><h1>这是静态页面</h1></body></html>'</span> > <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>nginx<span class="token operator">/</span>html<span class="token operator">/</span>index<span class="token punctuation">.</span>html
mkdir <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>nginx<span class="token operator">/</span>html<span class="token operator">/</span>img
<span class="token function">cp</span> <span class="token operator">/</span>root<span class="token operator">/</span>game<span class="token punctuation">.</span>jpg <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>nginx<span class="token operator">/</span>html<span class="token operator">/</span>img

vim <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>nginx<span class="token operator">/</span>conf<span class="token operator">/</span>nginx<span class="token punctuation">.</span>conf
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
http <span class="token punctuation">{
     </span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
	<span class="token comment">#gzip on;</span>
	
	<span class="token comment">#配置负载均衡的服务器列表,weight参数表示权重,权重越高,被分配到的概率越大</span>
	upstream tomcat_server <span class="token punctuation">{
     </span>
		server 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>80<span class="token punctuation">.</span>100:8080 weight=1<span class="token punctuation">;</span>
		server 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>80<span class="token punctuation">.</span>101:8080 weight=1<span class="token punctuation">;</span>
		server 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>80<span class="token punctuation">.</span>101:8081 weight=1<span class="token punctuation">;</span>
	<span class="token punctuation">}</span>
	
	server <span class="token punctuation">{
     </span>
		listen 80<span class="token punctuation">;</span>
		server_name www<span class="token punctuation">.</span>kgc<span class="token punctuation">.</span>com<span class="token punctuation">;</span>
	
		charset utf<span class="token operator">-</span>8<span class="token punctuation">;</span>
	
		<span class="token comment">#access_log logs/host.access.log main;</span>
		
		<span class="token comment">#配置Nginx处理动态页面请求,将 .jsp文件请求转发到Tomcat 服务器处理</span>
		location ~ <span class="token punctuation">.</span><span class="token operator">*</span>\<span class="token punctuation">.</span>jsp$ <span class="token punctuation">{
     </span>
			proxy_pass http:<span class="token operator">/</span><span class="token operator">/</span>tomcat_server<span class="token punctuation">;</span>
<span class="token comment">#设置后端的Web服务器可以获取远程客户端的真实IP</span>
<span class="token comment">##设定后端的Web服务器接收到的请求访问的主机名(域名或IP、端口),默认HOST的值为proxy_pass指令设置的主机名。如果反向代理服务器不重写该请求头的话,那么后端真实服务器在处理时会认为所有的请求都来在反向代理服务器,如果后端有防攻击策略的话,那么机器就被封掉了。</span>
			proxy_set_header HOST <span class="token variable">$host</span><span class="token punctuation">;</span>
<span class="token comment">##把$remote_addr赋值给X-Real-IP,来获取源IP</span>
			proxy_set_header X<span class="token operator">-</span>Real<span class="token operator">-</span>IP <span class="token variable">$remote_addr</span><span class="token punctuation">;</span>
<span class="token comment">##在nginx 作为代理服务器时,设置的IP列表,会把经过的机器ip,代理机器ip都记录下来</span>
			proxy_set_header X<span class="token operator">-</span>Forwarded<span class="token operator">-</span><span class="token keyword">For</span> <span class="token variable">$proxy_add_x_forwarded_for</span><span class="token punctuation">;</span>
		<span class="token punctuation">}</span>
		
		<span class="token comment">#配置Nginx处理静态图片请求</span>
		location ~ <span class="token punctuation">.</span><span class="token operator">*</span>\<span class="token punctuation">.</span><span class="token punctuation">(</span>gif<span class="token punctuation">|</span>jpg<span class="token punctuation">|</span>jpeg<span class="token punctuation">|</span>png<span class="token punctuation">|</span>bmp<span class="token punctuation">|</span>swf<span class="token punctuation">|</span>css<span class="token punctuation">)</span>$ <span class="token punctuation">{
     </span>
			root <span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>nginx<span class="token operator">/</span>html<span class="token operator">/</span>img<span class="token punctuation">;</span>
			expires 10d<span class="token punctuation">;</span>
		<span class="token punctuation">}</span>
		
		location <span class="token operator">/</span> <span class="token punctuation">{
     </span>
			root html<span class="token punctuation">;</span>
			index index<span class="token punctuation">.</span>html index<span class="token punctuation">.</span>htm<span class="token punctuation">;</span>
		<span class="token punctuation">}</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
	<span class="token punctuation">}</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
<span class="token punctuation">}</span>
</code></pre> 
  <blockquote> 
   <p>测试效果<br> 测试静态页面效果<br> 浏览器访问 http://192.168.80.10/<br> 浏览器访问 http://192.168.80.10/game.jpg</p> 
  </blockquote> 
  <blockquote> 
   <p>测试负载均衡效果,不断刷新浏览器测试<br> 浏览器访问 http://192.168.80.10/index.jsp</p> 
  </blockquote> 
  <h2>Nginx+Tomcat负载均衡、动静分离的具体实验步骤(实操)</h2> 
  <p>第一步:准备好Nginx服务器(192.168.80.100)<br> <a href="http://img.e-com-net.com/image/info8/e19c39f239134aea8f177f0dac142e2f.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/e19c39f239134aea8f177f0dac142e2f.jpg" alt="Tomcat多实例和负载均衡_第11张图片" width="650" height="145" style="border:1px solid black;"></a><br> 第二步:准备好tomcat服务器(192.168.80.150:8080)<br> <a href="http://img.e-com-net.com/image/info8/a3a0197ff016460588c87cdfb7b87725.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/a3a0197ff016460588c87cdfb7b87725.jpg" alt="Tomcat多实例和负载均衡_第12张图片" width="650" height="263" style="border:1px solid black;"></a><br> 第三步:准备好tomcat服务器的两个实例(192.168.80.200:8080和192.168.80.200:8081),具体步骤参考本文第一段<br> <a href="http://img.e-com-net.com/image/info8/51846835bd06410f9d91ca2266920d9e.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/51846835bd06410f9d91ca2266920d9e.jpg" alt="Tomcat多实例和负载均衡_第13张图片" width="650" height="289" style="border:1px solid black;"></a><br> 第四步:动静分离Tomcat1 server 配置<br> 配置Tomcat1的动态网页显示内容<br> <a href="http://img.e-com-net.com/image/info8/8234035ad05c44bf95999fff13d5b441.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/8234035ad05c44bf95999fff13d5b441.jpg" alt="Tomcat多实例和负载均衡_第14张图片" width="650" height="149" style="border:1px solid black;"></a><br> 添加新的host内容<br> <a href="http://img.e-com-net.com/image/info8/34aa117286d6478ea746d9b27c167571.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/34aa117286d6478ea746d9b27c167571.jpg" alt="Tomcat多实例和负载均衡_第15张图片" width="650" height="295" style="border:1px solid black;"></a><br> 重启服务<br> <a href="http://img.e-com-net.com/image/info8/b055819f241145fea92d08bc7589fc91.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/b055819f241145fea92d08bc7589fc91.jpg" alt="Tomcat多实例和负载均衡_第16张图片" width="650" height="180" style="border:1px solid black;"></a><br> 第五步:Tomcat2 server 配置(实例一)<br> 创建Tomcat实例1和Tomcat实例2的网页测试目录test和测试网页文件<br> <a href="http://img.e-com-net.com/image/info8/40623c2160b245f69fa77436aa623a83.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/40623c2160b245f69fa77436aa623a83.jpg" alt="Tomcat多实例和负载均衡_第17张图片" width="650" height="179" style="border:1px solid black;"></a><br> Tomcat1主配置删除前面的 HOST 配置,添加新的HOST配置<br> <a href="http://img.e-com-net.com/image/info8/4ff4d7ab22434944a62c58c00ad7eded.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/4ff4d7ab22434944a62c58c00ad7eded.jpg" alt="Tomcat多实例和负载均衡_第18张图片" width="650" height="298" style="border:1px solid black;"></a><br> 重启服务<br> <a href="http://img.e-com-net.com/image/info8/ede667975c8344d1b66e8a46caa104ab.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/ede667975c8344d1b66e8a46caa104ab.jpg" alt="Tomcat多实例和负载均衡_第19张图片" width="650" height="156" style="border:1px solid black;"></a><br> 第五步:Tomcat2 server 配置(实例二)<br> 创建Tomcat实例2的测试网页文件<br> <a href="http://img.e-com-net.com/image/info8/6cbd6b878bbe473d8facb534c7af1367.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/6cbd6b878bbe473d8facb534c7af1367.jpg" alt="Tomcat多实例和负载均衡_第20张图片" width="650" height="183" style="border:1px solid black;"></a><br> Tomcat2主配置删除前面的 HOST 配置,添加新的HOST配置<br> <a href="http://img.e-com-net.com/image/info8/5a965ae722824670bb2f5a8678b18a74.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/5a965ae722824670bb2f5a8678b18a74.jpg" alt="Tomcat多实例和负载均衡_第21张图片" width="650" height="288" style="border:1px solid black;"></a><br> 重启服务<br> <a href="http://img.e-com-net.com/image/info8/9fc9be6e16134bef8afb39718b493d89.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/9fc9be6e16134bef8afb39718b493d89.jpg" alt="Tomcat多实例和负载均衡_第22张图片" width="650" height="165" style="border:1px solid black;"></a><br> 第六步:Nginx server 配置(192.168.80.100)<br> 准备网页显示相关内容<br> <a href="http://img.e-com-net.com/image/info8/58ca8b4a7adf421eac95441fad779b76.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/58ca8b4a7adf421eac95441fad779b76.jpg" alt="Tomcat多实例和负载均衡_第23张图片" width="650" height="130" style="border:1px solid black;"></a><br> 修改配置<br> <a href="http://img.e-com-net.com/image/info8/222301f236a94668a5dfc676f13c647f.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/222301f236a94668a5dfc676f13c647f.jpg" alt="Tomcat多实例和负载均衡_第24张图片" width="650" height="230" style="border:1px solid black;"></a><br> 添加新的HOST<br> <a href="http://img.e-com-net.com/image/info8/744ba2b5ca14441ba6eb25f78ab90d1f.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/744ba2b5ca14441ba6eb25f78ab90d1f.jpg" alt="Tomcat多实例和负载均衡_第25张图片" width="650" height="277" style="border:1px solid black;"></a><br> 重新服务<br> <a href="http://img.e-com-net.com/image/info8/5de1cb38bb3d4f128c0d26ba8f54c7c3.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/5de1cb38bb3d4f128c0d26ba8f54c7c3.jpg" alt="在这里插入图片描述" width="650" height="52"></a><br> 第七步:浏览器中进行测试,动态页面测试进行不断刷新即可<br> 测试结果一:静态页面<br> <a href="http://img.e-com-net.com/image/info8/6d181971b1584fbe9f2209da2cc81a63.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/6d181971b1584fbe9f2209da2cc81a63.jpg" alt="Tomcat多实例和负载均衡_第26张图片" width="483" height="299" style="border:1px solid black;"></a><br> 测试结果二:动态页面test1<br> <a href="http://img.e-com-net.com/image/info8/9120220f26bc4360957ef1b09bb9cc17.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/9120220f26bc4360957ef1b09bb9cc17.jpg" alt="Tomcat多实例和负载均衡_第27张图片" width="304" height="214" style="border:1px solid black;"></a><br> 测试结果二:动态页面test3<br> <a href="http://img.e-com-net.com/image/info8/a29292b3acd54bf2a8d03e836ee48780.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/a29292b3acd54bf2a8d03e836ee48780.jpg" alt="Tomcat多实例和负载均衡_第28张图片" width="322" height="342" style="border:1px solid black;"></a></p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1461233451469451264"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(Tomcat多实例和负载均衡)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1948094126847225856.htm"
                           title="有点困,白天耗费太多精力,晚上无精打采的" target="_blank">有点困,白天耗费太多精力,晚上无精打采的</a>
                        <span class="text-muted">鑫girls</span>

                        <div>还是困呀,现在眼皮困得厉害,早上准时起床,吃了饼子和蛋汤,去了班里早读。口语课精神状态还不错,讨论的是婚礼的衣服,我想象的是紫色的婚纱,水晶鞋,浪漫死了,她们个陪我一起去跳舞,穿上风格相似的衣服。第一天是这样子,第二天回门的话就穿中式礼服了。我得甘快减肥,大好青春却不能穿上漂亮衣服会遗憾的饿,明天还是要跑步的。嘉义和西岳去看电影了,我回来预习口语,语法,睡觉,话说,看书真的犯困。中午睡得还蛮香的。</div>
                    </li>
                    <li><a href="/article/1948093887574765568.htm"
                           title="【深度学习】softmax 回归的从零开始实现与简洁实现" target="_blank">【深度学习】softmax 回归的从零开始实现与简洁实现</a>
                        <span class="text-muted">Douglassssssss</span>
<a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E5%9B%9E%E5%BD%92/1.htm">回归</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/softmax%E5%9B%9E%E5%BD%92/1.htm">softmax回归</a><a class="tag" taget="_blank" href="/search/%E4%BA%A4%E5%8F%89%E7%86%B5%E6%8D%9F%E5%A4%B1%E5%87%BD%E6%95%B0/1.htm">交叉熵损失函数</a>
                        <div>前言小时候听过一个小孩练琴的故事,老师让他先弹最简单的第一小节,小孩练了两天后弹不出。接着,老师让他直接去练更难的第二小节,小孩练习了几天后还是弹不出,开始感觉到挫败和烦躁了。小孩以为老师之后会让他从简单的开始练,谁知老师直接让他开始练最难的一小节。小孩不干了,问老师是不是故意刁难他。老师笑笑,让他现在弹弹第一小节试试。神奇的是,小孩竟然发现自己已经能完整弹出来了。这有点像我现在的学习状况,前些天</div>
                    </li>
                    <li><a href="/article/1948093507986059264.htm"
                           title="数据集标准化:软件2.0的基石工程" target="_blank">数据集标准化:软件2.0的基石工程</a>
                        <span class="text-muted">AI大模型应用之禅</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>数据集标准化,软件工程,数据质量,机器学习,人工智能,数据治理,数据可信度1.背景介绍在当今数据爆炸的时代,数据已成为企业和组织的核心资产。然而,海量的原始数据往往杂乱无章,格式不统一,质量参差不齐,这严重阻碍了数据价值的挖掘和应用。数据标准化作为解决这一问题的关键技术,已成为软件2.0时代不可或缺的基石工程。软件2.0时代,人工智能、机器学习等技术蓬勃发展,对数据质量提出了更高的要求。传统的软件</div>
                    </li>
                    <li><a href="/article/1948092861991940096.htm"
                           title="一生之计在于勤:读《大江大河》时的自我反思" target="_blank">一生之计在于勤:读《大江大河》时的自我反思</a>
                        <span class="text-muted">米兰文萃</span>

                        <div>跟着孩子们一起背诵小古文,今天背诵到第30课《惜时》,来自于《增广贤文》:一年之计在于春,一日之计在于寅。一家之计在于和,一生之计在于勤。因为才几岁的小孩子,还不知道时间的宝贵,只有奔四的我们,才知道时间的紧迫。对他们来说,只是背诵而已。背诵,也是无形中的一种潜移默化。所以我用后面的注释,给她又翻译了一遍,让她能知道什么意思,往往这样她会更容易背一些,兴许,也能用到她自己的文章中去。背诵完毕,发完</div>
                    </li>
                    <li><a href="/article/1948092733654626304.htm"
                           title="拼多多购物新体验:返利APP让购物更有趣" target="_blank">拼多多购物新体验:返利APP让购物更有趣</a>
                        <span class="text-muted">氧惠爱高省</span>

                        <div>《拼多多返利app的社会价值:促进消费循环,助力经济发展》拼多多返利app的兴起不仅为消费者带来了实惠和便利,也为社会经济发展注入了新的活力。它通过促进消费循环、带动产业升级等方式,为经济发展做出了积极贡献。本文将深入探讨拼多多返利app的社会价值及其对经济发展的推动作用。无论您是初来乍到的新用户,还是久经沙场的老顾客,拼多多官方返利APP都能为您量身定制专属的购物方案,让每一笔消费都物超所值,优</div>
                    </li>
                    <li><a href="/article/1948092605229232128.htm"
                           title="美欧通胀爆表!老美放低姿态示好沙特,油价要降下来啦?" target="_blank">美欧通胀爆表!老美放低姿态示好沙特,油价要降下来啦?</a>
                        <span class="text-muted">李云飞</span>

                        <div>作者:李云飞|来源:原创一位久经商场的创业老司机,关注我,每天分享一点财富干货,让你的人生少走弯路。美国和沙特、阿联酋等一些中东大国召开了一场重要的会议。这次会议成为了全世界关注的焦点,更是各路资本密切关注的对象。这是一场什么会议这么重要呢?再说这次会议主要的内容又是什么呢?不用我说,大家用脚趾头都能够猜出来,那肯定就是商讨中东石油加量供应的问题。现在美国是真的急了。我们来看一组数据:美国6月份C</div>
                    </li>
                    <li><a href="/article/1948091996434395136.htm"
                           title="如何设计一个社交平台的关注/粉丝系统?一位8年Java开发者的架构心路" target="_blank">如何设计一个社交平台的关注/粉丝系统?一位8年Java开发者的架构心路</a>
                        <span class="text-muted">天天摸鱼的java工程师</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>如何设计一个社交平台的关注/粉丝系统?——一位8年Java开发者的架构心路当你的社交平台面临百万用户实时互动,如何确保关注操作毫秒级响应?如何保证粉丝列表的实时性和一致性?这个看似基础的功能背后,隐藏着读写扩散、数据一致性、热点用户等架构难题。本文将带你从业务模型到代码落地,构建一个支撑千万级关系的社交系统。一、业务场景与核心挑战典型关注业务流程:未关注已关注用户A关注用户B关系检查写入关注关系更</div>
                    </li>
                    <li><a href="/article/1948090953994661888.htm"
                           title="2021-3-24回忆录" target="_blank">2021-3-24回忆录</a>
                        <span class="text-muted">超超姐</span>

                        <div>重要的三件事:1《羊皮卷启示录》的阅读2房树人读心术特训营的集体分析3姑姑生病住院,做力所能及的支持第二卷《羊皮卷启示录》是在妈妈不烦的直播里,被主播口里津津乐道推荐的一本书。因为主播说读了这本书第一遍,你只觉得它很励志,但坚持读半年后,你会收获不一样的自己。因为无论从心智还是思维上,它都给人以启发和思考。所以我在微信读书上找到了这本书,并购买了纸质版的,我想通过对这本书的阅读,启发心智,成长自己</div>
                    </li>
                    <li><a href="/article/1948090861447344128.htm"
                           title="Django基础(七)———模型常用Field以及Meta配置" target="_blank">Django基础(七)———模型常用Field以及Meta配置</a>
                        <span class="text-muted"></span>

                        <div>前言上篇文章给大家介绍类Django和MySQL数据库的综合使用,以及框架中的ORM模型。这篇文章将继续讲述ORM模型当中常用的Field以及Meta配置一、模型常用Field在Django中,定义了一些Field来与数据库表中的字段类型来进行映射。以下将介绍那些常用的字段类型。1.AutoField映射到数据库中是int类型,可以有自动增长的特性。一般不需要使用这个类型,如果不指定主键,那么模型</div>
                    </li>
                    <li><a href="/article/1948090447909941248.htm"
                           title="阿里云服务器2核8G/4核16G/8核32G配置选择经济型、通用算力型、通用型哪个好?" target="_blank">阿里云服务器2核8G/4核16G/8核32G配置选择经济型、通用算力型、通用型哪个好?</a>
                        <span class="text-muted">阿里云最新优惠和活动汇总</span>

                        <div>2核8G/4核16G/8核32G配置的阿里云服务器在阿里云活动中目前有经济型e、通用算力型u1、通用型c7和通用型g8y四种实例可选,虽然配置相同,但是这些实例规格之间的价格差别是很大的,以2核8G配置为例,活动价格最便宜的经济型e实例2核8G配置只要697.39元/1年,而活动价格最高的通用型g7则要2262.85元/1年,相差了3倍多,因此,我们有必要弄清楚他们之间的差别,这样才能根据自己的需</div>
                    </li>
                    <li><a href="/article/1948090228363292672.htm"
                           title="数据库重构:提升数据库响应速度的策略" target="_blank">数据库重构:提升数据库响应速度的策略</a>
                        <span class="text-muted">AI天才研究院</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97/1.htm">计算</a><a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">AI大模型企业级应用开发实战</a><a class="tag" taget="_blank" href="/search/AI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E4%B8%8E%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">AI人工智能与大数据</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E9%87%8D%E6%9E%84/1.htm">重构</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a>
                        <div>数据库重构:从"拥堵路口"到"高速通道"的性能进化指南关键词:数据库重构、性能优化、索引策略、表结构设计、查询优化、数据分区、分库分表摘要:当你的数据库开始出现"响应变慢"“查询超时"的预警信号,单纯的"打补丁"优化已无法解决根本问题。本文将带你系统了解数据库重构的核心策略,通过生活化比喻、实战案例和代码示例,从索引优化到表结构重构,从查询调优到数据分区,一步步将"拥堵的数据库"改造成"流畅的信息</div>
                    </li>
                    <li><a href="/article/1948090193609289728.htm"
                           title="科普关于vs厂和or厂的欧米茄海马300哪个好" target="_blank">科普关于vs厂和or厂的欧米茄海马300哪个好</a>
                        <span class="text-muted">奢侈品总汇1</span>

                        <div>大家好,我是广城腕表,一个专注腕表知识的爱好者,不定时更新腕表真假对比,拆解评测以及视频解说,学会用专业知识了解腕表的好与坏,让您在玩表之路不入坑,本期给大家说说现在市面上vs厂or厂的欧米茄海马300哪个好。重要提醒→买大厂手表联系方式看文章底部vs厂和or厂的欧米茄海马300哪个好这个问题小编认为vs厂的欧米茄海马300整体做工细节要比or厂好,首先我们看看手表的正面,正面的表盘细节做工到底如</div>
                    </li>
                    <li><a href="/article/1948090101246521344.htm"
                           title="mysql索引和查询优化" target="_blank">mysql索引和查询优化</a>
                        <span class="text-muted">Itzel_yuki</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/mysql%E7%B4%A2%E5%BC%95/1.htm">mysql索引</a><a class="tag" taget="_blank" href="/search/mysql%E6%9F%A5%E8%AF%A2%E4%BC%98%E5%8C%96/1.htm">mysql查询优化</a><a class="tag" taget="_blank" href="/search/%E9%AB%98%E6%80%A7%E8%83%BDmysql/1.htm">高性能mysql</a><a class="tag" taget="_blank" href="/search/%E6%80%BB%E7%BB%93/1.htm">总结</a>
                        <div>BTree索引:1、对于组合索引,如果查询中有某个列是范围查询,则其右边所有列都无法使用索引优化查询2、高性能索引,索引的列不能是表达式的一部分,也不能是函数的参数。应该养成简化where查询的习惯,始终将索引列单独放在符号的一侧。3、前缀索引和索引的选择性:在创建前缀索引时,选择选择性更丰富的前缀长度。4、mysql无法使用前缀索引做orderBy和groupby,也无法使用前缀索引做覆盖扫描。</div>
                    </li>
                    <li><a href="/article/1948089974813421568.htm"
                           title="云平台健康检查全攻略:从入门到精通" target="_blank">云平台健康检查全攻略:从入门到精通</a>
                        <span class="text-muted">AI云原生与云计算技术学院</span>
<a class="tag" taget="_blank" href="/search/AI%E4%BA%91%E5%8E%9F%E7%94%9F%E4%B8%8E%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">AI云原生与云计算</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a>
                        <div>云平台健康检查全攻略:从入门到精通关键词:云平台、健康检查、监控指标、自动化运维、高可用性、故障诊断、性能优化摘要:本文全面解析云平台健康检查的核心技术与实践方法。从基础概念到高级应用,详细讲解健康检查的原理、实现方式和最佳实践。内容包括监控指标体系设计、自动化检查工具开发、常见故障诊断方法以及性能优化策略。通过实际案例和代码演示,帮助读者掌握构建健壮云平台的关键技术,提升系统可靠性和运维效率。1</div>
                    </li>
                    <li><a href="/article/1948089934220947456.htm"
                           title="放手爱吧,哪怕只有一天" target="_blank">放手爱吧,哪怕只有一天</a>
                        <span class="text-muted">Ahomelesskitten</span>

                        <div>在家里闲来无事,看了《beforesunrise》和《beforesunset》。两部电影的主演,导演,编剧都是同一批人,拍摄时间却相隔九年。电影的中文翻译时《爱在黎明破晓前》和《爱在落日余辉时》。中文的意境很悠远,一语道破,使原本稀松平常的片名有了别致的感觉。beforesunrise,beforesunset爱在黎明破晓前,爱在落日余辉时1995年,2004年。1995年的一个傍晚,列车上,他</div>
                    </li>
                    <li><a href="/article/1948089848501956608.htm"
                           title="Zookeeper 在 Kafka 中的作用详解:分布式协调服务的核心价值" target="_blank">Zookeeper 在 Kafka 中的作用详解:分布式协调服务的核心价值</a>
                        <span class="text-muted">lxb_不卑不亢</span>
<a class="tag" taget="_blank" href="/search/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/1.htm">消息队列</a><a class="tag" taget="_blank" href="/search/MQ/1.htm">MQ</a><a class="tag" taget="_blank" href="/search/%E8%BF%9B%E9%98%B6%E5%AE%9E%E6%88%98/1.htm">进阶实战</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a><a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a><a class="tag" taget="_blank" href="/search/rocketmq/1.htm">rocketmq</a>
                        <div>摘要ApacheKafka是一个高吞吐、分布式的流处理平台,广泛应用于大数据和实时系统中。而ApacheZookeeper,则是Kafka背后不可或缺的“隐形英雄”。本文将深入剖析Zookeeper在Kafka架构中的核心作用,帮助开发者全面理解其在分布式协调、元数据管理、故障恢复等方面的关键地位。一、Zookeeper简介Zookeeper是一个开源的分布式协调服务,最初由Hadoop生态发展而</div>
                    </li>
                    <li><a href="/article/1948089554040844288.htm"
                           title="数据库" target="_blank">数据库</a>
                        <span class="text-muted">小胡123</span>

                        <div>数据库长期保存在计算机的存储设备上,按照一定规则组织起来,可被各种用户或应用共享的数据集合数据库系统(DBS)采用数据库技术的计算机系统,由数据库,数据库管理系统,数据库管理员,硬件平台,软件平台构成数据库管理系统(DBMS)是操作和管理数据库的软件,用于建立,使用和维护数据库,对数据库进行统一管理和控制提供的功能:数据定义语言(DDL)数据操作语言(DML)数据控制语言(DCL)数据存储方式:l</div>
                    </li>
                    <li><a href="/article/1948088965491912704.htm"
                           title="junit mockito_如何学习Java中的单元测试:JUnit和Mockito课程" target="_blank">junit mockito_如何学习Java中的单元测试:JUnit和Mockito课程</a>
                        <span class="text-muted">dfsgwe1231</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/1.htm">编程语言</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>junitmockito大家好,今天我将讨论JUnit和单元测试,这是任何软件开发人员的关键技能之一。您可能已经知道JUnit和Mockito是Java应用程序中最受欢迎的两个测试库,并且几乎在每个Java应用程序类路径中都可以找到它们。我经常与Java开发人员见面并一起工作,这些Java开发人员非常了解Java但还没有编写单个单元测试。当我问他们为什么不编写单元测试时,他们提出了许多借口,例如他</div>
                    </li>
                    <li><a href="/article/1948088923557261312.htm"
                           title="《世家弃女,腹黑相公宠不停》《温书妍、傅问舟》完整版免费全文在线赏析_《世家弃女,腹黑相公宠不停》最新章节无广告" target="_blank">《世家弃女,腹黑相公宠不停》《温书妍、傅问舟》完整版免费全文在线赏析_《世家弃女,腹黑相公宠不停》最新章节无广告</a>
                        <span class="text-muted">霸道推书2</span>

                        <div>书名:《世家弃女,腹黑相公宠不停》主角配角:温书妍、傅问舟小说简介:她是侯府嫡女,出生那日,府上百花一夜凋零,她便被下了刑克双亲的诅咒。整整十六年,无人问津。若不是阿姐定亲的那个少年郎战场上受了伤,她不会被接回来替亲……新婚夜,望着轮椅上俊逸深沉的男人以及面前的和离书,她眼神坚定:我不和离。男人眉眼冷漠:“考虑好,我不给人第二次机会!”考虑好了,她要宠着护着爱着这个男人,还要治好他的腿。从此,高冷</div>
                    </li>
                    <li><a href="/article/1948088664101810176.htm"
                           title="婚礼当天,我将女友还给她的竹马(许瑶程哲)好看的小说推荐完结_完本完结小说 婚礼当天,我将女友还给她的竹马许瑶程哲" target="_blank">婚礼当天,我将女友还给她的竹马(许瑶程哲)好看的小说推荐完结_完本完结小说 婚礼当天,我将女友还给她的竹马许瑶程哲</a>
                        <span class="text-muted">多多文馆</span>

                        <div>《婚礼当天,我将女友还给她的竹马》主角:许瑶程哲简介:我和许瑶恋爱八年。在婚期前三天,却发现她电脑里存了上万张同一个男生的照片。我偷偷订下婚礼当天出国的机票。静静看着她若无其事地表演。婚礼当天新郎逃婚,她却疯了。想起她说自己为了抗衰从不熬夜,所以不愿意陪我跨年的话,我心下又冷了几分。没去倒水,直接转身回了房间。最后一天,是原本计划领证的日子。我走出房间那刻,她已经没了踪影。没有一句解释,没有一条消</div>
                    </li>
                    <li><a href="/article/1948088281384153088.htm"
                           title="去迪士尼乐园" target="_blank">去迪士尼乐园</a>
                        <span class="text-muted">社会我嘉姐</span>

                        <div>今天,我们要去迪士尼乐园玩。我们打算我和妈妈去迪士尼,爸爸不和我们去。我们早上起的很早。然后吃早餐,吃完饭,我们就坐班车准备去迪士尼。到了之后,司机告诉我们在哪集合上车。我和妈妈进去后,看见里面的人,人山人海。然后我们就去往里走,排队。进去后,妈妈下载了一个app,在手机上排队。排了一个“七个小矮人过山车。(只能排两个项目,每两个小时能排一个项目)我们一共玩了九个项目。分别是:第一个“创极速光轮”</div>
                    </li>
                    <li><a href="/article/1948088028350181376.htm"
                           title="连载小说--长女三十(95-2)" target="_blank">连载小说--长女三十(95-2)</a>
                        <span class="text-muted">书虫小书</span>

                        <div>文/书虫可能人就是这样,越是不经意间的发现,越是打破以往的印象。第一个周末的中午,我和郑蓉蓉说好一起去学校外面的书店看看。走出校门的时候,正好和高一鸣唐亚飞一行人他们碰一块。他们一行人有七八个人。如果高一鸣唐亚飞不转身往回看,也不会发现我两。高一鸣先往后看,我正好碰上他的目光。高一鸣面无表情地转过脸去,我心里说不上什么感觉。然后唐亚飞也往回看,他看见我和郑蓉蓉,就笑着走了过来说,区长,同桌,你们两</div>
                    </li>
                    <li><a href="/article/1948087956501753856.htm"
                           title="批量插入技巧:减少事务提交次数的性能提升" target="_blank">批量插入技巧:减少事务提交次数的性能提升</a>
                        <span class="text-muted"></span>

                        <div>一、事务提交成本分析每次事务提交触发‌磁盘I/O同步‌(WAL机制)、‌日志写入‌和‌锁资源释放‌操作,高频独立提交会产生指数级开销‌。实验表明:MySQL提交1万次单条插入比单次批量插入‌慢20倍以上‌‌。高频提交还加剧锁竞争与死锁风险,导致事务队列膨胀‌。二、核心优化方案‌合并事务提交‌关闭自动提交(autocommit=0),单事务内完成批量操作后统一COMMIT,减少日志刷盘次数‌。示例代</div>
                    </li>
                    <li><a href="/article/1948087522416455680.htm"
                           title="2023-06-22" target="_blank">2023-06-22</a>
                        <span class="text-muted">大盗东门吹风</span>

                        <div>李斯是中国历史上的一位重要人物,他是秦朝的一位官员和谋臣。他在政治和军事方面都有着很高的才能和成就,被誉为“奸臣”和“权臣”。李斯出生在一个贵族家庭,他的家族在秦国着很高的地位。他年轻时就显示出了非凡的才华和智慧,被视一位有前途的人才。他曾经担任过秦国的官和将军,参与了秦国的征战和统一战争。李斯最著名的就是他与秦始皇合作完成了一系列重要政治和制度改革。他设计了一套完整的法律度和政管理系,使得秦国政</div>
                    </li>
                    <li><a href="/article/1948087452627431424.htm"
                           title="HoRain云--Docker容器迁移全攻略:4种方法详解与实战避坑指南" target="_blank">HoRain云--Docker容器迁移全攻略:4种方法详解与实战避坑指南</a>
                        <span class="text-muted">HoRain云小助手</span>
<a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a>
                        <div>HoRain云小助手:个人主页个人专栏:《Linux系列教程》《c语言教程》⛺️生活的理想,就是为了理想的生活!⛳️推荐前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。专栏介绍专栏名称专栏介绍《C语言》本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。《网络协议》本专栏主要是注重从底层来给大家一步步剖析网</div>
                    </li>
                    <li><a href="/article/1948087395245158400.htm"
                           title="动力节点Spring学习笔记-王鹤(一)IOC控制反转" target="_blank">动力节点Spring学习笔记-王鹤(一)IOC控制反转</a>
                        <span class="text-muted">架构师指路</span>

                        <div>Spring框架学习笔记(一)IOC控制反转官方下载地址动力节点spring资料视频观看地址https://www.bilibili.com/video/BV1nz4y1d7uy一、IOC控制反转1.1概述控制反转(IoC,InversionofControl),是一个概念,是一种思想。指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对象控制权的转移</div>
                    </li>
                    <li><a href="/article/1948085737329061888.htm"
                           title="【生命教育】之一位了不起的网课老师" target="_blank">【生命教育】之一位了不起的网课老师</a>
                        <span class="text-muted">孙敏贵州</span>

                        <div>图片发自App今天是我们班参与生命教育课程第4节;助学教师:孙敏班级人数:一年级32人今天课程的收获:这是我们一年级的小朋友参与《生命教育》课程第4节啦,每一周的生命教育都会给小同学们带来许多不一样得思考和启示。课前,小同学们都把手洗得干干净净,都不想因为终于玩脏了的小手把作业单弄脏了。图片发自App图片发自App图片发自App图片发自App然而,这周最震撼的是郑锐老师给同学们上的这一课《我在互联</div>
                    </li>
                    <li><a href="/article/1948085738583158784.htm"
                           title="养成一个习惯真的需要21天吗?" target="_blank">养成一个习惯真的需要21天吗?</a>
                        <span class="text-muted">大黑不小白</span>

                        <div>文/木子更日更21/100天今天正好是我日更的第21天,就顺带和大家聊聊市面上被大家误解已久的一个定理:养成一个习惯需要21天。但是,笔者认真翻阅了网上(包括外网)的所有相关资料,发现这个理论最早的源头有争议。有人说是美国心理学家威廉・詹姆斯最早提出的,可查遍他的公开言论和书籍,愣是没有找到这句话。不禁让我想起来,太多人因为人云亦云,就骗自己真的相信了某个“定理”或者言论。今天,我们就一起来做个推</div>
                    </li>
                    <li><a href="/article/1948085603849531392.htm"
                           title="力量从哪里来" target="_blank">力量从哪里来</a>
                        <span class="text-muted">Coco加油</span>

                        <div>一个读书群里书友的推荐,打开《力量从哪里来》,忍不住看了200多页,里面有很多的文字触动到我。作者李一诺的勇敢和坚韧,她把真我与外在活成一体,也就有了生命的绽放。一诺的特别,在于她身上巨大的对比反差。她是世俗意义上绝对的牛人:清华大学学士、加州大学洛杉矶分校博士,曾任麦肯锡公司全球董事合伙人、盖茨基金会中国办公室首席代表,是公众号“奴隶社会”和创新教育机构一土学校的联合创始人……随便哪一项摆出来,</div>
                    </li>
                    <li><a href="/article/1948085474165846016.htm"
                           title="深圳美食 | 30年老店集合(下)" target="_blank">深圳美食 | 30年老店集合(下)</a>
                        <span class="text-muted">咸鱼人生实验室</span>

                        <div>图片发自App之前分享的30年老店好好味面家,你们很喜欢是时候把我私藏的老店集合给拿出来了,3代人70年的老店我放最后啦(小心机(*^__^*))潘苏凉茶馆【潘苏凉茶馆】店龄:28年特色:蜜糖烧鸡翼、大菜糕、龟苓膏(附带蜜糖和炼奶,想加多少加多少)、腐竹白果鹌鹑蛋地址:宝安区福永街道德丰路278号(康之宝百货楼下)西园饮食店【西园饮食店】店龄:27年特色:木耳肉馅云吞、白灼肉丸、盘菜地址:宝安区宝</div>
                    </li>
                                <li><a href="/article/12.htm"
                                       title="eclipse maven" target="_blank">eclipse maven</a>
                                    <span class="text-muted">IXHONG</span>
<a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a>
                                    <div>eclipse中使用maven插件的时候,运行run as maven build的时候报错 
-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match. 
  
可以设一个环境变量M2_HOME指</div>
                                </li>
                                <li><a href="/article/139.htm"
                                       title="timer cancel方法的一个小实例" target="_blank">timer cancel方法的一个小实例</a>
                                    <span class="text-muted">alleni123</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/timer/1.htm">timer</a>
                                    <div>package com.lj.timer;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class MyTimer extends TimerTask
{

	private int a;
	
	private Timer timer;
	
	pub</div>
                                </li>
                                <li><a href="/article/266.htm"
                                       title="MySQL数据库在Linux下的安装" target="_blank">MySQL数据库在Linux下的安装</a>
                                    <span class="text-muted">ducklsl</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>1.建好一个专门放置MySQL的目录 
/mysql/db数据库目录 
/mysql/data数据库数据文件目录 
 
2.配置用户,添加专门的MySQL管理用户 
 
>groupadd mysql ----添加用户组
>useradd -g mysql mysql ----在mysql用户组中添加一个mysql用户 
3.配置,生成并安装MySQL 
 
>cmake -D</div>
                                </li>
                                <li><a href="/article/393.htm"
                                       title="spring------>>cvc-elt.1: Cannot find the declaration of element" target="_blank">spring------>>cvc-elt.1: Cannot find the declaration of element</a>
                                    <span class="text-muted">Array_06</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a>
                                    <div>将-------- 
 
<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3</div>
                                </li>
                                <li><a href="/article/520.htm"
                                       title="maven发布第三方jar的一些问题" target="_blank">maven发布第三方jar的一些问题</a>
                                    <span class="text-muted">cugfy</span>
<a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a>
                                    <div>maven中发布 第三方jar到nexus仓库使用的是 deploy:deploy-file命令 
 
有许多参数,具体可查看 
 
http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html 
 
以下是一个例子: 
 
mvn  deploy:deploy-file -DgroupId=xpp3 </div>
                                </li>
                                <li><a href="/article/647.htm"
                                       title="MYSQL下载及安装" target="_blank">MYSQL下载及安装</a>
                                    <span class="text-muted">357029540</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>    好久没有去安装过MYSQL,今天自己在安装完MYSQL过后用navicat for mysql去厕测试链接的时候出现了10061的问题,因为的的MYSQL是最新版本为5.6.24,所以下载的文件夹里没有my.ini文件,所以在网上找了很多方法还是没有找到怎么解决问题,最后看到了一篇百度经验里有这个的介绍,按照其步骤也完成了安装,在这里给大家分享下这个链接的地址</div>
                                </li>
                                <li><a href="/article/774.htm"
                                       title="ios TableView cell的布局" target="_blank">ios TableView cell的布局</a>
                                    <span class="text-muted">张亚雄</span>
<a class="tag" taget="_blank" href="/search/tableview/1.htm">tableview</a>
                                    <div>  cell.imageView.image = [UIImage imageNamed:[imageArray objectAtIndex:[indexPath row]]]; 
    
  
    CGSize itemSize = CGSizeMake(60, 50); 
 
  &nbs</div>
                                </li>
                                <li><a href="/article/901.htm"
                                       title="Java编码转义" target="_blank">Java编码转义</a>
                                    <span class="text-muted">adminjun</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A0%81%E8%BD%AC%E4%B9%89/1.htm">编码转义</a>
                                    <div>    import java.io.UnsupportedEncodingException;

    /**
    * 转换字符串的编码
    */
    public class ChangeCharset {
    /** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁块 */
    public static final Strin</div>
                                </li>
                                <li><a href="/article/1028.htm"
                                       title="Tomcat 配置和spring" target="_blank">Tomcat 配置和spring</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>简介 
Tomcat启动时,先找系统变量CATALINA_BASE,如果没有,则找CATALINA_HOME。然后找这个变量所指的目录下的conf文件夹,从中读取配置文件。最重要的配置文件:server.xml 。要配置tomcat,基本上了解server.xml,context.xml和web.xml。 
 
 Server.xml --  tomcat主</div>
                                </li>
                                <li><a href="/article/1155.htm"
                                       title="Java打印当前目录下的所有子目录和文件" target="_blank">Java打印当前目录下的所有子目录和文件</a>
                                    <span class="text-muted">ayaoxinchao</span>
<a class="tag" taget="_blank" href="/search/%E9%80%92%E5%BD%92/1.htm">递归</a><a class="tag" taget="_blank" href="/search/File/1.htm">File</a>
                                    <div>其实这个没啥技术含量,大湿们不要操笑哦,只是做一个简单的记录,简单用了一下递归算法。 
  
import java.io.File;

/**
 * @author Perlin
 * @date 2014-6-30
 */
public class PrintDirectory {
	
	public static void printDirectory(File f</div>
                                </li>
                                <li><a href="/article/1282.htm"
                                       title="linux安装mysql出现libs报冲突解决" target="_blank">linux安装mysql出现libs报冲突解决</a>
                                    <span class="text-muted">BigBird2012</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>linux安装mysql出现libs报冲突解决 
安装mysql出现 
file /usr/share/mysql/ukrainian/errmsg.sys from install of MySQL-server-5.5.33-1.linux2.6.i386 conflicts with file from package mysql-libs-5.1.61-4.el6.i686 
 </div>
                                </li>
                                <li><a href="/article/1409.htm"
                                       title="jedis连接池使用实例" target="_blank">jedis连接池使用实例</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/jedis%E8%BF%9E%E6%8E%A5%E6%B1%A0/1.htm">jedis连接池</a><a class="tag" taget="_blank" href="/search/jedis/1.htm">jedis</a>
                                    <div>实例代码: 
package com.bijian.study;

import java.util.ArrayList;
import java.util.List;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoo</div>
                                </li>
                                <li><a href="/article/1536.htm"
                                       title="关于朋友" target="_blank">关于朋友</a>
                                    <span class="text-muted">bingyingao</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%8B%E5%8F%8B/1.htm">朋友</a><a class="tag" taget="_blank" href="/search/%E5%85%B4%E8%B6%A3%E7%88%B1%E5%A5%BD/1.htm">兴趣爱好</a><a class="tag" taget="_blank" href="/search/%E7%BB%B4%E6%8C%81/1.htm">维持</a>
                                    <div>  成为朋友的必要条件: 
   志相同,道不合,可以成为朋友。譬如马云、周星驰一个是商人,一个是影星,可谓道不同,但都很有梦想,都要在各自领域里做到最好,当他们遇到一起,互相欣赏,可以畅谈两个小时。   
  志不同,道相合,也可以成为朋友。譬如有时候看到两个一个成绩很好每次考试争做第一,一个成绩很差的同学是好朋友。他们志向不相同,但他</div>
                                </li>
                                <li><a href="/article/1663.htm"
                                       title="【Spark七十九】Spark RDD API一" target="_blank">【Spark七十九】Spark RDD API一</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a>
                                    <div>aggregate 
package spark.examples.rddapi

import org.apache.spark.{SparkConf, SparkContext}

//测试RDD的aggregate方法
object AggregateTest {
  def main(args: Array[String]) {
    val conf = new Spar</div>
                                </li>
                                <li><a href="/article/1790.htm"
                                       title="ktap 0.1 released" target="_blank">ktap 0.1 released</a>
                                    <span class="text-muted">bookjovi</span>
<a class="tag" taget="_blank" href="/search/kernel/1.htm">kernel</a><a class="tag" taget="_blank" href="/search/tracing/1.htm">tracing</a>
                                    <div>Dear,

I'm pleased to announce that ktap release v0.1, this is the first official
release of ktap project, it is expected that this release is not fully
functional or very stable and we welcome bu</div>
                                </li>
                                <li><a href="/article/1917.htm"
                                       title="能保存Properties文件注释的Properties工具类" target="_blank">能保存Properties文件注释的Properties工具类</a>
                                    <span class="text-muted">BrokenDreams</span>
<a class="tag" taget="_blank" href="/search/properties/1.htm">properties</a>
                                    <div>        今天遇到一个小需求:由于java.util.Properties读取属性文件时会忽略注释,当写回去的时候,注释都没了。恰好一个项目中的配置文件会在部署后被某个Java程序修改一下,但修改了之后注释全没了,可能会给以后的参数调整带来困难。所以要解决这个问题。 
    &nb</div>
                                </li>
                                <li><a href="/article/2044.htm"
                                       title="读《研磨设计模式》-代码笔记-外观模式-Facade" target="_blank">读《研磨设计模式》-代码笔记-外观模式-Facade</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ 
 
 



/*
 * 百度百科的定义:
 * Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,
 * 隐藏子系统的复杂性,使子系统更加容易使用。他是为子系统中的一组接口所提供的一个一致的界面
 * 
 * 可简单地</div>
                                </li>
                                <li><a href="/article/2171.htm"
                                       title="After Effects教程收集" target="_blank">After Effects教程收集</a>
                                    <span class="text-muted">cherishLC</span>
<a class="tag" taget="_blank" href="/search/After+Effects/1.htm">After Effects</a>
                                    <div>1、中文入门 
 
http://study.163.com/course/courseMain.htm?courseId=730009 
 
 2、videocopilot英文入门教程(中文字幕) 
 
http://www.youku.com/playlist_show/id_17893193.html 
英文原址: 
http://www.videocopilot.net/basic/ 
素</div>
                                </li>
                                <li><a href="/article/2298.htm"
                                       title="Linux Apache 安装过程" target="_blank">Linux Apache 安装过程</a>
                                    <span class="text-muted">crabdave</span>
<a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a>
                                    <div>Linux Apache 安装过程 
  
下载新版本: 
apr-1.4.2.tar.gz(下载网站:http://apr.apache.org/download.cgi) 
apr-util-1.3.9.tar.gz(下载网站:http://apr.apache.org/download.cgi) 
httpd-2.2.15.tar.gz(下载网站:http://httpd.apac</div>
                                </li>
                                <li><a href="/article/2425.htm"
                                       title="Shell学习 之 变量赋值和引用" target="_blank">Shell学习 之 变量赋值和引用</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/%E5%8F%98%E9%87%8F%E5%BC%95%E7%94%A8/1.htm">变量引用</a><a class="tag" taget="_blank" href="/search/%E8%B5%8B%E5%80%BC/1.htm">赋值</a>
                                    <div>本文转自:http://www.cnblogs.com/papam/articles/1548679.html 
 
Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下规则: 
 
首个字符必须为字母(a-z,A-Z) 
中间不能有空格,可以使用下划线(_) 
不能使用标点符号 
不能使用bash里的关键字(可用help命令查看保留关键字) 
需要给变量赋值时,可以这么写: 
 
</div>
                                </li>
                                <li><a href="/article/2552.htm"
                                       title="Java SE 第一讲(Java SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行)" target="_blank">Java SE 第一讲(Java SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行)</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a>
                                    <div>Java SE 第一讲: 
 
Java SE:Java Standard Edition 
Java ME: Java Mobile Edition 
Java EE:Java Enterprise Edition 
 
Java是由Sun公司推出的(今年初被Oracle公司收购)。 
 
收购价格:74亿美金 
 
J2SE、J2ME、J2EE 
 
JDK:Java Development </div>
                                </li>
                                <li><a href="/article/2679.htm"
                                       title="YII给用户登录加上验证码" target="_blank">YII给用户登录加上验证码</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a>
                                    <div>1、在SiteController中添加如下代码: 
    /**
     * Declares class-based actions.
     */
    public function actions() {
        return array(
            // captcha action renders the CAPTCHA image displ</div>
                                </li>
                                <li><a href="/article/2806.htm"
                                       title="Lucene使用说明" target="_blank">Lucene使用说明</a>
                                    <span class="text-muted">dyy_gusi</span>
<a class="tag" taget="_blank" href="/search/Lucene/1.htm">Lucene</a><a class="tag" taget="_blank" href="/search/search/1.htm">search</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E8%AF%8D%E5%99%A8/1.htm">分词器</a>
                                    <div>Lucene使用说明 
1、lucene简介 
1.1、什么是lucene 
    Lucene是一个全文搜索框架,而不是应用产品。因此它并不像baidu或者googleDesktop那种拿来就能用,它只是提供了一种工具让你能实现这些产品和功能。 
1.2、lucene能做什么 
    要回答这个问题,先要了解lucene的本质。实际</div>
                                </li>
                                <li><a href="/article/2933.htm"
                                       title="学习编程并不难,做到以下几点即可!" target="_blank">学习编程并不难,做到以下几点即可!</a>
                                    <span class="text-muted">gcq511120594</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                                    <div>不论你是想自己设计游戏,还是开发iPhone或安卓手机上的应用,还是仅仅为了娱乐,学习编程语言都是一条必经之路。编程语言种类繁多,用途各 异,然而一旦掌握其中之一,其他的也就迎刃而解。作为初学者,你可能要先从Java或HTML开始学,一旦掌握了一门编程语言,你就发挥无穷的想象,开发 各种神奇的软件啦。 
1、确定目标 
学习编程语言既充满乐趣,又充满挑战。有些花费多年时间学习一门编程语言的大学生到</div>
                                </li>
                                <li><a href="/article/3060.htm"
                                       title="Java面试十问之三:Java与C++内存回收机制的差别" target="_blank">Java面试十问之三:Java与C++内存回收机制的差别</a>
                                    <span class="text-muted">HNUlanwei</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/finalize%28%29/1.htm">finalize()</a><a class="tag" taget="_blank" href="/search/%E5%A0%86%E6%A0%88/1.htm">堆栈</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AD%98%E5%9B%9E%E6%94%B6/1.htm">内存回收</a>
                                    <div>大家知道, Java 除了那 8 种基本类型以外,其他都是对象类型(又称为引用类型)的数据。 JVM 会把程序创建的对象存放在堆空间中,那什么又是堆空间呢?其实,堆( Heap)是一个运行时的数据存储区,从它可以分配大小各异的空间。一般,运行时的数据存储区有堆( Heap)和堆栈( Stack),所以要先看它们里面可以分配哪些类型的对象实体,然后才知道如何均衡使用这两种存储区。一般来说,栈中存放的</div>
                                </li>
                                <li><a href="/article/3187.htm"
                                       title="第二章 Nginx+Lua开发入门" target="_blank">第二章 Nginx+Lua开发入门</a>
                                    <span class="text-muted">jinnianshilongnian</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a>
                                    <div>Nginx入门 
本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章: 
nginx启动、关闭、重启 
http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html 
agentzh 的 Nginx 教程 
http://openresty.org/download/agentzh-nginx-tutor</div>
                                </li>
                                <li><a href="/article/3314.htm"
                                       title="MongoDB windows安装 基本命令" target="_blank">MongoDB windows安装 基本命令</a>
                                    <span class="text-muted">liyonghui160com</span>

                                    <div>  
windows安装 
  
 安装目录: 
  
D:\MongoDB\ 
  
新建目录 
  
D:\MongoDB\data\db 
  
4.启动进城: 
  
cd D:\MongoDB\bin 
  
mongod -dbpath D:\MongoDB\data\db 
  
&n</div>
                                </li>
                                <li><a href="/article/3441.htm"
                                       title="Linux下通过源码编译安装程序" target="_blank">Linux下通过源码编译安装程序</a>
                                    <span class="text-muted">pda158</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>一、程序的组成部分     Linux下程序大都是由以下几部分组成:     二进制文件:也就是可以运行的程序文件     库文件:就是通常我们见到的lib目录下的文件     配置文件:这个不必多说,都知道     帮助文档:通常是我们在linux下用man命令查看的命令的文档      
二、linux下程序的存放目录     linux程序的存放目录大致有三个地方:     /etc, /b</div>
                                </li>
                                <li><a href="/article/3568.htm"
                                       title="WEB开发编程的职业生涯4个阶段" target="_blank">WEB开发编程的职业生涯4个阶段</a>
                                    <span class="text-muted">shw3588</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a>
                                    <div>觉得自己什么都会 
2007年从学校毕业,凭借自己原创的ASP毕业设计,以为自己很厉害似的,信心满满去东莞找工作,找面试成功率确实很高,只是工资不高,但依旧无法磨灭那过分的自信,那时候什么考勤系统、什么OA系统、什么ERP,什么都觉得有信心,这样的生涯大概持续了约一年。 
 
根本不是自己想的那样 
2008年开始接触很多工作相关的东西,发现太多东西自己根本不会,都需要去学,不管是asp还是js,</div>
                                </li>
                                <li><a href="/article/3695.htm"
                                       title="遭遇jsonp同域下变作post请求的坑" target="_blank">遭遇jsonp同域下变作post请求的坑</a>
                                    <span class="text-muted">vb2005xu</span>
<a class="tag" taget="_blank" href="/search/jsonp/1.htm">jsonp</a><a class="tag" taget="_blank" href="/search/%E5%90%8C%E5%9F%9Fpost/1.htm">同域post</a>
                                    <div>今天迁移一个站点时遇到一个坑爹问题,同一个jsonp接口在跨域时都能调用成功,但是在同域下调用虽然成功,但是数据却有问题. 此处贴出我的后端代码片段 
$mi_id = htmlspecialchars(trim($_GET['mi_id ']));
$mi_cv = htmlspecialchars(trim($_GET['mi_cv '])); 
 贴出我前端代码片段: 
$.aj</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>