<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>工具 - Yevpt&apos;s Blog</title>
    <link>https://www.yevpt.com</link>
    <description>Yevpt&apos;s Blog 「工具」分类下的文章</description>
    <language>zh-CN</language>
    <lastBuildDate>Tue, 16 Jun 2020 06:34:39 GMT</lastBuildDate>
    <atom:link href="https://www.yevpt.com/categories/9/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Centos7 安装 Docker</title>
      <link>https://www.yevpt.com/articles/46</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/46</guid>
      <pubDate>Tue, 16 Jun 2020 06:34:39 GMT</pubDate>
      <description>虽然如今我已经在一步步降低对docker的依赖，少做了很多杀鸡用牛刀的事情，但是docker在特定的场景下依旧是非常好用，为此整理了安装的步骤和相关...</description>
      <category>工具</category>
      <content:encoded><![CDATA[<p>虽然如今已经在一步步降低对docker的依赖，少做了很多杀鸡用牛刀的事情，但是docker在很多的场景下依旧是非常好用，为此整理了安装的步骤和相关的一些配置。</p>
<h3 id="安装">安装</h3>
<h4 id="1-卸载旧版本若有">1. 卸载旧版本（若有）</h4>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
</code></pre></div>
<p> </p>
<h4 id="2-开始安装">2. 开始安装</h4>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo yum install -y yum-utils

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
    
sudo yum install docker-ce docker-ce-cli containerd.io
# 安装docker-compose
yum install docker-compose -y
</code></pre></div>
<h4 id="3-设置开机自启并启动docker">3. 设置开机自启并启动Docker</h4>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo systemctl enable docker

sudo systemctl start docker
</code></pre></div>
<h4 id="4-运行hello-docker">4. 运行hello docker</h4>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo systemctl start docker
</code></pre></div>
<h4 id="5-查看版本">5. 查看版本</h4>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>docker version
</code></pre></div>
<h3 id="更换国内源">更换国内源</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json &#x3C;&#x3C;-'EOF'
{
  "registry-mirrors": ["https://k7en6s5m.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker
</code></pre></div>
<h3 id="命令">命令</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># 显示Docker系统信息，包括镜像和容器数
docker info
# 进入容器
docker exec -it [容器id] bash 
# 查找所有容器
docker container ls -all 
# 删除实例
docker rm -f [容器id]
</code></pre></div>
<h3 id="参考">参考</h3>
<ul>
<li><a href="https://docs.docker.com/engine/install/centos/" rel="noopener noreferrer" target="_blank">Install Docker Engine on CentOS</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>内网穿透神器-NPS使用教程</title>
      <link>https://www.yevpt.com/articles/45</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/45</guid>
      <pubDate>Tue, 16 Jun 2020 02:37:50 GMT</pubDate>
      <description>Nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。几乎支持所有协议，支持内网http代理、内网socks5代理、p2p等，简洁但功能强大的WEB管理界面...</description>
      <category>工具</category>
      <content:encoded><![CDATA[<h3 id="官网介绍">官网介绍</h3>
<blockquote>
<p>Nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。几乎支持所有协议，支持内网http代理、内网socks5代理、p2p等，简洁但功能强大的WEB管理界面，支持服务端、客户端同时控制，扩展功能强大，全平台兼容，一键注册为服务。</p>
</blockquote>
<p><img src="https://blog-oss.yevpt.com/blog/articles/45/images/d018d0f4f7b2050d9399e96f87a97b83.png?a=e8c92f581ef7b10c06da6626469ca7b2&#x26;b=6a617c43" alt="8TFr6I.png"></p>
<h3 id="安装服务端">安装服务端</h3>
<p>这里只用centos 64位作演示
首页去<a href="https://github.com/ehang-io/nps/releases" rel="noopener noreferrer" target="_blank">官方</a>找到并复制最新的下载链接</p>
<p> </p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># 创建并进入指定目录
cd /path
mkdir nps
cd /path/nps
# 将复制的对应的服务端下载并解压到当前目录
wget https://github.com/ehang-io/nps/releases/download/v0.26.7/linux_amd64_server.tar.gz &#x26;&#x26; tar zxvf linux_amd64_server.tar.gz
# 执行安装命令
sudo ./nps install
# 启动
sudo nps start
</code></pre></div>
<p>配置文件参数如下(安装后的配置文件在/etc/nps/conf/nps.conf)：
根据实际情况修改</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>#web管理端口
httpport
#web界面管理密码
password
#服务端客户端通信端口
bridePort
#ssl certFile绝对路径
pemPath
#ssl keyFile绝对路径
keyPath
#域名代理https代理监听端口
httpsProxyPort
#域名代理http代理监听端口
httpProxyPort
#web api免验证IP地址
authip
#客户端与服务端连接方式kcp或tcp
bridgeType
</code></pre></div>
<p>修改完配置文件后，重启服务</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo ./nps restart
</code></pre></div>
<p>服务端常用命令:</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># 服务端开始/停止/重启/配置文件重载/卸载服务/安装服务
sudo nps start/stop/restart/reload/uninstall/install
#  服务端更新

sudo nps-update update (请更新前停止服务)
</code></pre></div>
<p>默认的web端口是8080，账号是admin/123
提前放开防火墙和云服务的安全策略</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>firewall-cmd --zone=public --add-port=8080/tcp --permanent 
firewall-cmd --reload
</code></pre></div>
<p>另外对于服务用到的bridePort，httpsProxyPort，httpProxyPort也最好提前放开，不然客户端是无法请求到服务端的。</p>
<h3 id="客户端使用">客户端使用</h3>
<p>首先看看<a href="https://ehang-io.github.io/nps/#/use" rel="noopener noreferrer" target="_blank">官方文档</a>，了解基本操作和指令。</p>
<h4 id="1linux系统">1、Linux系统</h4>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># 创建并进入指定目录
cd /path
mkdir npc
cd /path/npc
# 将复制的对应的客户端下载并解压到当前目录
wget https://github.com/ehang-io/nps/releases/download/v0.26.7/linux_amd64_client.tar.gz &#x26;&#x26; tar zxvf linux_amd64_client.tar.gz
</code></pre></div>
<p>为了客户端的服务能正确的断网重连，这里使用配置文件的方式启动</p>
<p>配置/conf/npc.conf的内容：(具体的含义和修改请根据官方文档配置)</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>[common]
server_addr=这里填写服务端的服务端口，比如tcp端口
conn_type=tcp
vkey=这里填写服务端配置vkey
auto_reconnection=true
max_conn=1000
flow_limit=1000
rate_limit=1000
# crypt=true
# compress=true
</code></pre></div>
<p>然后启动注册服务并启动客户端：</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo ./npc install -config=/path/npc/conf/npc.conf
sudo ./npc start
</code></pre></div>
<p>但是官网这种安装方式只能安装一个npc的客户端，如果需要同时连接多个服务端同时穿透，这种方式就不合适了。
我选择使用Supervisor来配置多个npc客户端同时运行</p>
<p>在/etc/supervisord.d中配置npc-1.ini</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>[program:npc-1]
directory = /path
command = /path/npc -config=/path/npc/conf/npc.conf -debug=false
autostart = true
startsecs = 5
autorestart = true
startretries = 3
user = root
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /var/log/npc/npc-1.log
</code></pre></div>
<p>完成之后执行</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># 识别配置文件并启动
supervisorctl reread
supervisorctl update
# 启动
supervisorctl start npc-1
# 查看状态
supervisorctl status npc-1
</code></pre></div>
<p>具体的Supervisor安装和使用请参考
<a href="https://www.chengxulvtu.com/supervisor-on-centos-7/" rel="noopener noreferrer" target="_blank">CentOS 7 配置 Supervisor</a></p>
<p> </p>
<h4 id="2windows系统">2、Windows系统</h4>
<p>首先下载win版<a href="https://github.com/ehang-io/nps/releases/download/v0.26.7/windows_amd64_client.tar.gz" rel="noopener noreferrer" target="_blank">windows_amd64_client.tar.gz</a>并解压。</p>
<p>建议使用GitBash命令行软件的管理员模式来启动。</p>
<p>如果要使用最简单的模式，可以运行官方指导的以下命令。</p>
<p>但是对于我有多个服务器，想同时连接多个nps服务端的话，可以使用单独注册系统服务的方式：</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># 如果有npc1服务请先删除
sc delete npc1
# 注册npc服务
sc create npc1 binpath= "D:\Apps\npc\npc.exe -server=xxxx -vkey=xxx -type=tcp" start= auto displayname= "npc1"

</code></pre></div>
<p><img src="https://blog-oss.yevpt.com/blog/articles/45/images/06057fc290cfa432b18d775f0fc29776.png?a=3c69416a94157761757117c240b3c2e2&#x26;b=6a617c43" alt="iShot2020052415.06.39.png"></p>
<p>然后鼠标右键底部任务栏，打开任务管理器，找到服务选项，然后底部打开服务，找到npc1,启动服务，并且点开顶部恢复菜单，将第x次失败几个选项都勾选为‘重新启动服务’，即可。
每次需要一个新的npc客户端的时候，按照上述步骤即可。</p>
<p> </p>
<h3 id="mac端">Mac端</h3>
<p>基本和Linux一致，注意的是下载的压缩包是 darwin_amd64_client.tar.gz</p>
<h3 id="参考">参考</h3>
<ul>
<li><a href="https://ehang-io.github.io/nps" rel="noopener noreferrer" target="_blank">NPS：一款轻量级、高性能、功能强大的内网穿透代理服务器</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Centos7安装Jenkins</title>
      <link>https://www.yevpt.com/articles/32</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/32</guid>
      <pubDate>Wed, 25 Nov 2020 15:33:43 GMT</pubDate>
      <description>之前没有重视系统安全，服务器被挖矿病毒侵扰多日，清除了好多次之后依旧不断死灰复燃，决定重装，顺便整理了Jenkins的安装以及之前遇到的一系列问题...</description>
      <category>工具</category>
      <content:encoded><![CDATA[<h2 id="安装">安装</h2>
<h3 id="下载rpm包">下载rpm包</h3>
<p>目前(2020411)最新 jenkins LTS版本:</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.164.3-1.1.noarch.rpm
</code></pre></div>
<p>可以去<a href="https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/" rel="noopener noreferrer" target="_blank">清华大学镜像站</a> 替换成最新的链接。</p>
<h3 id="安装-1">安装</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo yum install jenkins-2.164.3-1.1.noarch.rpm
</code></pre></div>
<h2 id="配置">配置</h2>
<h3 id="修改端口">修改端口</h3>
<p>为了系统安全建议修改为其他端口</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>vim /etc/sysconfig/jenkins

#监听端口
JENKINS_PORT="XXXX"

</code></pre></div>
<p> </p>
<h3 id="配置权限">配置权限</h3>
<p>为了不因为权限出现各种问题，这里直接使用root</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>vim /etc/sysconfig/jenkins

#修改配置
$JENKINS_USER="root"
</code></pre></div>
<h3 id="修改目录权限">修改目录权限</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
</code></pre></div>
<h3 id="重启">重启</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>service jenkins restart
</code></pre></div>
<h3 id="查看jekins进程">查看jekins进程</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>ps -ef | grep jenkins
</code></pre></div>
<h2 id="问题解决">问题解决</h2>
<h3 id="解决下载插件缓慢">解决下载插件缓慢</h3>
<p>进入jekins的updates目录</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>cd /var/lib/jenkins/updates

</code></pre></div>
<p>执行sed替换jekins插件下载地址为清华镜像</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json &#x26;&#x26; sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
</code></pre></div>
<h3 id="手动安装jekins更新">手动安装jekins更新</h3>
<p>如果无法自动安装jekins的更新，通过以下方式安装即可。</p>
<p>进入 https://mirrors.tuna.tsinghua.edu.cn/jenkins/war 选择最新的版本（20200411最新的为：https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.173/jenkins.war）</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>cd /usr/lib/jenkins
mv jenkins.war /usr/local/src/
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.173/jenkins.war
/etc/init.d/jenkins restart
</code></pre></div>
<h2 id="解决报错">解决报错</h2>
<p>Jenkenis报错：该jenkins实例似乎已离线</p>
<p>更换JDK到更低版本如：JDK8即可。</p>
<h2 id="相关指令">相关指令</h2>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># Jenkins跟随系统自动启动
sudo systemctl enable jenkins
# 启动Jenkins
sudo systemctl start jenkins
# 启动Jenkins
sudo systemctl restart jenkins
# 停止Jenkins
sudo systemctl stop jenkins
# 查看Jenkins状态
systemctl status jenkins
</code></pre></div>
<h2 id="相关参考">相关参考</h2>
<ul>
<li><a href="https://www.cnblogs.com/stulzq/p/9291237.html" rel="noopener noreferrer" target="_blank">CentOS 7 安装 Jenkins</a></li>
<li><a href="https://blog.csdn.net/qiuyeyijian/article/details/104570642" rel="noopener noreferrer" target="_blank">Jenkins 使用国内镜像快速安装（rpm安装）</a></li>
<li><a href="https://www.cnblogs.com/richiewlq/p/11919081.html" rel="noopener noreferrer" target="_blank">Jenkins 插件加速下载</a></li>
<li><a href="https://www.cnblogs.com/weifeng1463/p/11186246.html" rel="noopener noreferrer" target="_blank">Jenkenis报错：该jenkins实例似乎已离线</a></li>
<li><a href="https://segmentfault.com/a/1190000015389941" rel="noopener noreferrer" target="_blank">CentOS使用yum安装jdk</a></li>
<li><a href="https://my.oschina.net/VASKS/blog/3106314" rel="noopener noreferrer" target="_blank">jenkins 插件下载加速最终方案</a></li>
<li><a href="https://www.cnblogs.com/richiewlq/p/11919081.html" rel="noopener noreferrer" target="_blank">Jenkins 插件加速下载</a></li>
<li><a href="https://gitee.com/oschina/Gitee-Jenkins-Plugin/issues/IWZSR" rel="noopener noreferrer" target="_blank">配置webhook测试报错403</a></li>
<li><a href="https://www.cnblogs.com/xiaochina/p/9838807.html" rel="noopener noreferrer" target="_blank">jenkins执行shell提示命令不存在</a></li>
</ul>]]></content:encoded>
    </item>
  </channel>
</rss>