-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
executable file
·381 lines (237 loc) · 25.2 KB
/
index.html
File metadata and controls
executable file
·381 lines (237 loc) · 25.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Xslong's Blog</title>
<meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no">
<meta name="author" content="Xslong">
<meta name="description">
<meta property="og:type" content="website">
<meta property="og:title" content="Xslong's Blog">
<meta property="og:url" content="http://xslong.github.io/index.html">
<meta property="og:site_name" content="Xslong's Blog">
<meta property="og:description">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Xslong's Blog">
<meta name="twitter:description">
<link rel="alternative" href="/atom.xml" title="Xslong's Blog" type="application/atom+xml">
<link rel="icon" href="/img/favicon.ico">
<link rel="apple-touch-icon" href="/img/jacman.jpg">
<link rel="apple-touch-icon-precomposed" href="/img/jacman.jpg">
<link rel="stylesheet" href="/css/style.css" type="text/css">
</head>
<body>
<header>
<div>
<div id="textlogo">
<h1 class="site-name"><a href="/" title="Xslong's Blog">Xslong's Blog</a></h1>
<h2 class="blog-motto"></h2>
</div>
<div class="navbar"><a class="navbutton navmobile" href="#" title="菜单">
</a></div>
<nav class="animated">
<ul>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/archives">Archives</a></li>
<li><a href="/about">About</a></li>
<li>
<form class="search" action="//google.com/search" method="get" accept-charset="utf-8">
<label>Search</label>
<input type="search" id="search" name="q" autocomplete="off" maxlength="20" placeholder="搜索" />
<input type="hidden" name="q" value="site:xslong.github.io">
</form>
</li>
</ul>
</nav>
</div>
</header>
<div id="container">
<div id="main">
<article class="post-expand post" itemprop="articleBody">
<header class="article-info clearfix">
<h1 itemprop="name">
<a href="/2015/03/28/Ejabberd-15-03-在RedHat安装过程/" title="Ejabberd 15.03 在RedHat安装过程" itemprop="url">Ejabberd 15.03 在RedHat安装过程</a>
</h1>
<p class="article-author">By
<a href="http://xslong.github.io/about" title="Xslong" target="_blank" itemprop="author">Xslong</a>
<p class="article-time">
<time datetime="2015-03-28T05:33:42.000Z" itemprop="datePublished"> 发表于 2015-03-28</time>
</p>
</header>
<div class="article-content">
<p>环境:<br> Red Hat Enterprise Linux Server release 5.8 (Tikanga)<br> Erlang R16B03</p>
<p><a href="https://www.process-one.net/docs/ejabberd/guide_en.html" target="_blank" rel="external">https://www.process-one.net/docs/ejabberd/guide_en.html</a><br><a href="https://www.ejabberd.im/node/24818" target="_blank" rel="external">https://www.ejabberd.im/node/24818</a></p>
<p>上周Ejabberd 15.03版本发布,主要是会话管理底层增加了redis的支持、可以在命令中完成增加模块、添加群集节点。如果ejabberd_auth、其它核心模块db_type也能够支持redis就好了,因为现在系统有用到redis,性能应该会有不少提升。</p>
<p>先从官网把源代码下载下来(最好用git下载,反正一会也会安装)<br><a href="https://www.process-one.net/downloads/downloads-action.php?file=/ejabberd/15.03/ejabberd-15.03.tgz" target="_blank" rel="external">https://www.process-one.net/downloads/downloads-action.php?file=/ejabberd/15.03/ejabberd-15.03.tgz</a><br>下载后解压,进入执行autogen.sh<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># ./autogen.sh </span></span><br><span class="line">configure.ac:<span class="number">12</span>: error: possibly undefined macro: AC_PROG_SED</span><br><span class="line">If this token and others are legitimate, please use m4_pattern_allow.</span><br><span class="line">See the Autoconf documentation.</span><br><span class="line">configure.ac:<span class="number">32</span>: error: possibly undefined macro: AC_ERLANG_NEED_ERL</span><br><span class="line">configure.ac:<span class="number">33</span>: error: possibly undefined macro: AC_ERLANG_NEED_ERLC</span><br><span class="line">configure.ac:<span class="number">48</span>: error: possibly undefined macro: AC_ERLANG_SUBST_ROOT_DIR</span><br></pre></td></tr></table></figure></p>
<p>这几个提示宏没有定义的错误提示比较纠结,直接编辑当前目录的configure.ac,找到错误的行注释掉。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># vi configure.ac</span></span><br></pre></td></tr></table></figure></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># ./configure</span></span><br><span class="line">checking whether make sets $(MAKE)... yes</span><br><span class="line">checking <span class="keyword">for</span> a BSD-compatible install... /usr/bin/install -c</span><br><span class="line">checking <span class="keyword">for</span> erl... /usr/<span class="built_in">local</span>/erlang/bin/erl</span><br><span class="line">checking <span class="keyword">for</span> erlc... /usr/<span class="built_in">local</span>/erlang/bin/erlc</span><br><span class="line">checking Erlang/OTP version... ok</span><br><span class="line">checking <span class="keyword">for</span> escript... no</span><br><span class="line">checking <span class="keyword">for</span> make... make</span><br><span class="line">configure: error: <span class="string">'escript'</span> was not found</span><br></pre></td></tr></table></figure>
<p>提示’escript’ was not found,不可能呀我明明安装了erlang,直接执行escript命令也是可以的。怀疑是Make配置有问题,打开当前目录的configure.ac,找到了下面的几行:</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="number">51</span> <span class="comment">#locating escript</span></span><br><span class="line"><span class="number">52</span> AC_PATH_PROG([ESCRIPT], [escript], [], [<span class="variable">$ERLANG_ROOT_DIR</span>/bin])</span><br><span class="line"><span class="number">53</span></span><br><span class="line"><span class="number">54</span> <span class="comment">#locating make 55 AC_CHECK_PROG([MAKE], [make], [make], [])</span></span><br><span class="line"><span class="number">56</span></span><br><span class="line"><span class="number">57</span> <span class="keyword">if</span> <span class="built_in">test</span> <span class="string">"x<span class="variable">$ESCRIPT</span>"</span> = <span class="string">"x"</span>; <span class="keyword">then</span></span><br><span class="line"><span class="number">58</span> AC_MSG_ERROR([<span class="string">'escript'</span> was not found])</span><br><span class="line"><span class="number">59</span> <span class="keyword">fi</span> <span class="number">60</span></span><br></pre></td></tr></table></figure>
<p>原来使用的是$ERLANG_ROOT_DIR环境变量下面的escript,在/etc/profile的配置上erlang的环境变量:<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># vi /etc/profile +</span></span><br><span class="line"><span class="built_in">export</span> ERL_HOME=/usr/<span class="built_in">local</span>/erlang</span><br><span class="line"><span class="built_in">export</span> ERLANG_ROOT_DIR=<span class="variable">$ERL_HOME</span></span><br><span class="line"><span class="built_in">export</span> PATH=<span class="variable">$ERL_HOME</span>/bin:<span class="variable">$PATH</span></span><br></pre></td></tr></table></figure></p>
<p>继续<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># ./configure</span></span><br><span class="line">checking whether make sets $(MAKE)... yes</span><br><span class="line">checking <span class="keyword">for</span> a BSD-compatible install... /usr/bin/install -c</span><br><span class="line">checking <span class="keyword">for</span> erl... /usr/<span class="built_in">local</span>/erlang/bin/erl</span><br><span class="line">checking <span class="keyword">for</span> erlc... /usr/<span class="built_in">local</span>/erlang/bin/erlc</span><br><span class="line">checking Erlang/OTP version... ok</span><br><span class="line">checking <span class="keyword">for</span> escript... /usr/<span class="built_in">local</span>/erlang/bin/escript</span><br><span class="line">checking <span class="keyword">for</span> make... make</span><br><span class="line">checking whether Erlang is using deprecated types... yes</span><br><span class="line">configure: creating ./config.status</span><br><span class="line">config.status: creating Makefile</span><br><span class="line">config.status: creating vars.config</span><br><span class="line">config.status: creating src/ejabberd.app.src</span><br><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># make</span></span><br><span class="line">rm -rf deps/.got</span><br><span class="line">rm -rf deps/.built</span><br><span class="line">/usr/<span class="built_in">local</span>/erlang/bin/escript rebar get-deps && :> deps/.got</span><br><span class="line">==> rel (get-deps)</span><br><span class="line">==> ejabberd-<span class="number">15.03</span> (get-deps)</span><br><span class="line">Pulling p1_cache_tab from {git,<span class="string">"git://github.com/processone/cache_tab"</span>}</span><br><span class="line">ERROR: Rebar requires version {<span class="number">1</span>,<span class="number">5</span>} or higher of git to process {git,</span><br><span class="line"><span class="string">"git://github.com/processone/cache_tab"</span>}</span><br><span class="line">ERROR: <span class="string">'get-deps'</span> failed <span class="keyword">while</span> processing /data/src/ejabberd-<span class="number">15.03</span>: rebar_abort</span><br><span class="line">make: *** [deps/.got] 错误 <span class="number">1</span></span><br></pre></td></tr></table></figure></p>
<p>没有安装git会提示安装,ejabberd使用到的第三方库使用git下载。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># yum install git</span></span><br></pre></td></tr></table></figure></p>
<p>重复的操作忽略<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">checking yaml.h presence... no</span><br><span class="line">checking <span class="keyword">for</span> yaml.h... no</span><br><span class="line">configure: error: libyaml library was not found</span><br><span class="line">ERROR: Command [<span class="string">'get-deps'</span>] failed!</span><br><span class="line">make: *** [deps/.got] 错误 <span class="number">1</span></span><br></pre></td></tr></table></figure></p>
<p>这个地方得注意下,依赖的包应该是 libyaml-0-2-0.1.4-2.1.x86_64.rpm ,而不是yaml-0.1.4.tar.gz,虽然用yaml可以编译通过但是启动ejabberd也会出错。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">[root@ydhl-jk2 src]<span class="comment"># wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl/CentOS_5/x86_64/libyaml-0-2-0.1.4-2.1.x86_64.rpm</span></span><br><span class="line">[root@ydhl-jk2 src]<span class="comment"># rpm -i libyaml-0-2-0.1.4-2.1.x86_64.rpm</span></span><br></pre></td></tr></table></figure></p>
<p>到目前为止编译没有问题了,我重新启用了一些参数,详细的参数可以用./configure —help查看<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># ./configure --enable-nif --enable-odbc --enable-mysql --enable-pgsql --enable-pam --enable-zlib --enable-riak --enable-redis --enable-json --enable-iconv --enable-debug --enable-lager --enable-tools</span></span><br><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># make</span></span><br><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># make install</span></span><br><span class="line">/bin/sh: SED@: <span class="built_in">command</span> not found</span><br></pre></td></tr></table></figure></p>
<p>安装时竟然又出错了,SED@这个命令找不到,费了一番周折找到了原因,编辑当前目录的Makefile文件,找到第三行,把SED = @SED@ 改成 SED = sed 就可以安装成功了。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># vi Makefile</span></span><br><span class="line">REBAR = /usr/<span class="built_in">local</span>/erlang/bin/escript rebar</span><br><span class="line">INSTALL = /usr/bin/install -c</span><br><span class="line">SED = @SED@</span><br></pre></td></tr></table></figure></p>
<p>启动ejabberd<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># ejabberdctl live</span></span><br><span class="line"><span class="number">2015</span>-<span class="number">03</span>-<span class="number">28</span> <span class="number">11</span>:<span class="number">40</span>:<span class="number">15.044</span> [critical] <<span class="number">0.140</span>.<span class="number">0</span>>@ejabberd:<span class="built_in">exit</span>_or_halt:<span class="number">123</span> couldn<span class="string">'t find module /lib/ejabberd/ebin/configure.beam needed for application '</span>ejabberd<span class="string">'</span></span><br></pre></td></tr></table></figure></p>
<p>/lib/ejabberd/ebin/configure.beam 找不到,从安装目录把ebin/configure.beam 复制到这个目录就行了。<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># cp ebin/configure.beam /lib/ejabberd/ebin/</span></span><br><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># ejabberdctl live</span></span><br></pre></td></tr></table></figure></p>
<p>ok,ejabberd安装成功。安装的过程中修改过几次编译配置文件,不确定是我环境问题还是ejabberd打包的问题,我在mac上安装ejabberd 15.02也没有遇到这些多问题。</p>
<p class="article-more-link">
</p>
</div>
<footer class="article-footer clearfix">
<div class="article-catetags">
<div class="article-tags">
<span></span> <a href="/tags/Ejabberd/">Ejabberd</a>
</div>
</div>
<div class="comments-count">
</div>
</footer>
</article>
<article class="post-expand post" itemprop="articleBody">
<header class="article-info clearfix">
<h1 itemprop="name">
<a href="/2015/03/21/ejabberd-couldn-t-find-module-lib-ejabberd-ebin-configure-beam/" title="ejabberd-couldn't find module /lib/ejabberd/ebin/configure.beam" itemprop="url">ejabberd-couldn't find module /lib/ejabberd/ebin/configure.beam</a>
</h1>
<p class="article-author">By
<a href="http://xslong.github.io/about" title="Xslong" target="_blank" itemprop="author">Xslong</a>
<p class="article-time">
<time datetime="2015-03-21T05:06:05.000Z" itemprop="datePublished"> 发表于 2015-03-21</time>
</p>
</header>
<div class="article-content">
<p>启动Ejabberd时出现couldn’t find module /lib/ejabberd/ebin/configure.beam needed for application ‘ejabberd’</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sh-<span class="number">3.2</span><span class="comment"># ejabberdctl live</span></span><br></pre></td></tr></table></figure>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">Crash dump was written to: //var/<span class="built_in">log</span>/ejabberd/erl_crash_20150321-<span class="number">102058</span>.dump</span><br><span class="line">couldn<span class="string">'t find module /lib/ejabberd/ebin/configure.beam needed for application '</span>ejabberd<span class="string">'</span></span><br></pre></td></tr></table></figure>
<p>修改源码编译目录中的Makefile.in文件,找到rm -f $(BEAMDIR)/configure.beam 这一行,把这行前面加个# 注释掉,然后重新编译安装即可。</p>
<p><a href="https://github.com/processone/ejabberd/issues/199" target="_blank" rel="external">https://github.com/processone/ejabberd/issues/199</a></p>
<p><a href="https://support.process-one.net/browse/EJAB-1710" target="_blank" rel="external">https://support.process-one.net/browse/EJAB-1710</a></p>
<p>方法二:</p>
<p>直接从安装目录把configure.beam复制到/lib/ejabberd/ebin/<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">[root@ydhl-jk2 ejabberd-<span class="number">15.03</span>]<span class="comment"># ejabberdctl live</span></span><br><span class="line"><span class="number">2015</span>-<span class="number">03</span>-<span class="number">28</span> <span class="number">11</span>:<span class="number">40</span>:<span class="number">15.044</span> [critical] <<span class="number">0.140</span>.<span class="number">0</span>>@ejabberd:<span class="built_in">exit</span>_or_halt:<span class="number">123</span> couldn<span class="string">'t find module /lib/ejabberd/ebin/configure.beam needed for application '</span>ejabberd<span class="string">'</span><br><span class="line">[root@ydhl-jk2 ejabberd-15.03]# cp ebin/configure.beam /lib/ejabberd/ebin/</span><br><span class="line">[root@ydhl-jk2 ejabberd-15.03]# ejabberdctl live</span></span><br></pre></td></tr></table></figure></p>
<p class="article-more-link">
</p>
</div>
<footer class="article-footer clearfix">
<div class="article-catetags">
<div class="article-tags">
<span></span> <a href="/tags/Ejabberd/">Ejabberd</a>
</div>
</div>
<div class="comments-count">
</div>
</footer>
</article>
</div>
<div class="openaside"><a class="navbutton" href="#" title="显示侧边栏"></a></div>
<div id="asidepart">
<div class="closeaside"><a class="closebutton" href="#" title="隐藏侧边栏"></a></div>
<aside class="clearfix">
<div class="tagslist">
<p class="asidetitle">标签</p>
<ul class="clearfix">
<li><a href="/tags/Ejabberd/" title="Ejabberd">Ejabberd<sup>2</sup></a></li>
</ul>
</div>
<div class="linkslist">
<p class="asidetitle">友情链接</p>
<ul>
</ul>
</div>
<div class="rsspart">
<a href="/atom.xml" target="_blank" title="rss">RSS 订阅</a>
</div>
</aside>
</div>
</div>
<footer><div id="footer" >
<div class="line">
<span></span>
<div class="author"></div>
</div>
<section class="info">
<p> Hello ,I'm Xslong. <br/>
This is my blog,believe it or not.</p>
</section>
<div class="social-font" class="clearfix">
</div>
<p class="copyright">Powered by <a href="http://hexo.io" target="_blank" title="hexo">hexo</a> and Theme by <a href="https://github.com/wuchong/jacman" target="_blank" title="Jacman">Jacman</a> © 2015
<a href="http://xslong.github.io/about" target="_blank" title="Xslong">Xslong</a>
</p>
</div>
</footer>
<script src="/js/jquery-2.0.3.min.js"></script>
<script src="/js/jquery.imagesloaded.min.js"></script>
<script src="/js/gallery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.navbar').click(function(){
$('header nav').toggleClass('shownav');
});
var myWidth = 0;
function getSize(){
if( typeof( window.innerWidth ) == 'number' ) {
myWidth = window.innerWidth;
} else if( document.documentElement && document.documentElement.clientWidth) {
myWidth = document.documentElement.clientWidth;
};
};
var m = $('#main'),
a = $('#asidepart'),
c = $('.closeaside'),
o = $('.openaside');
$(window).resize(function(){
getSize();
if (myWidth >= 1024) {
$('header nav').removeClass('shownav');
}else
{
m.removeClass('moveMain');
a.css('display', 'block').removeClass('fadeOut');
o.css('display', 'none');
}
});
c.click(function(){
a.addClass('fadeOut').css('display', 'none');
o.css('display', 'block').addClass('fadeIn');
m.addClass('moveMain');
});
o.click(function(){
o.css('display', 'none').removeClass('beforeFadeIn');
a.css('display', 'block').removeClass('fadeOut').addClass('fadeIn');
m.removeClass('moveMain');
});
$(window).scroll(function(){
o.css("top",Math.max(80,260-$(this).scrollTop()));
});
});
</script>
<!-- Analytics Begin -->
<script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-68406640-1', 'null');
ga('send', 'pageview');
</script>
<script type="text/javascript">
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F18a9e24ed15dd65fb961652a6b80841c' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- Analytics End -->
<!-- Totop Begin -->
<div id="totop">
<a title="返回顶部"><img src="/img/scrollup.png"/></a>
</div>
<script src="/js/totop.js"></script>
<!-- Totop End -->
<!-- MathJax Begin -->
<!-- mathjax config similar to math.stackexchange -->
<!-- MathJax End -->
<!-- Tiny_search Begin -->
<!-- Tiny_search End -->
</body>
</html>