<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>浮山狼de博客 &#187; 杂类</title>
	<atom:link href="https://www.fushanlang.com/category/unsort/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.fushanlang.com</link>
	<description>next station - 下一站，活在当下，且行且思</description>
	<lastBuildDate>Sat, 29 Nov 2014 15:14:11 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.5</generator>
	<item>
		<title>js-template</title>
		<link>https://www.fushanlang.com/js-template-2315/</link>
		<comments>https://www.fushanlang.com/js-template-2315/#comments</comments>
		<pubDate>Sun, 29 Sep 2013 04:15:29 +0000</pubDate>
		<dc:creator><![CDATA[fushanlang]]></dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[杂类]]></category>

		<guid isPermaLink="false">http://www.fushanlang.com/blog/?p=2315</guid>
		<description><![CDATA[Javascript Template <p>javascript 模板函数分享 /***** 模板字符串，格式为或,或 完全遵循javascript语法，内置输出函数为echo(string);函数 常用调用例子，可以用 如果下方法. js_template(document.getElementById(&#8216;template_code&#8217;).value,{names:[&#8216;tom&#8217;,&#8217;jerry&#8217;,&#8217;david&#8217;]}); 返回模板结合给定数据的结果字符串。 作者:浮山狼 邮箱:fushanlang@gmail.com 若使用中遇到问题，欢迎交流、切磋！ */</p> function js_template(template_string, values_container) { var eval_result = ""; /**模板输出结果**/ //公共的输出函数 var echo = function (output) { eval_result += output; } //产生随机数，为建立唯一临时分隔做铺垫 var randNum = function () { var rnd = {}; rnd.today = new Date(); rnd.seed = rnd.today.getTime(); rnd.seed <span style="color:#777"> . . . &#8594; Read More: <a href="https://www.fushanlang.com/js-template-2315/">js-template</a></span>]]></description>
				<content:encoded><![CDATA[<h1>Javascript Template </h1>
<p>javascript 模板函数分享<br />
/*****<br />
模板字符串，格式为或<!--?js ....?-->,或<br />
完全遵循javascript语法，内置输出函数为echo(string);函数<br />
常用调用例子，可以用 如果下方法.<br />
js_template(document.getElementById(&#8216;template_code&#8217;).value,{names:[&#8216;tom&#8217;,&#8217;jerry&#8217;,&#8217;david&#8217;]});<br />
返回模板结合给定数据的结果字符串。<br />
作者:浮山狼<br />
邮箱:fushanlang@gmail.com<br />
若使用中遇到问题，欢迎交流、切磋！<br />
*/</p>
<pre>
function js_template(template_string, values_container) {

    var eval_result = "";
    /**模板输出结果**/

    //公共的输出函数
    var echo = function (output) {
        eval_result += output;
    }

    //产生随机数，为建立唯一临时分隔做铺垫
    var randNum = function () {
        var rnd = {};
        rnd.today = new Date();
        rnd.seed = rnd.today.getTime();
        rnd.seed = (rnd.seed * 9301 + 49297) % 233280;
        return rnd.seed / (233280.0);
    }
    var split_str = '_{' + randNum() + '}_';
    /*唯一分隔标志字符串*/

    /*消除换行符*/
    var eval_str = template_string.replace(/\n|\r|\t/g, "");

    /*匹配第一个标签<!--?js ...?-->,并将其转为第二个标签形式*/
    eval_str = eval_str.replace(/&lt;\?js(.*?)\?&gt;/g, function ($0, $1) {
        return "" + $1 + "&lt;\/js&gt;";
    });
    eval_str = eval_str.replace(/&lt;js(.*?)\?&gt;/g, function ($0, $1) {
        return "" + $1 + "&lt;\/js&gt;";
    });

    var eval_str_js_array = new Array();
    /*匹配第二个标签 ...--并且返回唯一分隔串，并将匹配的js代码放入eval_str_js_array中备用*/
    eval_str = eval_str.replace(/(.*?)&lt;\/js&gt;/g, function ($0, $1) {
        eval_str_js_array.push($1);
        return split_str;
    });

    /*用唯一分隔标志串分隔得到普通非js串的数组*/
    var eval_str_array = eval_str.split(split_str);
    eval_str = "";
    /**0101010---0为eval_str_array[]元素,1为eval_str_js_array---重新连接为eval_str消除单引号，双引号引起的问题。**/
    for (var i = 0; i &lt; eval_str_js_array.length; ++i) {
        eval_str += 'echo(eval_str_array[' + i + ']);';
        eval_str += eval_str_js_array[i];

    }
    eval_str += 'echo(eval_str_array[' + eval_str_js_array.length + ']);';

    try {
        /*遍历模板变量容器，并重新建立变量*/
        if (values_container) {
            for (var i in values_container) {
                eval('var ' + i + ' =values_container[i];');
            }
        }
        /**执行总的js字符串得到处理结果**/
        eval(eval_str);
        var error_flag = false;
    }
    catch (error) {
        error_flag = true;
    } finally {
        return eval_result;
    }
}</pre>
]]></content:encoded>
			<wfw:commentRss>https://www.fushanlang.com/js-template-2315/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>varnish 400 503错误的原因及解决方法(转)</title>
		<link>https://www.fushanlang.com/arnish-400-503-cuo-wu-di-yuan-yin-ji-jie-jue-fang-fa-zhuan-2226/</link>
		<comments>https://www.fushanlang.com/arnish-400-503-cuo-wu-di-yuan-yin-ji-jie-jue-fang-fa-zhuan-2226/#comments</comments>
		<pubDate>Tue, 04 Sep 2012 07:39:11 +0000</pubDate>
		<dc:creator><![CDATA[fushanlang]]></dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[webserver]]></category>
		<category><![CDATA[杂类]]></category>
		<category><![CDATA[varnish]]></category>

		<guid isPermaLink="false">http://www.fushanlang.com/blog/?p=2226</guid>
		<description><![CDATA[<p>varnish运行中频繁出现400，503错误</p> <p>400错误出现，是因为varnish认为客户端请求header行数及长度过大，其默认最大接受的请求header行数为64，最大长度（所有请求header行长度之和）为2048，解决这个问题比较简单，在varnish启动参数中加入：</p> <p>-p http_max_hdr=256</p> <p>-p http_req_hdr_len=8192</p> <p>再重启varnish, 即可解决其400错误</p> <p>503错误，这是因为varnish对后端服务器响应header有限制，默认长度是2048，可将其调大一些</p> <p>-p http_resp_hdr_len=8192</p> <p>再重启之，即可解决这个问题.</p> <p>转自:http://zhangxugg-163-com.iteye.com/blog/1153267</p> ]]></description>
				<content:encoded><![CDATA[<p>varnish运行中频繁出现400，503错误</p>
<p>400错误出现，是因为varnish认为客户端请求header行数及长度过大，其默认最大接受的请求header行数为64，最大长度（所有请求header行长度之和）为2048，解决这个问题比较简单，在varnish启动参数中加入：</p>
<p>-p http_max_hdr=256</p>
<p>-p http_req_hdr_len=8192</p>
<p>再重启varnish, 即可解决其400错误</p>
<p>503错误，这是因为varnish对后端服务器响应header有限制，默认长度是2048，可将其调大一些</p>
<p>-p http_resp_hdr_len=8192</p>
<p>再重启之，即可解决这个问题.</p>
<p>转自:http://zhangxugg-163-com.iteye.com/blog/1153267</p>
]]></content:encoded>
			<wfw:commentRss>https://www.fushanlang.com/arnish-400-503-cuo-wu-di-yuan-yin-ji-jie-jue-fang-fa-zhuan-2226/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>centos6+lighttpd+php-cgi</title>
		<link>https://www.fushanlang.com/centos6lighttpdphp-cgi-2224/</link>
		<comments>https://www.fushanlang.com/centos6lighttpdphp-cgi-2224/#comments</comments>
		<pubDate>Tue, 04 Sep 2012 07:38:13 +0000</pubDate>
		<dc:creator><![CDATA[fushanlang]]></dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[webserver]]></category>
		<category><![CDATA[杂类]]></category>
		<category><![CDATA[lamp]]></category>

		<guid isPermaLink="false">http://www.fushanlang.com/blog/?p=2224</guid>
		<description><![CDATA[1. lighttpd <p>由于CentOS官方的源中没有Lighttpd包，因此需要手动导入RPMforge源。 请根据自己系统的情况选择如下32/64位、CentOS 5/CentOS 6操作系统的源并安装好，具体请浏览 http://pkgs.repoforge.org/rpmforge-release/ 选择合适的rpm安装包。</p> # wget -c http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm # rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm  2.lighttpd-fastcgi #yum install lighttpd-fastcgi php-cli #chkconfig --levels 235 lighttpd on //start on boot. 4、配置Lighttpd与PHP5 <p>将Lighttpd配置为fastCGI模式，只需要修改三个配置文件，并且比较简单。</p> <p>1、打开 /etc/php.ini 文件</p> <p>&#160;</p> 1 vi /etc/php.ini <p>在php.ini文件最后加如下一行语句并保存：</p> <p>cgi.fix_pathinfo = 1</p> <p>2、打开 /etc/lighttpd/modules.conf 文件：</p> <p>&#160;</p> 1 vi /etc/lighttpd/modules.conf <p>将 include “conf.d/fastcgi.conf” 一行取消注释并保存，如下图：</p> <p></p> <p>3、打开/etc/lighttpd/conf.d/fastcgi.conf 文件：</p> <p>&#160;</p> 1 <span style="color:#777"> . . . &#8594; Read More: <a href="https://www.fushanlang.com/centos6lighttpdphp-cgi-2224/">centos6+lighttpd+php-cgi</a></span>]]></description>
				<content:encoded><![CDATA[<h2>1. lighttpd</h2>
<p>由于CentOS官方的源中没有Lighttpd包，因此需要手动导入RPMforge源。<br />
请根据自己系统的情况选择如下32/64位、CentOS 5/CentOS 6操作系统的源并安装好，具体请浏览 http://pkgs.repoforge.org/rpmforge-release/ 选择合适的rpm安装包。</p>
<pre># wget -c http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
# rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm</pre>
<h2> 2.lighttpd-fastcgi</h2>
<pre>#yum install lighttpd-fastcgi php-cli
#chkconfig --levels 235 lighttpd on   //start on boot.</pre>
<h4>4、配置Lighttpd与PHP5</h4>
<p>将Lighttpd配置为fastCGI模式，只需要修改三个配置文件，并且比较简单。</p>
<p>1、打开 /etc/php.ini 文件</p>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><code>1</code></td>
<td><code>vi /etc/php.ini</code></td>
</tr>
</tbody>
</table>
<p>在php.ini文件最后加如下一行语句并保存：</p>
<blockquote><p>cgi.fix_pathinfo = 1</p></blockquote>
<p>2、打开 /etc/lighttpd/modules.conf 文件：</p>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><code>1</code></td>
<td><code>vi /etc/lighttpd/modules.conf</code></td>
</tr>
</tbody>
</table>
<p>将 include “conf.d/fastcgi.conf” 一行取消注释并保存，如下图：</p>
<p><a href="http://www.kuqin.com/upimg/allimg/120815/093Q06218-1.png"><img title="lighttpd-fastcgi" src="http://www.kuqin.com/upimg/allimg/120815/093Q06218-1.png" alt="" width="370" height="236" /></a></p>
<p>3、打开/etc/lighttpd/conf.d/fastcgi.conf 文件：</p>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><code>1</code></td>
<td><code>vi/etc/lighttpd/conf.d/fastcgi.conf</code></td>
</tr>
</tbody>
</table>
<p>找到 fastcgi.server这一节配置段，并将其全部反注释（使之生效），并修改为如下（注意红色为修改部分）：</p>
<blockquote><p>fastcgi.server = ( “.php” =&gt;<br />
( “php-local” =&gt;<br />
(<br />
“socket” =&gt; “/tmp/php-fastcgi-1.socket“,<br />
“bin-path” =&gt; “/usr/bin/php-cgi“,<br />
“max-procs” =&gt; 1,<br />
“broken-scriptfilename” =&gt; “enable”,<br />
)<br />
),<br />
( “php-tcp” =&gt;<br />
(<br />
“host” =&gt; “127.0.0.1″,<br />
“port” =&gt; 9999,<br />
“check-local” =&gt; “disable”,<br />
“broken-scriptfilename” =&gt; “enable”,<br />
)<br />
),</p>
<p>( “php-num-procs” =&gt;<br />
(<br />
“socket” =&gt; “/tmp/php-fastcgi-2.socket“,<br />
“bin-path” =&gt; “/usr/bin/php-cgi“,<br />
“bin-environment” =&gt; (<br />
“PHP_FCGI_CHILDREN” =&gt; “16″,<br />
“PHP_FCGI_MAX_REQUESTS” =&gt; “10000″,<br />
),<br />
“max-procs” =&gt; 5,<br />
“broken-scriptfilename” =&gt; “enable”,<br />
)<br />
),<br />
)</p></blockquote>
<p>最后保存即可。</p>
<p>现在可以重启Lighttpd使之生效：</p>
<table>
<tbody>
<tr>
<td><code>1</code></td>
<td><code>[root@www ~]</code><code># /etc/init.d/lighttpd restart </code></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>https://www.fushanlang.com/centos6lighttpdphp-cgi-2224/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>centos6.2+varnish</title>
		<link>https://www.fushanlang.com/centos6-2varnish-2210/</link>
		<comments>https://www.fushanlang.com/centos6-2varnish-2210/#comments</comments>
		<pubDate>Fri, 03 Aug 2012 04:09:18 +0000</pubDate>
		<dc:creator><![CDATA[fushanlang]]></dc:creator>
				<category><![CDATA[杂类]]></category>

		<guid isPermaLink="false">http://www.fushanlang.com/blog/?p=2210</guid>
		<description><![CDATA[<p>OS:CentOS-6.2-x86_64-minimal.iso</p> <p>iptables:</p> #vi /etc/sysconfig/iptables //add this port #ssh connection -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT #http connection -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #https connection -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j <span style="color:#777"> . . . &#8594; Read More: <a href="https://www.fushanlang.com/centos6-2varnish-2210/">centos6.2+varnish</a></span>]]></description>
				<content:encoded><![CDATA[<p>OS:<strong>CentOS-6.2-x86_64-minimal.iso</strong></p>
<p>iptables:</p>
<pre class="javascript" name="code">
#vi /etc/sysconfig/iptables

//add this port
#ssh connection
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
#http connection
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
#https connection
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
#according to your choice to allow remote mysql connection
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

#/etc/init.d/iptables restart
</pre>
<p>third software  source:EPEL</p>
<pre class="javascript" name="code">
#wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
#rpm -ivh epel-release-6-7.noarch.rpm
#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
</pre>
<p>Install the Varnish YUM Repository</p>
<pre class="javascript" name="code">
# rpm -Uhv http://repo.varnish-cache.org/redhat/varnish-3.0/el5/noarch/varnish-release-3.0-1.noarch.rpm
# yum install varnish
Enable Varnish web accelerator at startup
# chkconfig varnish on
#service varnish start
</pre>
<p>varnish config is  /etc/varnish/default.vcl</p>
]]></content:encoded>
			<wfw:commentRss>https://www.fushanlang.com/centos6-2varnish-2210/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tomcat多域名配置(转)</title>
		<link>https://www.fushanlang.com/tomcat-duo-yu-ming-pei-zhi-zhuan-2204/</link>
		<comments>https://www.fushanlang.com/tomcat-duo-yu-ming-pei-zhi-zhuan-2204/#comments</comments>
		<pubDate>Thu, 26 Jul 2012 06:58:25 +0000</pubDate>
		<dc:creator><![CDATA[fushanlang]]></dc:creator>
				<category><![CDATA[杂类]]></category>

		<guid isPermaLink="false">http://www.fushanlang.com/blog/?p=2204</guid>
		<description><![CDATA[<p>TOMCAT的域名配置</p> <p>现在很多的公司的网站都是用tomcat作为应用服务区的，可是对于初学者，8080端口号是如何去掉的，这些网站是如何和域名绑定到一起的呢？一个</p> <p>tomcat是如何绑定多域名？并且这些域名是如何对应不同的项目呢？而且我的服务器没放在机房，放在我的本地，我应该如何把我的服务器给映射到外</p> <p>网？这一系列的问题，今天就这个问题，我来说一下。 1. 域名。现在的域名不是很贵，有很多人都有，而我们注册域名的网站也会有一个DNS助解析，就是把服务器的IP绑定到这些域名上。 2. 我们域名有了，现在就来说说我们的项目；比如说我现在有两个项目都在我的这个tomcat下面。那我们输入http://localhost:8080 /abc就可以访问</p> <p>到我们abc这个项目了，但是端口号8080如何去掉呢？在tomcat的conf文件夹下有一个server.xml。我们打开这个文件，找到8080，只需要把8080改成80</p> <p>即可。当我们再次输入http://localhost/abc即可。 3. 可是我们的域名如何跟项目绑定到一起呢？我们再次找到tomcat下面的conf文件夹里面的server.xml。修改 4. 当启动tomcat的时候，输入我们绑定的域名，是不是看到了我们的tomcat。可是我们想访问我们的项目还得再域名后面加上项目名称才能访问到，也</p> <p>就是说到现在我们的域名还没跟项目绑定到一起。我们在看一下第三部，想让我们的项目和域名绑定到一起，我们只需要在前面加上即可。 例如： 5. 当我们的有两个项目都放在同一个tomcat下的时候，我们只需要把加上两个既可以完成我们的2个项目的绑定，但是项目名称别忘了</p> <p>改哦。 6. 当我们的服务器自己维护（没有放在机房），我们需要对我们的路由做一下映射。就拿我的路由来举例。我的路由是TP-LINK WR340G型号，进入路由</p> <p>后，我们能找到一个转发规则，那里面有一个虚拟服务器的这项，点击新增条目以后会有：服务端口号、IP地址、协议、状态、常用服务端口号。我们</p> <p>只需在这里IP地址（服务器的局域网IP），协议选择ALL（有的路由好像没有这项，那就不需要填写了），状态选择生效，常用服务端口号选择HTTP或者</p> <p>WEB即可。这时默认的端口号为80。当常用服务端口号没有HTTP或者WEB这项时，可以选择DNS,然后手动把端口号改成80。点击生效。保存即可。如果说</p> <p>本人说的路由映射对您不适用或者没有看明白，可以上网找各种路由的映射方法。 7. 这个时候我们在输入我们的域名，是不是就直接访问到我们的项目了。</p> <p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p> <p>域名绑定与虚拟目录设置:</p> <p>server.xml 的修改方式如下:</p> <p>（一）多域名绑定</p> <p>1.如果你要绑定网站,首先是要把tomcat的默认访问端口8080,修改成80</p> <p>原始: </p> <p>修改后: </p> <p>其实这里就是把port:8080,修改成port:80就可以了,其他的参数不变</p> <p>2.接下来就是重点了哈哈&#8230;</p> <p>单个域名绑定： 原始: 当然这里我把注释代码统统删除掉了,省的碍眼</p> <p>修改后: </p> <p> </p> <p>多域名绑定：</p> <p> chengqun.202.71one.com chengqun1.202.71one.com chengqun2.202.71one.com </p> <span style="color:#777"> . . . &#8594; Read More: <a href="https://www.fushanlang.com/tomcat-duo-yu-ming-pei-zhi-zhuan-2204/">tomcat多域名配置(转)</a></span>]]></description>
				<content:encoded><![CDATA[<p>TOMCAT的域名配置</p>
<p>现在很多的公司的网站都是用tomcat作为应用服务区的，可是对于初学者，8080端口号是如何去掉的，这些网站是如何和域名绑定到一起的呢？一个</p>
<p>tomcat是如何绑定多域名？并且这些域名是如何对应不同的项目呢？而且我的服务器没放在机房，放在我的本地，我应该如何把我的服务器给映射到外</p>
<p>网？这一系列的问题，今天就这个问题，我来说一下。<br />
1. 域名。现在的域名不是很贵，有很多人都有，而我们注册域名的网站也会有一个DNS助解析，就是把服务器的IP绑定到这些域名上。<br />
2. 我们域名有了，现在就来说说我们的项目；比如说我现在有两个项目都在我的这个tomcat下面。那我们输入http://localhost:8080 /abc就可以访问</p>
<p>到我们abc这个项目了，但是端口号8080如何去掉呢？在tomcat的conf文件夹下有一个server.xml。我们打开这个文件，找到8080，只需要把8080改成80</p>
<p>即可。当我们再次输入http://localhost/abc即可。<br />
3. 可是我们的域名如何跟项目绑定到一起呢？我们再次找到tomcat下面的conf文件夹里面的server.xml。修改<Host name="我们所要绑定的域名"

debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"></Host><br />
4. 当启动tomcat的时候，输入我们绑定的域名，是不是看到了我们的tomcat。可是我们想访问我们的项目还得再域名后面加上项目名称才能访问到，也</p>
<p>就是说到现在我们的域名还没跟项目绑定到一起。我们在看一下第三部，想让我们的项目和域名绑定到一起，我们只需要在</Host>前面加上<Context

docBase="项目名" path=""  reloadable="true" >即可。<br />
例如：<Host name="www.abc.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false"

xmlNamespaceAware="false"><Context docBase="baidu" path=""  reloadable="true" ></Host><br />
5. 当我们的有两个项目都放在同一个tomcat下的时候，我们只需要把<Host></ Host>加上两个既可以完成我们的2个项目的绑定，但是项目名称别忘了</p>
<p>改哦。<br />
6. 当我们的服务器自己维护（没有放在机房），我们需要对我们的路由做一下映射。就拿我的路由来举例。我的路由是TP-LINK WR340G型号，进入路由</p>
<p>后，我们能找到一个转发规则，那里面有一个虚拟服务器的这项，点击新增条目以后会有：服务端口号、IP地址、协议、状态、常用服务端口号。我们</p>
<p>只需在这里IP地址（服务器的局域网IP），协议选择ALL（有的路由好像没有这项，那就不需要填写了），状态选择生效，常用服务端口号选择HTTP或者</p>
<p>WEB即可。这时默认的端口号为80。当常用服务端口号没有HTTP或者WEB这项时，可以选择DNS,然后手动把端口号改成80。点击生效。保存即可。如果说</p>
<p>本人说的路由映射对您不适用或者没有看明白，可以上网找各种路由的映射方法。<br />
7. 这个时候我们在输入我们的域名，是不是就直接访问到我们的项目了。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>域名绑定与虚拟目录设置:</p>
<p>server.xml 的修改方式如下:</p>
<p>（一）多域名绑定</p>
<p>1.如果你要绑定网站,首先是要把tomcat的默认访问端口8080,修改成80</p>
<p>原始:<br />
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /></p>
<p>修改后:<br />
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /></p>
<p>其实这里就是把port:8080,修改成port:80就可以了,其他的参数不变</p>
<p>2.接下来就是重点了哈哈&#8230;</p>
<p>单个域名绑定：<br />
原始:<br />
<Engine name="Catalina" defaultHost="localhost"><br />
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" /><br />
</Engine><br />
当然这里我把注释代码统统删除掉了,省的碍眼</p>
<p>修改后:<br />
<Host name="chengqun.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"><br />
<Context path="/" docBase="d:\wwwroot\chengqun"></Context><br />
</Host></p>
<p><Host name="chengqun1.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun1"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"><br />
<Context path="/" docBase="d:\wwwroot\chengqun1"></Context><br />
</Host></p>
<p>多域名绑定：</p>
<p><Host name="chengqun.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"><br />
<Alias>chengqun.202.71one.com</Alias><br />
<Alias>chengqun1.202.71one.com</Alias><br />
<Alias>chengqun2.202.71one.com</Alias><br />
<Context path="/" docBase="d:\wwwroot\chengqun"></Context><br />
</Host></p>
<p>这里面的参数还有很多,我也不是很清楚,不过这样做确实可以实现多域名绑定哈哈.而且网站页面修改了只要直接覆盖就可以了,tomcat可以自动更新类</p>
<p>和页面,当然如果修改了web.xml或lib,则需要重启tomcat才可以.</p>
<p>（二）虚拟目录<br />
（1）<br />
<Host name="chengqun.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"><br />
<Context path="/chengqun" docBase="d:\wwwroot\chengqun"></Context><br />
</Host><br />
其中，Host标记是用来配置虚拟主机的，就是可以多个域名指向一个tomcat，格式只要参考默认的就</p>
<p>可以了。</p>
<p><context>是Host标记的子元素吧，表示一个虚拟目录，它主要有两个属性，path就相当于虚拟目录名字，</p>
<p>而 docbase则是具体的文件位置。在这里我的虚拟路径名称为chengqun，实际上我的程序也就是html、jsp、servlet都 放在了d:\wwwroot\chengqun这</p>
<p>个目录下了。</p>
<p>这样我就可以通过 chengqun.202. com/chengqun 访问我的这个虚拟目录了。</p>
<p>另外一种方法是：</p>
<p><Host name="chengqun.202. com" debug="0" appBase="d:\wwwroot\chengqun"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"><br />
<Context path="/" docBase="d:\wwwroot\chengqun"></Context><br />
</Host></p>
<p>这样设置以后，输入域名可以访问这个站点程序了（Context path=&#8221;/&#8221;这里不同）</p>
<p>（2）<br />
没有指定默认站点，所以直接输入IP的时候，无法访问。如何让输入ip就可以访问指定的站点呢？<br />
修改server.xml的 <Engine name="Catalina" defaultHost="chengqun.202. com"><br />
这样就可以实现了输入ip访问chengqun.202. com这个站点的程序了！</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>tomcat下的配置都在conf下的server.xml下实现。。。<br />
里面从高到低分为：<br />
Server<br />
&#8211;Service<br />
&#8211;Connector<br />
&#8211;Engine<br />
&#8211;Host<br />
&#8211;Context</p>
<p>首先把通讯接口下的PORT改为80，这样就不用在浏览器中输入端口号了，如：</p>
<p><!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --><br />
<Connector
port="80"               maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" /><br />
HOST代表虚拟主机：<br />
默认有</p>
<p><Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"><br />
</Host><br />
所以我们平时都是直接输入http://localhost:端口号/项目名   就好了。。<br />
假如我现在有个项目在E盘下的workspace目录，项目名为LZW<br />
我不想部署在tomcat下的webapp目录下，而是直接想在TOMCAT下加载这个项目<br />
并且用个域名（www.pw88.com）来映射。这样我们可以加上下面这段代码</p>
<p><Host name="www.pw88com" appBase="e:\workspace\LZW
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"><br />
<Context path="" docBase="WebRoot" debug="0" reloadable="true" crossContext="true" /><br />
</Host><br />
appBase为项目的绝对路径，docBase为WEB目录</p>
<p>假如我现在的图片都放在d:\ext.lzw.com\img下，我想用个二级域名<br />
（img.lzw.com）映射它，假如在d:\ext.lzw.com\img下放入一张图片1.jpg，我们就<br />
可以输入img.lzw.com/1.jpg来访问它了。。加上下面代码就可以实现了。。</p>
<p><Host name="img.lzw.com" appBase="d:\ext.lzw.com\img"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"><br />
<Context path="" docBase="" debug="0" reloadable="true" crossContext="true" /><br />
</Host><br />
最终我们要在本地访问域名，还得修改相爱HOST文件。。打开<br />
C:\WINDOWS\system32\drivers\etc\hosts<br />
加上</p>
<p>127.0.0.1       www.pw88.com<br />
127.0.0.1       img.lzw.com</p>
<p>对tomcat下配置 一ip对多域名的方法详细如下,按下面配置一定能成功,经过测试了.</p>
<p><Host name="localhost" debug="0" appBase="D:\Tomcat 5.0\webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"><br />
<Alias>localhost.com</Alias><br />
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/><br />
<Context path="" docBase="D:\Tomcat 5.0\webapps\gg" reloadable="true" caseSensitive="false" debug="0"></Context><br />
</Host></p>
<p><Host name="one.localhost" debug="0" appBase="D:\Tomcat 5.0\webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"><br />
<Alias>one.localhost.com</Alias><br />
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/><br />
<Context path="" docBase="D:\Tomcat 5.0\webapps\kk\a" reloadable="true" caseSensitive="false" debug="0"></Context><br />
</Host></p>
<p><Host name="two.localhost" debug="0" appBase="D:\Tomcat 5.0\webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"><br />
<Alias>two.localhost.com</Alias><br />
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/><br />
<Context path="" docBase="D:\Tomcat 5.0\webapps\kk\b" reloadable="true" caseSensitive="false" debug="0"></Context><br />
</Host></p>
<p>因无域名解析服务器,所以在hosts上配,来模拟dns解析.</p>
<p>10.1.1.241 localhost 指向gg文件夹<br />
10.1.1.241 localhost.com 指向gg文件夹<br />
10.1.1.241 one.localhost 指向a文件夹<br />
10.1.1.241 one.localhost.com 指向a文件夹<br />
10.1.1.241 two.localhost 指向b文件夹<br />
10.1.1.241 two.localhost.com 指向b文件夹</p>
<p>经过多方面尝试,终于在tomcat下配置成功了.</p>
<blockquote><p>http://www.cnblogs.com/huangjingzhou/articles/2099603.html</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>https://www.fushanlang.com/tomcat-duo-yu-ming-pei-zhi-zhuan-2204/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.176 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2025-09-25 05:34:08 -->
