基于Hexo和Butterfly创建个人技术博客,(1) 初始化博客站点,您只需要知道Hexo框架的这些内容就足够了

专题概述

本文是个人建站系列的第一篇文章,最终有多少篇文章笔者现在也说不好,因为是一边创建个人站,一边沉淀这个过程。每一步都是实操后再总结文档,文档是以章为单位总结的,每一章都会有几篇文章,在发文前也都经过至少3次的大纲、文案的调整和校对,目的是为了尽量让您能看明白,内容包括但不限于教程、实操、最佳实践等,相对系统化,不过真的非常耗费时间。

  • 本地环境要求:node、git,高级用户可选装nvm进行node管理;
  • 本文档面向:MacOS用户

专题目标

个人建站其实并不简单,但没啥技术门槛,看下Hexo和theme插件的文档,那么代码层面基本就可以无忧了(主题插件一定要在建站之初选定,因为每个主题的使用方法都不一样,决定了网站的风格。后期更换主题需要修改很多配置),但要真正上线的话您还要了解,比如域名、云主机、备案、流量、安全、网站运营、成本控制等等知识。好在笔者这几年工作下来对上述知识多少还是有经验积累的。

本教程终极目标:
对Hexo和Butterfly主题的技术讲解只是初始目标,除hexo和butterlfy外还会涉及其它很多内容,包括运营和成本控制等知识,这将有助于帮您构建自己的技术体系提供参考思路(不局限于个人建立领域)。So,如果您能掌握本系列教程的知识,至少能丰富您个人的技术图谱,也会重新审视技术发展路线以及对未来的规划,而后者是笔者最希望看到的。因为本专题是以建站这个事来开展的,hexo等框架的存技术使用只是做成这个事的充分但不必要条件。

面向对象

本教程即可以做为教程系统的学习也可以做为字典手册来查询使用。

本教程的目标人群:
首先要说的一点就是知识的积累没有捷径可走,全是无数个不眠夜和时间堆出来的。但个体由于目的的不同,其选择的过程和方法也不一样,所以笔者就目的和教程的用法做下简单总结:

  • 如果您只是想了解此方面的内容,那么建议您只需要详读建站流程相关的章节了解下建站的大至内容,然后再按兴趣选读;
  • 如果您想系统掌握这方面的技能,但不做任何与商业化相关的事,建议您每个章节都实操下但不必每个章节都一点不落的操作,一是比较耗时间,二是如果没有明确的目的性很难有所收获,因为本教程很多部分是围绕如何后期商业化运营展开的;
  • 如果您想打造个人技术品牌甚至实现商业化运营,那么我建议您按章节顺序一字不落的实操下。但我还是要先泼盆冷水,要达到这一目的一点也不容易甚至可能会失败,单时间上对于普通人可能需要1-2年的时间甚至更长。建站只是其中一步,本系列教程虽不能带给您全部内容,但一定可以带给您更多的思考以及选择。但庆幸的是我个人认为这是值得的,因为这件事一旦成功其带来的长尾效益和衍生空间是您无法想象的,技术积累和金钱收益只是其中一部分。

本章目标:
掌握hexo的安装、命令使用,并能在本地成功运行网站;也可参考基于hexo和aws云搭建个人博客,0基础0费用,有点豪横(2W字超详细图文教程)一文中描述发布博客到github或云主机上。

一、搭建博客站点

暂定我们的博客的源码所在的根目录的文件夹名为blog,这个文件夹不需要手工创建,在hexo init则初始化时会自动生成,如下;

$npm install hexo-cli -g
$hexo init blog  # 创建博客源码目录

$cd blog
$npm install # npm install [email protected]  安装指定的版本

#安装butterfly主题,推荐下载源码包。
$npm install hexo-theme-butterfly
$npm install hexo-renderer-pug hexo-renderer-stylus --save

修改_config.yml文件中的theme属性值为bufferfly
在_config.yml文件所在的目录下创建一个名为_config.buffterlfy.yml的主题文件

$ npm install hexo-server --save  #选装单独的服务器模块

#服务器启动
$hexo server --debug #--debug参数也可以不写

bufferfly建议用源码安装:

1、下载源码:github bufferfly
2、拷贝源码包中 buffery主题一节中代码示例中的文件 到/themes/bufferfly/下面。

1、hexo源码
2、hexo landspace theme源码 ,安装方式同butterfly。

npm view hexo //查看信息
npm view hexo versions //查看所有版本
npm info hexo //查看依赖信息

project说明

上述操作完成后,我们的项目代码大概如下图所示:

.
├── _config.butterfly.yml
├── _config.yml
├── package.json
├── package-lock.json  #锁定安装时的包的版本号
├── scaffolds #Hexo的模板是指在新建的文章文件中默认填充的内容。
├── source
|   ├── _drafts
|   └── _posts
└── themes
   └── bufferfly
  • package-lock.json:文件锁定版本号,当执行npm install的时候,node不会自动更新package.json文件中的模块,方便多人开发环境的统一;
  • source:资源文件夹,于用存放用户资源的地方。除 posts 文件夹之外,开头命名为 (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。

theme配置

_config.butterfly.yml是主题配置文件,和主配置文件_config.yml都放在根目录下,主题配置文件的内容优先级会高于主配置文件,如果是下载的butterfly主题源码,那么目录结构如下,这些内容是需要拷贝到/themes/butterfly/文件夹下的:

.
├── _config.yml
├── package.json
├── plugins.yml
├── languages
├── layout 
├── scripts
└── source
/themes/bufferfly/_config.yml文件建议保留,做为参考文档,如不需要建议删除掉;

scaffolds模版

Hexo 的模板是指在新建的文章文件中默认填充的内容,每创建一个页面都要指定其使用的layout,默认值是post,以下是各页面相对应的模板名称。

模板 用途 回退
index 首页
post 文章(发博客文章时用到) index
page 分页 index
archive 归档 index
category 分类归档 archive
tag 标签归档 archive

layout自定义布局

如果页面结构类似,例如两个模板都有页首(Header)和页脚(Footer),可考虑通过「布局」让两个模板共享相同的结构。您可在 front-matter 指定其他布局,或是设为 false 来关闭布局功能。

全局布局的写法
//在layout文件下新建一个名为index.ejs的文件,内容如下:
index

// 然后再创建一个名为layout.ejs的文件,内容如下:


<%- body %>


// 最终会生成


index
// 局部模版的写法(Partial),比如partial/header.ejs

<%= config.title %>

//index.ejs <%- partial('partial/header') %>
Home page
//生成

My Site

Home page
// 局部变量的定义,比如partial/header.ejs

<%= title %>

//index.ejs <%- partial('partial/header', {title: 'Hello World'}) %>
Home page
//生成

Hello World

Home page
//优化:新增的局部缓存(Fragment Caching) 功能,,它可用于页首、页脚、侧边栏等文件不常变动的位置
<%- fragment_cache('header', function(){
  return '
'; }); //如果您使用局部模板的话 <%- partial('header', {}, {cache: true});

二、Hexo常用插件

您可以使用 Hexo 提供的官方工具插件来加速开发,如果功能不太复杂建议编写.js脚本,并把其放到 scripts 文件夹中,在启动时就会自动载入。

  • [hexo-fs]:文件 IO
  • [hexo-util]:工具包
  • [hexo-i18n]:本地化(i18n)
  • [hexo-pagination]:分页

三、Hexo命令详解

这些命令在开发时会经常使用,需要完全掌握。

全局参数

$hexo server --debug  #参数举例
  --config  Specify config file instead of using _config.yml
  --debug   Display all verbose messages in the terminal
  --draft   Display draft posts, source/_drafts
  --safe    Disable all plugins and scripts
  --silent  Hide output on console

命令列表

  clean     Remove generated files and cache.
  config    Get or set configurations.
  deploy    Deploy your website.
  generate  Generate static files.
  help      Get help on a command.
  init      Create a new Hexo folder.
  list      List the information of the site
  migrate   Migrate your site from other system to Hexo.
  new       Create a new post.
  publish   Moves a draft post from _drafts to _posts folder.
  render    Render files with renderer plugins.
  server    Start the server.
  version   Display version information.

命令详解

hexo init,新建一个网站

$ hexo init [folder]

hexo new,新建一篇文章

$ hexo new [layout] </code></pre> 
 <p>如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,请使用引号括起来,示例如下:</p> 
 <pre><code class="bash">#创建文件:/source/tags/index.md
$ hexo new page tags

#创建文件: /source/_posts/post-title-with-whitespace.md
$ hexo new "post title with whitespace" 

#创建文件: /source/about/me.md
$ hexo new page --path about/me "About me"

#创建文件: source/_posts/about/me.md
$ hexo new page --path about/me </code></pre> 
 <h4>hexo publish, 发布草稿</h4> 
 <p>这个命令不太常用,在用hexo new 创建文章时,如果layout指定为draft则会认为是创建一篇了草稿,这个命令就是把创建好的草稿移到post文件夹中,这里的publish是指文章的publish,而不是网站的deploy。</p> 
 <pre><code class="bash">$ hexo publish [layout] <filename></code></pre> 
 <h4>hexo g , 生成网站</h4> 
 <p>网站部署的其实是.html等静态文件,此命令就是用于生成这些待部署的静态文件的,本地开发时直接用hexo server命令即可,不需要生成静态文件。</p> 
 <pre><code class="bash">$ hexo g
$ hexo g -w  #动态生成文件,改一个生成一个

# 使用 custom.yml 和 custom2.json,其中 custom2.json 优先级更高
$ hexo g --config custom.yml,custom2.json,custom3.yml</code></pre> 
 <h4>hexo server, 启动服务器</h4> 
 <pre><code class="bash"># 可选参数:-p 重设端口, -l 启动日记记录,使用覆盖记录格式
$ hexo server
$ hexo server -p 5000

# 使用 custom.yml 代替默认的 _config.yml
$ hexo server --config custom.yml</code></pre> 
 <h4>hexo deploy,部署网站</h4> 
 <p>需要配置_config.xml中的deploy参数,此命令才会生效。发布配置<a href="#deploy">可查看</a>,<code>其实笔者并不建议用此命令来部署网站,做为练习使用还可以</code>。即使是个人站点后期维护时此命令不但不会提效还会带来很多麻烦</p> 
 <pre><code class="bash">$ hexo d</code></pre> 
 <h4>hexo render,渲染文件(不太常用)</h4> 
 <pre><code class="bash">$ hexo render <file1> [file2] ...</code></pre> 
 <h4>hexo clean,清除缓存文件</h4> 
 <p>这条命令主要会清除缓存文件 (db.json) 和已生成的静态文件 (public),如果发现修改源码后UI样式未更新,可用此命令清除下缓存。</p> 
 <pre><code class="bash">$ hexo clean</code></pre> 
 <h4>hexo list, 列出网站资料</h4> 
 <p>types有以下类型可选page, post, route, tag, category</p> 
 <pre><code class="bash">$ hexo list <type></code></pre> 
 <h2>四、博客站点发布<a id="deploy"></a></h2> 
 <h3>github</h3> 
 <p>先安装插件<code> $ npm install hexo-deployer-git --save </code>,然后执行以下命令:</p> 
 <ol> 
  <li>建立名为 <你的 GitHub 用户名>.github.io 的储存库;</li> 
  <li>在 _config.yml 中添加以下配置</li> 
 </ol> 
 <pre><code class="yaml">deploy:
  type: git
  repo: https://github.com/<username>/<project> # example, https://github.com/hexojs/hexojs.github.io
  branch: gh-pages  //分支名称
  message: [message] //自定义提交信息
######或
 deploy:
  type: git
  repo: <repository url>
  branch: [branch]
  token: ''
  message: [message]
  name: [git user]
  email: [git email]
  extend_dirs: [extend directory]
  ignore_hidden: false # default is true
  ignore_pattern: regexp  # whatever file that matches the regexp will be ignored when deploying
  
#######也可以配置多个type一次发布到多个网站上
deploy:
- type: git
  repo:
- type: heroku
  repo:  </code></pre> 
 <ol start="4"> 
  <li>执行 <code>hexo clean && hexo deploy</code> 。</li> 
  <li>浏览 <GitHub 用户名>.github.io 检查你的网站能否运作。</li> 
 </ol> 
 <h3>rsync</h3> 
 <p>rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。</p> 
 <ol> 
  <li>安装插件:<code>$ npm install hexo-deployer-rsync --save</code></li> 
  <li>修改配置</li> 
 </ol> 
 <pre><code class="yaml">deploy:
  type: rsync
  host: <host>
  user: <user>
  root: <root>
  port: [port]
  delete: [true|false]  删除远程主机上的旧文件,默认值true
  verbose: [true|false] 显示调试信息,默认值true
  ignore_errors: [true|false],默认值false</code></pre> 
 <h3>sftp</h3> 
 <ol> 
  <li>安装插件:<code>$ npm install hexo-deployer-sftp --save</code></li> 
  <li><p>修改配置</p><pre><code class="yaml">deploy:
  type: sftp
  host: <host>
  user: <user>
  pass: <password>
  remotePath: [remote path]
  port: [port]
  privateKey: [path/to/privateKey]  ssh私钥的目录地址
  passphrase: [passphrase] (可省略)ssh私钥的密码短语
  agent: [path/to/agent/socket],ssh套接字的目录地址, 默认值 $SSH_AUTH_SOCK</code></pre></li> 
 </ol> 
 <h2>五、I18N国际化(可选)</h2> 
 <p>先在 <code>_config.yml</code> 中调整 <code>language</code> 设定,这代表的是预设语言,您也可设定多个语言来调整预设语言的顺位。</p> 
 <pre><code class="yaml">language: zh-tw

language: 
- zh-tw
- en</code></pre> 
 <h3>语言文件编写</h3> 
 <p>语言文件可以使用 YAML 或 JSON 编写,放在主题文件夹中的 <code>languages</code> 文件夹下,可以在语言文件中使用 <a href="https://link.segmentfault.com/?enc=2W6ZL8gjHFdqTXyX6PFzzQ%3D%3D.A2AVru3XaQZlnsBJDRw9ZMVofe8n1boNIzvmCV3SxZ7oxCbDe5cbEOI7OJPEjN8X" rel="nofollow">printf 格式</a>。</p> 
 <h3>语言文件使用</h3> 
 <p>在模板中,通过 <code>__</code> 或 <code>_p</code> 辅助函数,即可取得翻译后的字符串,前者用于一般使用;而后者用于复数字符串。例如:</p> 
 <pre><code>index:
  title: Home
  add: Add
  video:
    zero: No videos
    one: One video
    other: %d videos</code></pre> 
 <pre><code class="js"><%= __('index.title') %>
// Home

<%= _p('index.video', 3) %>
// 3 videos</code></pre> 
 <h3>语言文件存放路径</h3> 
 <p>可在 front-matter 中指定该页面的语言,也可在 <code>_config.yml</code> 中修改 <code>i18n_dir</code> 设定,让 Hexo 自动侦测。</p> 
 <pre><code class="yaml">i18n_dir: :lang</code></pre> 
 <p><code>i18n_dir</code> 的预设值是 <code>:lang</code>,也就是说 Hexo 会捕获网址中的第一段以检测语言,举例来说:</p> 
 <pre><code class="plain">/index.html => en
/archives/index.html => en
/zh-tw/index.html => zh-tw</code></pre> 
 <p>捕获到的字符串唯有在语言文件存在的情况下,才会被当作是语言,因此例二 <code>/archives/index.html</code> 中的 <code>archives</code> 就不被当成是语言。</p> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1669549405604241408"></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">你可能感兴趣的:(hexo建站)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1772464985230868480.htm"
                           title="blog-engine-06-pelican 静态网站生成 支持 markdown 和 reST 语法" target="_blank">blog-engine-06-pelican 静态网站生成 支持 markdown 和 reST 语法</a>
                        <span class="text-muted">老马啸西风</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>拓展阅读blog-engine-01-常见博客引擎jekyll/hugo/Hexo/Pelican/Gatsby/VuePress/Nuxt.js/Middleman对比blog-engine-02-通过博客引擎jekyll构建githubpages博客实战笔记blog-engine-02-博客引擎jekyll-jekyll博客引擎介绍blog-engine-02-博客引擎jekyll-jekyl</div>
                    </li>
                    <li><a href="/article/1772032701767942144.htm"
                           title="大学生在家赚钱靠谱的赚钱方法" target="_blank">大学生在家赚钱靠谱的赚钱方法</a>
                        <span class="text-muted">黑鲨阁软件</span>

                        <div>以下是一些大学生在家赚钱的方法1.做简单任务手机做任务目前是非常火爆流行的一种赚钱方式,其优点在于灵活、方便,也无需专业技能,只需一部智能手机就可操作,例如下载注册、打卡签到、看视频之类的简单类型,用户参与平台的任务完成就可以获得收益,比如黑鲨阁,这个平台是目前比较靠谱稳定的一个平台,涉及的也比较多,除了做任务以外,还提供了各种网络项目途径,例如虚拟产品、建站盈利、淘宝联盟、自媒体挣钱等等各种副业</div>
                    </li>
                    <li><a href="/article/1769873488820109312.htm"
                           title="最新WordPress开发手册完整版" target="_blank">最新WordPress开发手册完整版</a>
                        <span class="text-muted">技术服务团队</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>这份WordPress开发手册完整版适合建站公司、个人站长使用,在使用WordPress开发网站的时候用到的都整理好在下面了,新手小白一看就懂,这里就不一一列举出来啦,下载地址:最新WordPress开发手册完整版.zip第一章:安装Wordpress下载、安装Wordpress屏蔽谷歌字体第二章:基础Wordpress目录结构Wordpress数据表结构第三章:主题创建我的第一个主题首页模版及调</div>
                    </li>
                    <li><a href="/article/1768477257665413120.htm"
                           title="使用API有效率地管理Dynadot域名,使用API设置域名隐私保护" target="_blank">使用API有效率地管理Dynadot域名,使用API设置域名隐私保护</a>
                        <span class="text-muted">Dynadot_tech</span>
<a class="tag" taget="_blank" href="/search/Dynadot/1.htm">Dynadot</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/web/1.htm">web</a><a class="tag" taget="_blank" href="/search/app/1.htm">app</a><a class="tag" taget="_blank" href="/search/api/1.htm">api</a><a class="tag" taget="_blank" href="/search/%E5%9F%9F%E5%90%8D%E6%B3%A8%E5%86%8C/1.htm">域名注册</a>
                        <div>关于DynadotDynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。Dynadot平台操作教程索引(包括域名邮箱,解析,建站,优惠长期更新)Dynadot.com提供的API是专为效率而构建的高级域名管理和获取工具包。在Dynadot平台上,我们提供了50多个命令来设置,管理,注册和</div>
                    </li>
                    <li><a href="/article/1763249954534547456.htm"
                           title="hexo新建文章 规则" target="_blank">hexo新建文章 规则</a>
                        <span class="text-muted">hiekay</span>

                        <div>你可以执行下列命令来创建一篇新文章。$hexonew[layout]您可以在命令中指定文章的布局(layout),默认为post,可以通过修改_config.yml中的default_layout参数来指定默认布局。布局(Layout)Hexo有三种默认布局:post、page和draft,它们分别对应不同的路径,而您自定义的其他布局和post相同,都将储存到source/_posts文件夹。布局</div>
                    </li>
                    <li><a href="/article/1761228003628601344.htm"
                           title="2024最便宜的云服务器对比,阿里云服务器61元1年与腾讯云服务器62元1年谁更好?" target="_blank">2024最便宜的云服务器对比,阿里云服务器61元1年与腾讯云服务器62元1年谁更好?</a>
                        <span class="text-muted">阿里云最新优惠和活动汇总</span>

                        <div>进入2024年阿里云和腾讯云都推出了两款价格超低的云服务器,阿里云最便宜的云服务器61元1年,腾讯云最便宜的云服务器62元1年,巧合的是二者都是轻量应用服务器,且配置都是2核2G3M带宽,这两款云服务器主要适用场景都是个人建站、小型应用等场景,那么作为用户的我们选择哪款更好呢?下面小编来说说自己的看法。一、阿里云最便宜的云服务器61元1年配置:2核CPU、2GB内存、3M带宽、50GB高效云盘流量</div>
                    </li>
                    <li><a href="/article/1759876261963984896.htm"
                           title="使用 rsync-deploy-action 同步 Hexo 博客到个人服务器" target="_blank">使用 rsync-deploy-action 同步 Hexo 博客到个人服务器</a>
                        <span class="text-muted">yeshan333</span>

                        <div>前几天写了个基于rsync进行文件同步的Action->rsync-deploy-action。目的有三个:1、深入了解波GitHubActions,感受下GitHub的文档;2、个人博客在我的腾讯云CVM服务器上是部署有一份的「域名:shan333.cn」,之前的博客同步方式是通过Linux的定时任务,觉得不太行,当前博客的更新并没有那么频繁,没必要每隔几个小时就gitpull一下,且服务器还挂</div>
                    </li>
                    <li><a href="/article/1759875497111678976.htm"
                           title="WordPress管理后台用户修改密码" target="_blank">WordPress管理后台用户修改密码</a>
                        <span class="text-muted">ZhujiServer</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/wordpress/1.htm">wordpress</a>
                        <div>在WordPress网站管理后台,为用户提供一个方便的方式来修改他们的密码是很重要的。这可以帮助确保网站的安全性,同时也提供了用户友好的体验。上周有一个使用Hostease的虚拟主机的客户,反馈他使用WordPress建站,但是他忘记了WordPress管理后台登录用户名的密码,联系在线客服咨询如何处理这个问题。现在我们分享处理方法,并向您介绍如何在WordPress管理后台为用户提供修改密码的方</div>
                    </li>
                    <li><a href="/article/1759696436217344000.htm"
                           title="企业如何上云?阿里云推出企业上云解决方案,助力企业快速上云" target="_blank">企业如何上云?阿里云推出企业上云解决方案,助力企业快速上云</a>
                        <span class="text-muted">阿里云最新优惠和活动汇总</span>

                        <div>阿里云推出企业上云解决方案一键部署方案,常用架构组合3779.4元/年起,助力企业快速完成高可用、高性能应用架构部署。适用于企业网站建站、云上网站经典架、构业务上云和高可用架构等场景。企业上云活动图.png一、网站建站上云解决方案网站建站方案图1.png1、业务场景企业门户官网、论坛/日均PV低于5万的中小型网站。2、方案优势1.按需付费,快速开通2.构架简洁,运维低投入3.配备基础防护,安全省心</div>
                    </li>
                    <li><a href="/article/1759667578487271424.htm"
                           title="error: src refspec main does not match any解决办法" target="_blank">error: src refspec main does not match any解决办法</a>
                        <span class="text-muted">dzq198</span>
<a class="tag" taget="_blank" href="/search/github/1.htm">github</a>
                        <div>一、问题描述:用GitHubActions自动部署Hexo,到了最关键的一步;突然报错:error:srcrefspecmaindoesnotmatchany1、错误一:main分支应填写为master分支;但是只改这里也会报其他错误2、错误二:![rejected]main->main(non-fast-forward)这个问题解释起来很简单,还记得我们创建仓库时添加到README和licens</div>
                    </li>
                    <li><a href="/article/1759667451651518464.htm"
                           title="OpenSSH Username for ‘https://github‘报错弹窗与hexo d部署博客到github时报错:Error: Spawn failed解决办法" target="_blank">OpenSSH Username for ‘https://github‘报错弹窗与hexo d部署博客到github时报错:Error: Spawn failed解决办法</a>
                        <span class="text-muted">dzq198</span>
<a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/Hexo/1.htm">Hexo</a><a class="tag" taget="_blank" href="/search/%E9%83%A8%E7%BD%B2%E5%8D%9A%E5%AE%A2/1.htm">部署博客</a><a class="tag" taget="_blank" href="/search/OpenSSH/1.htm">OpenSSH</a>
                        <div>一、问题描述1.基于Hexo+Github搭建个人博客,当到了最后关键时刻用hexod部署博客到github的仓库时反复弹出对话框OpenSSHUsernamefor'https://github'Passwordfor'https://你的github邮箱@github.com'二、排查步骤1.在自己建立的博客目录内按住键盘Shift键,点击鼠标右键打开GitBashHere,输入ssh-Tgi</div>
                    </li>
                    <li><a href="/article/1759667452142252032.htm"
                           title="通过 GithubActions 实现自动化部署 Hexo" target="_blank">通过 GithubActions 实现自动化部署 Hexo</a>
                        <span class="text-muted">dzq198</span>
<a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/Hexo/1.htm">Hexo</a><a class="tag" taget="_blank" href="/search/%E9%83%A8%E7%BD%B2%E5%8D%9A%E5%AE%A2/1.htm">部署博客</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a>
                        <div>一、在自己电脑上新建一个文件夹,打开gitbashhere,输入以下命令#生成秘钥ssh-keygen-fgithub-deploy-key之后会生成两个文件,一个私钥文件为:github-deploy-key;另一个公钥文件为:github-deploy-key.pub1、在Hexo工作目录Github源码仓库中指定私钥步骤:依次打开自己存放博客源码的仓库,点击Settings->展开Secre</div>
                    </li>
                    <li><a href="/article/1759667065851047936.htm"
                           title="Hexo删除主题" target="_blank">Hexo删除主题</a>
                        <span class="text-muted">dzq198</span>
<a class="tag" taget="_blank" href="/search/Hexo/1.htm">Hexo</a>
                        <div>一、找到存放主题的目录1、一般在入博客中的theme目录,这里以next主题为例。在theme目录中,打开GitBashHere;ls列出主题目录rm-rf填需要删除的主题目录2、另一种情况,以fluid主题为例;之前不知道是用那种方式把主题安装在了E:\Blog\node_modules\hexo-theme-fluid找到相应的目录删除该主题即可。</div>
                    </li>
                    <li><a href="/article/1759654985567662080.htm"
                           title="日赚1000元,站群友链项目的暴利赚钱套路!" target="_blank">日赚1000元,站群友链项目的暴利赚钱套路!</a>
                        <span class="text-muted">人生路该怎么走</span>

                        <div>友情链接:两个网站互相在对方站点中添加链接,以此来实现提高网站权重、收录和排名效果的目的,这是传统网站优化的基础方法之一。但传统的友链互换,一般是局限于权重相当的网站,若是一个新网站没有足够长的建站历史,更没有与对应网站相当的权重,那么无疑是很难找到合适的网站相互交换链接。互联网行业一直是一个长尾市场,就如淘宝80%的销量并不是由那些爆款贡献,相反,是由那些销量平淡且小众的海量商品所产生。一个细小</div>
                    </li>
                    <li><a href="/article/1759590399208419328.htm"
                           title="阿里云平台提供哪些云产品服务" target="_blank">阿里云平台提供哪些云产品服务</a>
                        <span class="text-muted">阿里云最新优惠和活动汇总</span>

                        <div>在日常生活中,我们经常听到阿里云,但阿里云到底能提供哪些云产品和服务,可能你并不是特别清楚,我给大家梳理阿里云平台的一些主要云产品和服务。阿里云平台提供的主要云产品和服务如下表:云基础服务域名与建站企业应用安全网络与存储云服务器域名小程序SSL证书CDN轻量应用服务器云虚拟主机企业邮箱DDoS高防IP对象存储OSS云数据库RDS网站建设短信服务Web应用防火墙负载均衡云数据库Redis云解析DNS</div>
                    </li>
                    <li><a href="/article/1759569069834596352.htm"
                           title="跨境电商独立站是什么?为什么要做独立站?" target="_blank">跨境电商独立站是什么?为什么要做独立站?</a>
                        <span class="text-muted">大数据girl</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%A4%A7%E6%95%B0%E6%8D%AE/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/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>独立站在近两年被推上风口,很多人跟风涌入赛道,但并不知道做独立网站的根本原因是什么?为什么跨境电商要做独立站?今天分享这篇文章,希望能帮助正在建站或想要建站的朋友们建立起对独立站的优劣势、未来发展空间的一个基本认知,做到不踩坑、不试错,认清楚再开始。搭建独立站成为跨境电商新方向随着跨境电商第三方平台平台红利越来越少,经营风险的不断增加,更多的国内品牌和卖家不再仅依赖于第三方平台,开始转向品牌独立站</div>
                    </li>
                    <li><a href="/article/1759564203544375296.htm"
                           title="阿里云香港轻量应用服务器怎么样,建站速度快吗?" target="_blank">阿里云香港轻量应用服务器怎么样,建站速度快吗?</a>
                        <span class="text-muted">jiayou2017</span>
<a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E4%BA%91/1.htm">阿里云</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E4%BA%91/1.htm">阿里云</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a>
                        <div>阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量。阿里云服务器网aliyunfuwuqi.com来详细介绍阿里云香港云服务器:阿里云香港服务器介绍阿里云香港云服务器包括轻量应用服务器和云服务器ECS,香港数据中心地处亚洲互联网枢纽,香港云服务器</div>
                    </li>
                    <li><a href="/article/1759533023654670336.htm"
                           title="企业建站用什么服务器,多线BGP线路服务器值得信赖" target="_blank">企业建站用什么服务器,多线BGP线路服务器值得信赖</a>
                        <span class="text-muted">汇博科技-栗子</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>随着数字化时代的到来,很多企业会选择建立自己的网站,让企业网站成为对外展示、业务开展的平台。但是有的企业在建站时,选择了不适合的服务器,导致出现访问延迟、数据加载缓慢等问题,对企业的形象和业务造成很大影响。一般来说,企业在进行网站建站时,需要进行以下几个步骤:1.购买域名:域名就是网站的网址,简单来讲域名更像是企业的线上地址,是用户打开网站的大门。2.购买空间:也就是购买服务器,网站需要空间来承载</div>
                    </li>
                    <li><a href="/article/1759495364680953856.htm"
                           title="超详细Hexo+Github博客搭建教程" target="_blank">超详细Hexo+Github博客搭建教程</a>
                        <span class="text-muted">奈何缘浅wyj</span>

                        <div>利用Hexo+GitHubPage搭建技术blog,实现了属于自己独有的博客,自己定义了一个域名:https://gain-wyj.cn/。里面包含了众多的干货,欢迎大家前来观看。我的博客源代码地址大家可以直接素质二连,star&fork我的博客源代码:https://github.com/gain-wyj/wyj-matery-modified/tree/master,然后改改配置就可以写文章啦</div>
                    </li>
                    <li><a href="/article/1757851563679825920.htm"
                           title="最新wordpress外贸主题" target="_blank">最新wordpress外贸主题</a>
                        <span class="text-muted">podoor</span>
<a class="tag" taget="_blank" href="/search/wordpress/1.htm">wordpress</a><a class="tag" taget="_blank" href="/search/wordpress/1.htm">wordpress</a>
                        <div>日用百货wordpress外贸主题蓝色大气的wordpress外贸主题,适合做日用百货的外贸公司搭建跨境电商网站使用。https://www.jianzhanpress.com/?p=5248添加剂wordpress外贸建站主题橙色wordpress外贸建站主题,适合做食品添加剂或化工添加剂的外贸公司使用。https://www.jianzhanpress.com/?p=5268安全防护wordp</div>
                    </li>
                    <li><a href="/article/1757702214383583232.htm"
                           title="今日头条文章采集 新手想要写原创文章的都看看!" target="_blank">今日头条文章采集 新手想要写原创文章的都看看!</a>
                        <span class="text-muted">renlun8014</span>

                        <div>今天要给大家分享的是,怎么轻松打造一个垂直度高的行业网站,一般的行业流量都是比较值钱的,广告点击单价也高,比折腾那些搞笑、文学等等好用多了,变现的方法也是比较多!这里就拿一个我前段时间做的行业站做案例吧!因为是我是奶爸,没多大时间去折腾,建站第二天的时候采集了25000多个帖子,熬了两个通宵去修改,之后用自动更新器挂着就去奶孩子了,大概第5天就收录了首页,这个是1个月06天的数据,IP是有了,但变</div>
                    </li>
                    <li><a href="/article/1757669676478906368.htm"
                           title="跨界—钱能解决的问题也是问题" target="_blank">跨界—钱能解决的问题也是问题</a>
                        <span class="text-muted">黔工匠曾旭</span>

                        <div>图片发自App钱能解决的问题也是问题。无论肖岩怎么恭维,不管彭总如何感觉得意,他们各自都清楚肖岩来的目的是什么。还是彭总回到了正题,他笑着说:“是啊,那本书就是要宣传,不只是宣传我们,是宣传单位网站的必要性,信息化时代,每个单位都该有自己的网站。不说多,我们省大大小小的机关企事业单位不下十万个,你看我那个书才收了多少?几千,连一万都没有到。不过,你昨天说不是单位要建站,那是?”“哦,是这样的。我想</div>
                    </li>
                    <li><a href="/article/1757422786881536000.htm"
                           title="nunito字体_外贸网站设计中字体有多重要?" target="_blank">nunito字体_外贸网站设计中字体有多重要?</a>
                        <span class="text-muted">weixin_39982269</span>
<a class="tag" taget="_blank" href="/search/nunito%E5%AD%97%E4%BD%93/1.htm">nunito字体</a>
                        <div>原文发表在麦客网络字体设计这里,更多的设计方案,请移步写给大家看的建站字体方案-WordPress外贸建站www.imaiko.com写给大家看的建站配色方案-WordPress外贸建站www.imaiko.com写给大家看的建站图标方案-WordPress外贸建站www.imaiko.com写给大家看的建站插画方案-WordPress外贸建站www.imaiko.com写给大家看的建站图片方案-</div>
                    </li>
                    <li><a href="/article/1757409686954459136.htm"
                           title="Hexo免输入密码部署到github" target="_blank">Hexo免输入密码部署到github</a>
                        <span class="text-muted">恬雅过客</span>

                        <div>hexo部署到github时,会要求你输入用户名密码,每次提交都要输入,肯定让你抓狂吧,下面的2步配置就能把你从痛苦中解救出来。在系统变量中添加一个环境变量:变量名:HOME变量值:%USERPROFILE%hexo-deploy-no-psw-01.jpg接着在你的用户目录(C:\Users\username)下新建一个叫_netrc的文件编辑这个文件:machinegithub.comlogi</div>
                    </li>
                    <li><a href="/article/1757352165459902464.htm"
                           title="阅读 - 搭建博客" target="_blank">阅读 - 搭建博客</a>
                        <span class="text-muted">小蜜蜂~嗡嗡嗡~</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</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><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>搭建博客的几种方式1.使用在线的博客系统,如语雀、掘金、CSDN等。优点:直接创建账号使用即可,简单方便,不需要维护缺点:文章分散在各个平台,不易于管理2.githubpages+hugo、hexo等静态博客系统(强烈推荐)优点:文章都在自己手里,方便管理。因为是从0开始一步步搭建,所以还能学习到很多相关知识。最终要的是还能装X缺点:只支持静态内容,没有后台管理系统3.WordPress建站(没用</div>
                    </li>
                    <li><a href="/article/1757171360477495296.htm"
                           title="解决 hexo 搭建的博客无法上传文章问题" target="_blank">解决 hexo 搭建的博客无法上传文章问题</a>
                        <span class="text-muted">richardlee</span>

                        <div>有一天写完博客,准备上传时,执行hexod命令后上传失败,并要求重新输入账号密码进行上传,输入密码后报了下面的错误:remote:SupportforpasswordauthenticationwasremovedonAugust13,2021.Pleaseuseapersonalaccesstokeninstead.remote:Pleaseseehttps://github.blog/2020</div>
                    </li>
                    <li><a href="/article/1757165726487035904.htm"
                           title="使用Hexo+GitHub搭建博客踩过的一些坑" target="_blank">使用Hexo+GitHub搭建博客踩过的一些坑</a>
                        <span class="text-muted">君临天下夜未央</span>

                        <div>最终部署好的博客1、安装hexo输入npminstallhexo-clig出现找不到了如下错误12.png只需要删除用户目录下的.npmrc文件即可2、安装hexo后,初始化博客,出现bash:hexo:commandnotfound找到hexo的安装目录,我的是:C:\nodejs\node-global\node_modules\hexo-cli\bin,将此目录新增到系统环境变量path中(</div>
                    </li>
                    <li><a href="/article/1756991743619776512.htm"
                           title="虚拟主机建站的隐性成本" target="_blank">虚拟主机建站的隐性成本</a>
                        <span class="text-muted"></span>

                        <div>当使用虚拟主机进行网站建设时,很多人关注的是明面的费用,如域名、服务器、建站工具等。然而,在这些费用之外,还存在着一些隐性成本,这些成本往往容易被忽视,但却可能对你的网站建设计划产生重要影响。在本文中,我们将深入探讨虚拟主机建站的隐性成本。建站费用支出首先,让我们来详细了解费用支出。费用支出通常分为两种类型:持续性支出和一次性支出。在网站建设过程中,域名和服务器属于持续性支出,通常按年或按月支付,</div>
                    </li>
                    <li><a href="/article/1756991744970342400.htm"
                           title="Halo博客的部署和使用" target="_blank">Halo博客的部署和使用</a>
                        <span class="text-muted"></span>

                        <div>1前言Halo是一个强大易用的开源建站工具,拥有丰富的主题模板和插件,帮助用户快速搭建属于自己的博客系统。准备CentOS系统服务器(推荐腾讯云服务器)域名SSH工具(推荐FinalShell)注意本文涉及docker和docker-compose的安装,Nginx、MySQL使用宝塔面板安装。2Docker部分安装yum-utils#yum-utils是yum的工具包集合,需要用到其中的yum-</div>
                    </li>
                    <li><a href="/article/1756991742374068224.htm"
                           title="如何使用SiteGround搭建WordPress网站" target="_blank">如何使用SiteGround搭建WordPress网站</a>
                        <span class="text-muted"></span>

                        <div>本文将带你快速使用SiteGround搭建WordPress网站,内容涵盖了购买域名、SiteGround服务器购买、域名DNS解析配置,以及SSL证书生成,帮助你迅速建立一个完整可用的WordPress网站。为什么选择SiteGround?SiteGround是WordPress建站推荐的主机之一,主要因为SiteGround针对WordPress进行了专门的优化。它提供了一系列WordPres</div>
                    </li>
                                <li><a href="/article/68.htm"
                                       title="mongodb3.03开启认证" target="_blank">mongodb3.03开启认证</a>
                                    <span class="text-muted">21jhf</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                                    <div>下载了最新mongodb3.03版本,当使用--auth 参数命令行开启mongodb用户认证时遇到很多问题,现总结如下: 
(百度上搜到的基本都是老版本的,看到db.addUser的就是,请忽略) 
Windows下我做了一个bat文件,用来启动mongodb,命令行如下: 
mongod --dbpath db\data --port 27017 --directoryperdb --logp</div>
                                </li>
                                <li><a href="/article/195.htm"
                                       title="【Spark103】Task not serializable" target="_blank">【Spark103】Task not serializable</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Serializable/1.htm">Serializable</a>
                                    <div>Task not serializable是Spark开发过程最令人头疼的问题之一,这里记录下出现这个问题的两个实例,一个是自己遇到的,另一个是stackoverflow上看到。等有时间了再仔细探究出现Task not serialiazable的各种原因以及出现问题后如何快速定位问题的所在,至少目前阶段碰到此类问题,没有什么章法 
1. 
  
package spark.exampl</div>
                                </li>
                                <li><a href="/article/322.htm"
                                       title="你所熟知的 LRU(最近最少使用)" target="_blank">你所熟知的 LRU(最近最少使用)</a>
                                    <span class="text-muted">dalan_123</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>关于LRU这个名词在很多地方或听说,或使用,接下来看下lru缓存回收的实现 
1、大体的想法 
    a、查询出最近最晚使用的项 
    b、给最近的使用的项做标记 
通过使用链表就可以完成这两个操作,关于最近最少使用的项只需要返回链表的尾部;标记最近使用的项,只需要将该项移除并放置到头部,那么难点就出现 你如何能够快速在链表定位对应的该项? 
这时候多</div>
                                </li>
                                <li><a href="/article/449.htm"
                                       title="Javascript 跨域" target="_blank">Javascript 跨域</a>
                                    <span class="text-muted">周凡杨</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/jsonp/1.htm">jsonp</a><a class="tag" taget="_blank" href="/search/%E8%B7%A8%E5%9F%9F/1.htm">跨域</a><a class="tag" taget="_blank" href="/search/cross-domain/1.htm">cross-domain</a>
                                    <div>  
                                 </div>
                                </li>
                                <li><a href="/article/576.htm"
                                       title="linux下安装apache服务器" target="_blank">linux下安装apache服务器</a>
                                    <span class="text-muted">g21121</span>
<a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a>
                                    <div>安装apache  
下载windows版本apache,下载地址:http://httpd.apache.org/download.cgi 
   1.windows下安装apache   
Windows下安装apache比较简单,注意选择路径和端口即可,这里就不再赘述了。  2.linux下安装apache:  
下载之后上传到linux的相关目录,这里指定为/home/apach</div>
                                </li>
                                <li><a href="/article/703.htm"
                                       title="FineReport的JS编辑框和URL地址栏语法简介" target="_blank">FineReport的JS编辑框和URL地址栏语法简介</a>
                                    <span class="text-muted">老A不折腾</span>
<a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a><a class="tag" taget="_blank" href="/search/web%E6%8A%A5%E8%A1%A8/1.htm">web报表</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E8%A1%A8%E8%BD%AF%E4%BB%B6/1.htm">报表软件</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E6%B3%95%E6%80%BB%E7%BB%93/1.htm">语法总结</a>
                                    <div>  JS编辑框: 
1.FineReport的js。 
作为一款BS产品,browser端的JavaScript是必不可少的。 
FineReport中的js是已经调用了finereport.js的。 
大家知道,预览报表时,报表servlet会将cpt模板转为html,在这个html的head头部中会引入FineReport的js,这个finereport.js中包含了许多内置的fun</div>
                                </li>
                                <li><a href="/article/830.htm"
                                       title="根据STATUS信息对MySQL进行优化" target="_blank">根据STATUS信息对MySQL进行优化</a>
                                    <span class="text-muted">墙头上一根草</span>
<a class="tag" taget="_blank" href="/search/status/1.htm">status</a>
                                    <div>mysql  查看当前正在执行的操作,即正在执行的sql语句的方法为: 
     show processlist 命令 
  
mysql> show global status;可以列出MySQL服务器运行各种状态值,我个人较喜欢的用法是show status like '查询值%';一、慢查询mysql> show variab</div>
                                </li>
                                <li><a href="/article/957.htm"
                                       title="我的spring学习笔记7-Spring的Bean配置文件给Bean定义别名" target="_blank">我的spring学习笔记7-Spring的Bean配置文件给Bean定义别名</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/Spring+3/1.htm">Spring 3</a>
                                    <div>本文介绍如何给Spring的Bean配置文件的Bean定义别名? 
 
原始的 
 
 
<bean id="business" class="onlyfun.caterpillar.device.Business">
    <property name="writer">
        <ref b</div>
                                </li>
                                <li><a href="/article/1084.htm"
                                       title="高性能mysql 之 性能剖析" target="_blank">高性能mysql 之 性能剖析</a>
                                    <span class="text-muted">annan211</span>
<a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD/1.htm">性能</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/mysql+%E6%80%A7%E8%83%BD%E5%89%96%E6%9E%90/1.htm">mysql 性能剖析</a><a class="tag" taget="_blank" href="/search/%E5%89%96%E6%9E%90/1.htm">剖析</a>
                                    <div>

1 定义性能优化
  mysql服务器性能,此处定义为 响应时间。
  在解释性能优化之前,先来消除一个误解,很多人认为,性能优化就是降低cpu的利用率或者减少对资源的使用。
  这是一个陷阱。
  资源时用来消耗并用来工作的,所以有时候消耗更多的资源能够加快查询速度,保持cpu忙绿,这是必要的。很多时候发现
  编译进了新版本的InnoDB之后,cpu利用率上升的很厉害,这并不</div>
                                </li>
                                <li><a href="/article/1211.htm"
                                       title="主外键和索引唯一性约束" target="_blank">主外键和索引唯一性约束</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/%E7%B4%A2%E5%BC%95/1.htm">索引</a><a class="tag" taget="_blank" href="/search/%E5%94%AF%E4%B8%80%E6%80%A7%E7%BA%A6%E6%9D%9F/1.htm">唯一性约束</a><a class="tag" taget="_blank" href="/search/%E4%B8%BB%E5%A4%96%E9%94%AE%E7%BA%A6%E6%9D%9F/1.htm">主外键约束</a><a class="tag" taget="_blank" href="/search/%E8%81%94%E6%9C%BA%E5%88%A0%E9%99%A4/1.htm">联机删除</a>
                                    <div>目标;第一步;创建两张表 用户表和文章表 
        第二步;发表文章 
  
  
  1,建表; 
    ---用户表 BlogUsers
    --userID唯一的
    --userName
    --pwd
    --sex
        

    create </div>
                                </li>
                                <li><a href="/article/1338.htm"
                                       title="线程的调度" target="_blank">线程的调度</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><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/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B%E7%9A%84%E8%B0%83%E5%BA%A6/1.htm">线程的调度</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a>
                                    <div>1.       Java提供一个线程调度程序来监控程序中启动后进入可运行状态的所有线程。线程调度程序按照线程的优先级决定应调度哪些线程来执行。 
  
2.       多数线程的调度是抢占式的(即我想中断程序运行就中断,不需要和将被中断的程序协商) 
a) </div>
                                </li>
                                <li><a href="/article/1465.htm"
                                       title="查看日志常用命令" target="_blank">查看日志常用命令</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%91%BD%E4%BB%A4/1.htm">命令</a><a class="tag" taget="_blank" href="/search/unix/1.htm">unix</a>
                                    <div>一.日志查找方法,可以用通配符查某台主机上的所有服务器grep "关键字" /wls/applogs/custom-*/error.log 
  
二.查看日志常用命令1.grep '关键字' error.log:在error.log中搜索'关键字'2.grep -C10 '关键字' error.log:显示关键字前后10行记录3.grep '关键字' error.l</div>
                                </li>
                                <li><a href="/article/1592.htm"
                                       title="【持久化框架MyBatis3一】MyBatis版HelloWorld" target="_blank">【持久化框架MyBatis3一】MyBatis版HelloWorld</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/helloworld/1.htm">helloworld</a>
                                    <div>MyBatis这个系列的文章,主要参考《Java Persistence with MyBatis 3》。 
  样例数据 
本文以MySQL数据库为例,建立一个STUDENTS表,插入两条数据,然后进行单表的增删改查 
  
  
CREATE TABLE STUDENTS
(
stud_id int(11) NOT NULL AUTO_INCREMENT,
</div>
                                </li>
                                <li><a href="/article/1719.htm"
                                       title="【Hadoop十五】Hadoop Counter" target="_blank">【Hadoop十五】Hadoop Counter</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a>
                                    <div>  
 1. 只有Map任务的Map Reduce Job  
	File System Counters
		FILE: Number of bytes read=3629530
		FILE: Number of bytes written=98312
		FILE: Number of read operations=0
		FILE: Number of lar</div>
                                </li>
                                <li><a href="/article/1846.htm"
                                       title="解决Tomcat数据连接池无法释放" target="_blank">解决Tomcat数据连接池无法释放</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/tomcat+%E8%BF%9E%E6%8E%A5%E6%B1%A0%E3%80%80%E4%BC%98%E5%8C%96/1.htm">tomcat 连接池 优化</a>
                                    <div> 
 近段时间,公司的检测中心报表系统(SMC)的开发人员时不时找到我,说用户老是出现无法登录的情况。前些日子因为手头上 有Jboss集群的测试工作,发现用户不能登录时,都是在Tomcat中将这个项目Reload一下就好了,不过只是治标而已,因为大概几个小时之后又会 再次出现无法登录的情况。 
  
今天上午,开发人员小毛又找到我,要我协助将这个问题根治一下,拖太久用户难保不投诉。 
简单分析了一</div>
                                </li>
                                <li><a href="/article/1973.htm"
                                       title="java-75-二叉树两结点的最低共同父结点" target="_blank">java-75-二叉树两结点的最低共同父结点</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>
import java.util.LinkedList;
import java.util.List;

import ljn.help.*;
public class BTreeLowestParentOfTwoNodes {

	public static void main(String[] args) {
		/*
		 * node data is stored in</div>
                                </li>
                                <li><a href="/article/2100.htm"
                                       title="行业垂直搜索引擎网页抓取项目" target="_blank">行业垂直搜索引擎网页抓取项目</a>
                                    <span class="text-muted">carlwu</span>
<a class="tag" taget="_blank" href="/search/Lucene/1.htm">Lucene</a><a class="tag" taget="_blank" href="/search/Nutch/1.htm">Nutch</a><a class="tag" taget="_blank" href="/search/Heritrix/1.htm">Heritrix</a><a class="tag" taget="_blank" href="/search/Solr/1.htm">Solr</a>
                                    <div>公司有一个搜索引擎项目,希望各路高人有空来帮忙指导,谢谢! 
这是详细需求: 
(1) 通过提供的网站地址(大概100-200个网站),网页抓取程序能不断抓取网页和其它类型的文件(如Excel、PDF、Word、ppt及zip类型),并且程序能够根据事先提供的规则,过滤掉不相干的下载内容。 
(2) 程序能够搜索这些抓取的内容,并能对这些抓取文件按照油田名进行分类,然后放到服务器不同的目录中。 
</div>
                                </li>
                                <li><a href="/article/2227.htm"
                                       title="[通讯与服务]在总带宽资源没有大幅增加之前,不适宜大幅度降低资费" target="_blank">[通讯与服务]在总带宽资源没有大幅增加之前,不适宜大幅度降低资费</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E8%B5%84%E6%BA%90/1.htm">资源</a>
                                    <div> 
 
      降低通讯服务资费,就意味着有更多的用户进入,就意味着通讯服务提供商要接待和服务更多的用户,在总体运维成本没有由于技术升级而大幅下降的情况下,这种降低资费的行为将导致每个用户的平均带宽不断下降,而享受到的服务质量也在下降,这对用户和服务商都是不利的。。。。。。。。 
 
 
    &nbs</div>
                                </li>
                                <li><a href="/article/2354.htm"
                                       title="Java时区转换及时间格式" target="_blank">Java时区转换及时间格式</a>
                                    <span class="text-muted">Cwind</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>本文介绍Java API 中 Date, Calendar, TimeZone和DateFormat的使用,以及不同时区时间相互转化的方法和原理。 
  
问题描述: 
向处于不同时区的服务器发请求时需要考虑时区转换的问题。譬如,服务器位于东八区(北京时间,GMT+8:00),而身处东四区的用户想要查询当天的销售记录。则需把东四区的“今天”这个时间范围转换为服务器所在时区的时间范围。 
</div>
                                </li>
                                <li><a href="/article/2481.htm"
                                       title="readonly,只读,不可用" target="_blank">readonly,只读,不可用</a>
                                    <span class="text-muted">dashuaifu</span>
<a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/disable/1.htm">disable</a><a class="tag" taget="_blank" href="/search/readOnly/1.htm">readOnly</a><a class="tag" taget="_blank" href="/search/readOnly/1.htm">readOnly</a>
                                    <div>readOnly 和 readonly 不同,在做js开发时一定要注意函数大小写和jsp黄线的警告!!!我就经历过这么一件事: 
使用readOnly在某些浏览器或同一浏览器不同版本有的可以实现“只读”功能,有的就不行,而且函数readOnly有黄线警告!!!就这样被折磨了不短时间!!!(期间使用过disable函数,但是发现disable函数之后后台接收不到前台的的数据!!!) 
  </div>
                                </li>
                                <li><a href="/article/2608.htm"
                                       title="LABjs、RequireJS、SeaJS 介绍" target="_blank">LABjs、RequireJS、SeaJS 介绍</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a>
                                    <div>LABjs 的核心是 LAB(Loading and Blocking):Loading 指异步并行加载,Blocking 是指同步等待执行。LABjs 通过优雅的语法(script 和 wait)实现了这两大特性,核心价值是性能优化。LABjs 是一个文件加载器。RequireJS 和 SeaJS 则是模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块化开发变得更</div>
                                </li>
                                <li><a href="/article/2735.htm"
                                       title="[应用结构]入口脚本" target="_blank">[应用结构]入口脚本</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/yii2/1.htm">yii2</a>
                                    <div>入口脚本 
入口脚本是应用启动流程中的第一环,一个应用(不管是网页应用还是控制台应用)只有一个入口脚本。终端用户的请求通过入口脚本实例化应用并将将请求转发到应用。 
Web 应用的入口脚本必须放在终端用户能够访问的目录下,通常命名为 index.php,也可以使用 Web 服务器能定位到的其他名称。 
控制台应用的入口脚本一般在应用根目录下命名为 yii(后缀为.php),该文</div>
                                </li>
                                <li><a href="/article/2862.htm"
                                       title="haoop shell命令" target="_blank">haoop shell命令</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/hadoop+shell/1.htm">hadoop shell</a>
                                    <div> 
 cat 
 chgrp 
 chmod 
 chown 
 copyFromLocal 
 copyToLocal 
 cp 
 du 
 dus 
 expunge 
 get 
 getmerge 
 ls 
 lsr 
 mkdir 
 movefromLocal 
 mv 
 put 
 rm 
 rmr 
 setrep 
 stat 
 tail 
 test 
 text 
 </div>
                                </li>
                                <li><a href="/article/2989.htm"
                                       title="MultiStateView不同的状态下显示不同的界面" target="_blank">MultiStateView不同的状态下显示不同的界面</a>
                                    <span class="text-muted">gundumw100</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>只要将指定的view放在该控件里面,可以该view在不同的状态下显示不同的界面,这对ListView很有用,比如加载界面,空白界面,错误界面。而且这些见面由你指定布局,非常灵活。 
 
PS:ListView虽然可以设置一个EmptyView,但使用起来不方便,不灵活,有点累赘。 
 
 

<com.kennyc.view.MultiStateView xmlns:android=&qu</div>
                                </li>
                                <li><a href="/article/3116.htm"
                                       title="jQuery实现页面内锚点平滑跳转" target="_blank">jQuery实现页面内锚点平滑跳转</a>
                                    <span class="text-muted">ini</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                                    <div>平时我们做导航滚动到内容都是通过锚点来做,刷的一下就直接跳到内容了,没有一丝的滚动效果,而且 url 链接最后会有“小尾巴”,就像#keleyi,今天我就介绍一款 jquery 做的滚动的特效,既可以设置滚动速度,又可以在 url 链接上没有“小尾巴”。 
  
效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/37.htmHTML文件代码: 
&</div>
                                </li>
                                <li><a href="/article/3243.htm"
                                       title="kafka offset迁移" target="_blank">kafka offset迁移</a>
                                    <span class="text-muted">kane_xie</span>
<a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a>
                                    <div>在早前的kafka版本中(0.8.0),offset是被存储在zookeeper中的。 
  
到当前版本(0.8.2)为止,kafka同时支持offset存储在zookeeper和offset manager(broker)中。 
  
从官方的说明来看,未来offset的zookeeper存储将会被弃用。因此现有的基于kafka的项目如果今后计划保持更新的话,可以考虑在合适</div>
                                </li>
                                <li><a href="/article/3370.htm"
                                       title="android > 搭建 cordova 环境" target="_blank">android > 搭建 cordova 环境</a>
                                    <span class="text-muted">mft8899</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>  
1 , 安装 node.js   
     http://nodejs.org 
     
node -v   查看版本 
  
2, 安装 npm 
  
可以先从  https://github.com/isaacs/npm/tags  下载 源码 解压到</div>
                                </li>
                                <li><a href="/article/3497.htm"
                                       title="java封装的比较器,比较是否全相同,获取不同字段名字" target="_blank">java封装的比较器,比较是否全相同,获取不同字段名字</a>
                                    <span class="text-muted">qifeifei</span>

                                    <div> 非常实用的java比较器,贴上代码: 
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;

i</div>
                                </li>
                                <li><a href="/article/3624.htm"
                                       title="记录一些函数用法" target="_blank">记录一些函数用法</a>
                                    <span class="text-muted">.Aky.</span>
<a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0/1.htm">函数</a><a class="tag" taget="_blank" href="/search/IP/1.htm">IP</a>
                                    <div>高手们照旧忽略。 
想弄个全天朝IP段数据库,找了个今天最新更新的国内所有运营商IP段,copy到文件,用文件函数,字符串函数把玩下。分割出startIp和endIp这样格式写入.txt文件,直接用phpmyadmin导入.csv文件的形式导入。(生命在于折腾,也许你们觉得我傻X,直接下载人家弄好的导入不就可以,做自己的菜鸟,让别人去说吧) 
 
当然用到了ip2long()函数把字符串转为整型数</div>
                                </li>
                                <li><a href="/article/3751.htm"
                                       title="sublime text 3 rust" target="_blank">sublime text 3 rust</a>
                                    <span class="text-muted">wudixiaotie</span>
<a class="tag" taget="_blank" href="/search/Sublime+Text/1.htm">Sublime Text</a>
                                    <div>1.sublime text 3 => install package => Rust 
2.cd ~/.config/sublime-text-3/Packages 
3.mkdir rust 
4.git clone https://github.com/sp0/rust-style 
5.cd rust-style 
6.cargo build --release 
7.ctrl</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>