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/1835514464028422144.htm"
                           title="情绪觉察日记第37天" target="_blank">情绪觉察日记第37天</a>
                        <span class="text-muted">露露_e800</span>

                        <div>今天是家庭关系规划师的第二阶最后一天,慧萍老师帮我做了个案,帮我处理了埋在心底好多年的一份恐惧,并给了我深深的力量!这几天出来学习,爸妈过来婆家帮我带小孩,妈妈出于爱帮我收拾东西,并跟我先生和婆婆产生矛盾,妈妈觉得他们没有照顾好我…。今晚回家见到妈妈,我很欣赏她并赞扬她,妈妈说今晚要跟我睡我说好,当我们俩躺在床上准备睡觉的时候,我握着妈妈的手对她说:妈妈这几天辛苦你了,你看你多利害把我们的家收拾得</div>
                    </li>
                    <li><a href="/article/1835514335561084928.htm"
                           title="芦花鞋一四" target="_blank">芦花鞋一四</a>
                        <span class="text-muted">许叶晗</span>

                        <div>又是在一个寒冷的夏日里,青铜和葵花决定今天一起去卖芦花鞋,奶奶亲手给他们做了一碗热乎乎的粥对他们说:“就靠你们两挣生活费了这碗粥赶紧趁热喝了吧!”于是青铜和葵花喝完了奶奶给她们做的粥,就准备去镇上卖卢花鞋,这回青铜和葵花穿着新的芦花鞋来到了镇上。青铜这回看到了很多人都在卖,用手势表达对葵花说:“这回有好多人在抢我们生意呢!我们必须得吆喝起来。”葵花点了点头。可是谁知他们也大声的叫,卖芦花喽!卖芦花</div>
                    </li>
                    <li><a href="/article/1835514207114719232.htm"
                           title="关于沟通这件事,项目经理不需要每次都面对面进行" target="_blank">关于沟通这件事,项目经理不需要每次都面对面进行</a>
                        <span class="text-muted">流程大师兄</span>

                        <div>很多项目经理都会遇到这样的问题,项目中由于事情太多,根本没有足够的时间去召开会议,那在这种情况下如何去有效地管理项目中的利益相关者?当然,不建议电子邮件也不需要开会的话,建议可以采取下面几种方式来形成有效的沟通,这几种方式可以帮助你努力的通过各种办法来保持和各方面的联系。项目经理首先要问自己几个问题,项目中哪些利益相关者是必须要进行沟通的?可以列出项目中所有的利益相关者清单,同时也整理出项目中哪些</div>
                    </li>
                    <li><a href="/article/1835513803861749760.htm"
                           title="机器学习与深度学习间关系与区别" target="_blank">机器学习与深度学习间关系与区别</a>
                        <span class="text-muted">ℒℴѵℯ心·动ꦿ໊ོ꫞</span>
<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/%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/python/1.htm">python</a>
                        <div>一、机器学习概述定义机器学习(MachineLearning,ML)是一种通过数据驱动的方法,利用统计学和计算算法来训练模型,使计算机能够从数据中学习并自动进行预测或决策。机器学习通过分析大量数据样本,识别其中的模式和规律,从而对新的数据进行判断。其核心在于通过训练过程,让模型不断优化和提升其预测准确性。主要类型1.监督学习(SupervisedLearning)监督学习是指在训练数据集中包含输入</div>
                    </li>
                    <li><a href="/article/1835513551624695808.htm"
                           title="【iOS】MVC设计模式" target="_blank">【iOS】MVC设计模式</a>
                        <span class="text-muted">Magnetic_h</span>
<a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/objective-c/1.htm">objective-c</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a>
                        <div>MVC前言如何设计一个程序的结构,这是一门专门的学问,叫做"架构模式"(architecturalpattern),属于编程的方法论。MVC模式就是架构模式的一种。它是Apple官方推荐的App开发架构,也是一般开发者最先遇到、最经典的架构。MVC各层controller层Controller/ViewController/VC(控制器)负责协调Model和View,处理大部分逻辑它将数据从Mod</div>
                    </li>
                    <li><a href="/article/1835513440525971456.htm"
                           title="一百九十四章. 自相矛盾" target="_blank">一百九十四章. 自相矛盾</a>
                        <span class="text-muted">巨木擎天</span>

                        <div>唉!就这么一夜,林子感觉就像过了很多天似的,先是回了阳间家里,遇到了那么多不可思议的事情儿。特别是小伙伴们,第二次与自己见面时,僵硬的表情和恐怖的气氛,让自己如坐针毡,打从心眼里难受!还有东子,他现在还好吗?有没有被人欺负?护城河里的小鱼小虾们,还都在吗?水不会真的干枯了吧?那对相亲相爱漂亮的太平鸟儿,还好吧!春天了,到了做窝、下蛋、喂养小鸟宝宝的时候了,希望它们都能够平安啊!虽然没有看见家人,也</div>
                    </li>
                    <li><a href="/article/1835513424734416896.htm"
                           title="UI学习——cell的复用和自定义cell" target="_blank">UI学习——cell的复用和自定义cell</a>
                        <span class="text-muted">Magnetic_h</span>
<a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a>
                        <div>目录cell的复用手动(非注册)自动(注册)自定义cellcell的复用在iOS开发中,单元格复用是一种提高表格(UITableView)和集合视图(UICollectionView)滚动性能的技术。当一个UITableViewCell或UICollectionViewCell首次需要显示时,如果没有可复用的单元格,则视图会创建一个新的单元格。一旦这个单元格滚动出屏幕,它就不会被销毁。相反,它被添</div>
                    </li>
                    <li><a href="/article/1835512920797179904.htm"
                           title="element实现动态路由+面包屑" target="_blank">element实现动态路由+面包屑</a>
                        <span class="text-muted">软件技术NINI</span>
<a class="tag" taget="_blank" href="/search/vue%E6%A1%88%E4%BE%8B/1.htm">vue案例</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>el-breadcrumb是ElementUI组件库中的一个面包屑导航组件,它用于显示当前页面的路径,帮助用户快速理解和导航到应用的各个部分。在Vue.js项目中,如果你已经安装了ElementUI,就可以很方便地使用el-breadcrumb组件。以下是一个基本的使用示例:安装ElementUI(如果你还没有安装的话):你可以通过npm或yarn来安装ElementUI。bash复制代码npmi</div>
                    </li>
                    <li><a href="/article/1835512305320816640.htm"
                           title="地推话术,如何应对地推过程中家长的拒绝" target="_blank">地推话术,如何应对地推过程中家长的拒绝</a>
                        <span class="text-muted">校师学</span>

                        <div>相信校长们在做地推的时候经常遇到这种情况:市场专员反馈家长不接单,咨询师反馈难以邀约这些家长上门,校区地推疲软,招生难。为什么?仅从地推层面分析,一方面因为家长受到的信息轰炸越来越多,对信息越来越“免疫”;而另一方面地推人员的专业能力和营销话术没有提高,无法应对家长的拒绝,对有意向的家长也不知如何跟进,眼睁睁看着家长走远;对于家长的疑问,更不知道如何有技巧地回答,机会白白流失。由于回答没技巧和专业</div>
                    </li>
                    <li><a href="/article/1835512178023690240.htm"
                           title="谢谢你们,爱你们!" target="_blank">谢谢你们,爱你们!</a>
                        <span class="text-muted">鹿游儿</span>

                        <div>昨天家人去泡温泉,二个孩子也带着去,出发前一晚,匆匆下班,赶回家和孩子一起收拾。饭后,我拿出笔和本子(上次去澳门时做手帐的本子)写下了1\2\3\4\5\6\7\8\9,让后让小壹去思考,带什么出发去旅游呢?她在对应的数字旁边画上了,泳衣、泳圈、肖恩、内衣内裤、tapuy、拖鞋……画完后,就让她自己对着这个本子,将要带的,一一带上,没想到这次带的书还是这本《便便工厂》(晚上姑婆发照片过来,妹妹累得</div>
                    </li>
                    <li><a href="/article/1835511911769272320.htm"
                           title="C语言如何定义宏函数?" target="_blank">C语言如何定义宏函数?</a>
                        <span class="text-muted">小九格物</span>
<a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a>
                        <div>在C语言中,宏函数是通过预处理器定义的,它在编译之前替换代码中的宏调用。宏函数可以模拟函数的行为,但它们不是真正的函数,因为它们在编译时不会进行类型检查,也不会分配存储空间。宏函数的定义通常使用#define指令,后面跟着宏的名称和参数列表,以及宏展开后的代码。宏函数的定义方式:1.基本宏函数:这是最简单的宏函数形式,它直接定义一个表达式。#defineSQUARE(x)((x)*(x))2.带参</div>
                    </li>
                    <li><a href="/article/1835511912192897024.htm"
                           title="微服务下功能权限与数据权限的设计与实现" target="_blank">微服务下功能权限与数据权限的设计与实现</a>
                        <span class="text-muted">nbsaas-boot</span>
<a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><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>
                        <div>在微服务架构下,系统的功能权限和数据权限控制显得尤为重要。随着系统规模的扩大和微服务数量的增加,如何保证不同用户和服务之间的访问权限准确、细粒度地控制,成为设计安全策略的关键。本文将讨论如何在微服务体系中设计和实现功能权限与数据权限控制。1.功能权限与数据权限的定义功能权限:指用户或系统角色对特定功能的访问权限。通常是某个用户角色能否执行某个操作,比如查看订单、创建订单、修改用户资料等。数据权限:</div>
                    </li>
                    <li><a href="/article/1835511912843014144.htm"
                           title="理解Gunicorn:Python WSGI服务器的基石" target="_blank">理解Gunicorn:Python WSGI服务器的基石</a>
                        <span class="text-muted">范范0825</span>
<a class="tag" taget="_blank" href="/search/ipython/1.htm">ipython</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>理解Gunicorn:PythonWSGI服务器的基石介绍Gunicorn,全称GreenUnicorn,是一个为PythonWSGI(WebServerGatewayInterface)应用设计的高效、轻量级HTTP服务器。作为PythonWeb应用部署的常用工具,Gunicorn以其高性能和易用性著称。本文将介绍Gunicorn的基本概念、安装和配置,帮助初学者快速上手。1.什么是Gunico</div>
                    </li>
                    <li><a href="/article/1835511163450912768.htm"
                           title="2021年12月19日,春蕾教育集团团建活动感受——黄晓丹" target="_blank">2021年12月19日,春蕾教育集团团建活动感受——黄晓丹</a>
                        <span class="text-muted">黄错错加油</span>

                        <div>感受:1.从陌生到熟悉的过程。游戏环节让我们在轻松的氛围中得到了锻炼,也增长了不少知识。2.游戏过程中,我们贡献的是个人力量,展现的是团队的力量。它磨合的往往不止是工作的熟悉,更是观念上契合度的贴近。3.这和工作是一样的道理。在各自的岗位上,每个人摆正自己的位置、各司其职充分发挥才能,并团结一致劲往一处使,才能实现最大的成功。新知:1.团队精神需要不断地创新。过去,人们把创新看作是冒风险,现在人们</div>
                    </li>
                    <li><a href="/article/1835511036317364224.htm"
                           title="Cell Insight | 单细胞测序技术又一新发现,可用于HIV-1和Mtb共感染个体诊断" target="_blank">Cell Insight | 单细胞测序技术又一新发现,可用于HIV-1和Mtb共感染个体诊断</a>
                        <span class="text-muted">尐尐呅</span>

                        <div>结核病是艾滋病合并其他疾病中导致患者死亡的主要原因。其中结核病由结核分枝杆菌(Mycobacteriumtuberculosis,Mtb)感染引起,获得性免疫缺陷综合症(艾滋病)由人免疫缺陷病毒(Humanimmunodeficiencyvirustype1,HIV-1)感染引起。国家感染性疾病临床医学研究中心/深圳市第三人民医院张国良团队携手深圳华大生命科学研究院吴靓团队,共同研究得出单细胞测序</div>
                    </li>
                    <li><a href="/article/1835511030260789248.htm"
                           title="c++ 的iostream 和 c++的stdio的区别和联系" target="_blank">c++ 的iostream 和 c++的stdio的区别和联系</a>
                        <span class="text-muted">黄卷青灯77</span>
<a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/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><a class="tag" taget="_blank" href="/search/iostream/1.htm">iostream</a><a class="tag" taget="_blank" href="/search/stdio/1.htm">stdio</a>
                        <div>在C++中,iostream和C语言的stdio.h都是用于处理输入输出的库,但它们在设计、用法和功能上有许多不同。以下是两者的区别和联系:区别1.编程风格iostream(C++风格):C++标准库中的输入输出流类库,支持面向对象的输入输出操作。典型用法是cin(输入)和cout(输出),使用>操作符来处理数据。更加类型安全,支持用户自定义类型的输入输出。#includeintmain(){in</div>
                    </li>
                    <li><a href="/article/1835510025561403392.htm"
                           title="《投行人生》读书笔记" target="_blank">《投行人生》读书笔记</a>
                        <span class="text-muted">小蘑菇的树洞</span>

                        <div>《投行人生》----作者詹姆斯-A-朗德摩根斯坦利副主席40年的职业洞见-很短小精悍的篇幅,比较适合初入职场的新人。第一部分成功的职业生涯需要规划1.情商归为适应能力分享与协作同理心适应能力,更多的是自我意识,你有能力识别自己的情并分辨这些情绪如何影响你的思想和行为。2.对于初入职场的人的建议,细节,截止日期和数据很重要截止日期,一种有效的方法是请老板为你所有的任务进行优先级排序。和老板喝咖啡的好</div>
                    </li>
                    <li><a href="/article/1835509391361667072.htm"
                           title="Linux下QT开发的动态库界面弹出操作(SDL2)" target="_blank">Linux下QT开发的动态库界面弹出操作(SDL2)</a>
                        <span class="text-muted">13jjyao</span>
<a class="tag" taget="_blank" href="/search/QT%E7%B1%BB/1.htm">QT类</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/sdl2/1.htm">sdl2</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>需求:操作系统为linux,开发框架为qt,做成需带界面的qt动态库,调用方为java等非qt程序难点:调用方为java等非qt程序,也就是说调用方肯定不带QApplication::exec(),缺少了这个,QTimer等事件和QT创建的窗口将不能弹出(包括opencv也是不能弹出);这与qt调用本身qt库是有本质的区别的思路:1.调用方缺QApplication::exec(),那么我们在接口</div>
                    </li>
                    <li><a href="/article/1835509266627260416.htm"
                           title="绘本讲师训练营【24期】8/21阅读原创《独生小孩》" target="_blank">绘本讲师训练营【24期】8/21阅读原创《独生小孩》</a>
                        <span class="text-muted">1784e22615e0</span>

                        <div>24016-孟娟《独生小孩》图片发自App今天我想分享一个蛮特别的绘本,讲的是一个特殊的群体,我也是属于这个群体,80后的独生小孩。这是一本中国绘本,作者郭婧,也是一个80厚。全书一百多页,均为铅笔绘制,虽然为黑白色调,但并不显得沉闷。全书没有文字,犹如“默片”,但并不影响读者对该作品的理解,反而显得神秘,梦幻,給读者留下想象的空间。作者在前蝴蝶页这样写到:“我更希望父母和孩子一起分享这本书,使他</div>
                    </li>
                    <li><a href="/article/1835508761310097408.htm"
                           title="店群合一模式下的社区团购新发展——结合链动 2+1 模式、AI 智能名片与 S2B2C 商城小程序源码" target="_blank">店群合一模式下的社区团购新发展——结合链动 2+1 模式、AI 智能名片与 S2B2C 商城小程序源码</a>
                        <span class="text-muted">说私域</span>
<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/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a>
                        <div>摘要:本文探讨了店群合一的社区团购平台在当今商业环境中的重要性和优势。通过分析店群合一模式如何将互联网社群与线下终端紧密结合,阐述了链动2+1模式、AI智能名片和S2B2C商城小程序源码在这一模式中的应用价值。这些创新元素的结合为社区团购带来了新的机遇,提升了用户信任感、拓展了营销渠道,并实现了线上线下的完美融合。一、引言随着互联网技术的不断发展,社区团购作为一种新兴的商业模式,在满足消费者日常需</div>
                    </li>
                    <li><a href="/article/1835508130268672000.htm"
                           title="消息中间件有哪些常见类型" target="_blank">消息中间件有哪些常见类型</a>
                        <span class="text-muted">xmh-sxh-1314</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>消息中间件根据其设计理念和用途,可以大致分为以下几种常见类型:点对点消息队列(Point-to-PointMessagingQueues):在这种模型中,消息被发送到特定的队列中,消费者从队列中取出并处理消息。队列中的消息只能被一个消费者消费,消费后即被删除。常见的实现包括IBM的MQSeries、RabbitMQ的部分使用场景等。适用于任务分发、负载均衡等场景。发布/订阅消息模型(Pub/Sub</div>
                    </li>
                    <li><a href="/article/1835508131032035328.htm"
                           title="ArcGIS栅格计算器常见公式(赋值、0和空值的转换、补充栅格空值)" target="_blank">ArcGIS栅格计算器常见公式(赋值、0和空值的转换、补充栅格空值)</a>
                        <span class="text-muted">研学随笔</span>
<a class="tag" taget="_blank" href="/search/arcgis/1.htm">arcgis</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a>
                        <div>我们在使用ArcGIS时通常经常用到栅格计算器,今天主要给大家介绍我日常中经常用到的几个公式,供大家参考学习。将特定值(-9999)赋值为0,例如-9999.Con("raster"==-9999,0,"raster")2.给空值赋予特定的值(如0)Con(IsNull("raster"),0,"raster")3.将特定的栅格值(如1)赋值为空值,其他保留原值SetNull("raster"==</div>
                    </li>
                    <li><a href="/article/1835507626276909056.htm"
                           title="水平垂直居中的几种方法(总结)" target="_blank">水平垂直居中的几种方法(总结)</a>
                        <span class="text-muted">LJ小番茄</span>
<a class="tag" taget="_blank" href="/search/CSS_%E7%8E%84%E5%AD%A6%E8%AF%AD%E8%A8%80/1.htm">CSS_玄学语言</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a>
                        <div>1.使用flexbox的justify-content和align-items.parent{display:flex;justify-content:center;/*水平居中*/align-items:center;/*垂直居中*/height:100vh;/*需要指定高度*/}2.使用grid的place-items:center.parent{display:grid;place-item</div>
                    </li>
                    <li><a href="/article/1835507105168191488.htm"
                           title="本周第二次约练" target="_blank">本周第二次约练</a>
                        <span class="text-muted">2cfbdfe28a51</span>

                        <div>中原焦点团队中24初26刘霞2021.12.3约练161次,分享第368天当事人虽然是带着问题来的,但是咨询过程中发现,她是经过自己不断地调整和努力才走到现在的,看到当事人的不容易,找到例外,发现资源,力量感也就随之而来。增强画面感,或者说重温,会给当事人带来更深刻的感受。</div>
                    </li>
                    <li><a href="/article/1835507103909900288.htm"
                           title="放下是一段成长的修行" target="_blank">放下是一段成长的修行</a>
                        <span class="text-muted">小莳玥</span>

                        <div>人来到这个世界上,只有两件事:生和死。一件事已经做完了,另一件你还急什么呢?是人,都有七情六欲。是心,都有喜怒哀乐,这些再正常不过了。别总抱怨自己活得累,过得辛苦。永远记住:舒坦是留给死人的。苦,才是生活;累,才是工作;变,才是命运;忍,才是历练;容,才是智慧;静,才是修养;舍,才会得到;做,才会拥有。人生,活得太清楚,才是最大的不明白。有些事,看得很清,却说不清;有些人,了解很深,却猜不透;有些</div>
                    </li>
                    <li><a href="/article/1835506996258893824.htm"
                           title="回溯 Leetcode 332 重新安排行程" target="_blank">回溯 Leetcode 332 重新安排行程</a>
                        <span class="text-muted">mmaerd</span>
<a class="tag" taget="_blank" href="/search/Leetcode%E5%88%B7%E9%A2%98%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/1.htm">Leetcode刷题学习记录</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>重新安排行程Leetcode332学习记录自代码随想录给你一份航线列表tickets,其中tickets[i]=[fromi,toi]表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。所有这些机票都属于一个从JFK(肯尼迪国际机场)出发的先生,所以该行程必须从JFK开始。如果存在多种有效的行程,请你按字典排序返回最小的行程组合。例如,行程[“JFK”,“LGA”]与[“JFK”,“LGB</div>
                    </li>
                    <li><a href="/article/1835506869838376960.htm"
                           title="Python数据分析与可视化实战指南" target="_blank">Python数据分析与可视化实战指南</a>
                        <span class="text-muted">William数据分析</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE/1.htm">数据</a>
                        <div>在数据驱动的时代,Python因其简洁的语法、强大的库生态系统以及活跃的社区,成为了数据分析与可视化的首选语言。本文将通过一个详细的案例,带领大家学习如何使用Python进行数据分析,并通过可视化来直观呈现分析结果。一、环境准备1.1安装必要库在开始数据分析和可视化之前,我们需要安装一些常用的库。主要包括pandas、numpy、matplotlib和seaborn等。这些库分别用于数据处理、数学</div>
                    </li>
                    <li><a href="/article/1835506616682770432.htm"
                           title="每日一题——第八十四题" target="_blank">每日一题——第八十四题</a>
                        <span class="text-muted">互联网打工人no1</span>
<a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%AF%8F%E6%97%A5%E4%B8%80%E7%BB%83/1.htm">C语言程序设计每日一练</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a>
                        <div>题目:编写函数1、输入10个职工的姓名和职工号2、按照职工由大到小顺序排列,姓名顺序也随之调整3、要求输入一个职工号,用折半查找法找出该职工的姓名#define_CRT_SECURE_NO_WARNINGS#include#include#defineMAX_EMPLOYEES10typedefstruct{intid;charname[50];}Empolyee;voidinputEmploye</div>
                    </li>
                    <li><a href="/article/1835506084224266240.htm"
                           title="网易严选官方旗舰店,优质商品,卓越服务" target="_blank">网易严选官方旗舰店,优质商品,卓越服务</a>
                        <span class="text-muted">高省_飞智666600</span>

                        <div>网易严选官方旗舰店是网易旗下的一家电商平台,以提供优质商品和卓越服务而闻名。作为一名SEO优化师,我将为您详细介绍网易严选官方旗舰店,并重点强调其特点和优势。大家好!我是高省APP最大团队&联合创始人飞智导师。相较于其他返利app,高省APP的佣金更高,模式更好,最重要的是,终端用户不会流失!高省APP佣金更高,模式更好,终端用户不流失。【高省】是一个自用省钱佣金高,分享推广赚钱多的平台,百度有几</div>
                    </li>
                    <li><a href="/article/1835505858939809792.htm"
                           title="python os.environ" target="_blank">python os.environ</a>
                        <span class="text-muted">江湖偌大</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a>
                        <div>os.environ['TF_CPP_MIN_LOG_LEVEL']='0'#默认值,输出所有信息os.environ['TF_CPP_MIN_LOG_LEVEL']='1'#屏蔽通知信息(INFO)os.environ['TF_CPP_MIN_LOG_LEVEL']='2'#屏蔽通知信息和警告信息(INFO\WARNING)os.environ['TF_CPP_MIN_LOG_LEVEL']='</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>