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

<channel>
	<title>admin - 广联在线</title>
	<atom:link href="https://www.abvnet.com/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.abvnet.com</link>
	<description>Abvnet</description>
	<lastBuildDate>Sat, 29 Jan 2022 10:15:56 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://www.abvnet.com/wp-content/uploads/2021/07/A-100x100.png</url>
	<title>admin - 广联在线</title>
	<link>https://www.abvnet.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Linux 编译错误：cc: fatal error: Killed signal terminated program cc1</title>
		<link>https://www.abvnet.com/linux-%e7%bc%96%e8%af%91%e9%94%99%e8%af%af%ef%bc%9acc-fatal-error-killed-signal-terminated-program-cc1/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 23 Dec 2021 04:27:50 +0000</pubDate>
				<category><![CDATA[技术]]></category>
		<guid isPermaLink="false">https://www.abvnet.com/?p=1378</guid>

					<description><![CDATA[<p>近日临时在 CentOS 服务器上重新编译 php，下载源码、解压、configure 配置需要的选项，直到 &#8230;&#160;<a href="https://www.abvnet.com/linux-%e7%bc%96%e8%af%91%e9%94%99%e8%af%af%ef%bc%9acc-fatal-error-killed-signal-terminated-program-cc1/" rel="bookmark">阅读更多 &#187;<span class="screen-reader-text">Linux 编译错误：cc: fatal error: Killed signal terminated program cc1</span></a></p>
<p>The post <a href="https://www.abvnet.com/linux-%e7%bc%96%e8%af%91%e9%94%99%e8%af%af%ef%bc%9acc-fatal-error-killed-signal-terminated-program-cc1/">Linux 编译错误：cc: fatal error: Killed signal terminated program cc1</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>近日临时在 CentOS 服务器上重新编译 php，下载源码、解压、configure 配置需要的选项，直到 make 过程中突然中断，报错：</p>
<section class="code-snippet__fix code-snippet__js">
<ul class="code-snippet__line-index code-snippet__js">
<li></ul>
<pre class="code-snippet__js" data-lang="http"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">cc</span>: fatal error: Killed signal terminated program cc1</span></code></pre>
</section>
<p>确认不是代码版本问题和编译配置错误，于是怀疑云主机内存不够（还在跑应用，top查看可用内存不足1GiB）。百度一下果然有内存不够引起这个错误的。</p>
<p></p>
<p>以下是使用交换分区的临时解决方案（先 su 为 root 用户）：</p>
<p></p>
<section class="code-snippet__fix code-snippet__js">
<ul class="code-snippet__line-index code-snippet__js">
<li>
</li>
<li>
</li>
<li>
</li>
<li>
</li>
<li>
</li>
<li>
</li>
</ul>
<pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer"># dd <span class="code-snippet__keyword">if</span>=<span class="code-snippet__regexp">/dev/</span>zero <span class="code-snippet__keyword">of</span>=<span class="code-snippet__regexp">/swapfile bs=64M count=16</span></span></code><code><span class="code-snippet_outer"># mkswap /swapfile</span></code><code><span class="code-snippet_outer"># swapon /swapfile</span></code><code><span class="code-snippet_outer"># make </span></code><code><span class="code-snippet_outer"># swapoff /swapfile</span></code><code><span class="code-snippet_outer"># rm /swapfile</span></code></pre>
</section>
<p>前面每一行命令对应的说明如下：</p>
<section class="code-snippet__fix code-snippet__js">
<ul class="code-snippet__line-index code-snippet__js">
<li>
</li>
<li>
</li>
<li>
</li>
<li>
</li>
<li>
</li>
<li>
</li>
</ul>
<pre class="code-snippet__js" data-lang="apache"><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 用 dd 命令创建大小为 64 * 16 = 1024 GiB 的空白文件为 /swapfile，如果不够可以把 16 改为 32、64等（即 2 GiB、4 GiB等，以此类推，只要硬盘够大）</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># mkswap 初始化 /swapfile 文件为交换分区</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># swapon 设置 /swapfile 文件为系统交换分区</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 重新执行刚才失败的 make </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 卸载 /swapfile 交换分区</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 删除 /swapfile 文件，释放磁盘空间</span></span></code></pre>
</section>
<p>注意，增加交换分区只是个对运行内存不够用的临时替代方案，代价是磁盘空间消耗，以及对应物理磁盘的频繁读写。隐患：一方面磁盘访问比内存访问慢得多，另一方面会影响磁盘使用寿命（尤其对SSD）。对于内存不足，增加物理内存才是终极合理的解决方案。</p><p>The post <a href="https://www.abvnet.com/linux-%e7%bc%96%e8%af%91%e9%94%99%e8%af%af%ef%bc%9acc-fatal-error-killed-signal-terminated-program-cc1/">Linux 编译错误：cc: fatal error: Killed signal terminated program cc1</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>用acme.sh申请免费SSL证书攻略</title>
		<link>https://www.abvnet.com/%e7%94%a8acme-sh%e7%94%b3%e8%af%b7%e5%85%8d%e8%b4%b9ssl%e8%af%81%e4%b9%a6%e6%94%bb%e7%95%a5/</link>
					<comments>https://www.abvnet.com/%e7%94%a8acme-sh%e7%94%b3%e8%af%b7%e5%85%8d%e8%b4%b9ssl%e8%af%81%e4%b9%a6%e6%94%bb%e7%95%a5/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 24 Nov 2021 03:32:52 +0000</pubDate>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[acme.sh 免费SSL]]></category>
		<guid isPermaLink="false">https://www.abvnet.com/?p=1299</guid>

					<description><![CDATA[<p>转载自广联在线微信公众号。请扫描本页底部二维码关注和查看原文。 本文依 github 上 acme.sh 文档&#8230;&#160;<a href="https://www.abvnet.com/%e7%94%a8acme-sh%e7%94%b3%e8%af%b7%e5%85%8d%e8%b4%b9ssl%e8%af%81%e4%b9%a6%e6%94%bb%e7%95%a5/" rel="bookmark">阅读更多 &#187;<span class="screen-reader-text">用acme.sh申请免费SSL证书攻略</span></a></p>
<p>The post <a href="https://www.abvnet.com/%e7%94%a8acme-sh%e7%94%b3%e8%af%b7%e5%85%8d%e8%b4%b9ssl%e8%af%81%e4%b9%a6%e6%94%bb%e7%95%a5/">用acme.sh申请免费SSL证书攻略</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>转载自广联在线微信公众号。请扫描本页底部二维码关注和查看原文。</p>
<p>本文依 github 上 acme.sh 文档及网络公开资源整理，环境为阿里云ECS，网站部署环境为 CentOS 7 + nginx。</p>
<ul>
<li>安装 acme.sh</li>
</ul>
<section>
<pre data-lang="nginx"><code>wget -O -  https://get.acme.sh | sh -s email=my@example.com</code><br /><code># 为acme.sh开启t自动更新</code><br /><code>acme.sh --upgrade --auto-upgrade</code></pre>
</section>
<ul>
<li>在阿里云工作台“RAM访问控制”，创建一个新用户（假定网站域名解析在阿里云管理），分配Access Key 和 Secret，并授予域名管理的权限 AliyunDNSFullAccess 。暂时设置到网站主机的环境变量，为后面生成证书做准备。</li>
</ul>
<section>
<pre data-lang="javascript"><code>export Ali_Key="abcdefghijklmnopqrstuvwx"</code><br /><code>export Ali_Secret="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234"</code></pre>
</section>
<ul>
<li>生成证书</li>
</ul>
<section>
<pre data-lang="css"><code>acme.sh --issue --dns dns_ali -d www.example.com --nginx</code></pre>
</section>
<p>    此时 acme.sh 会自动调用阿里云API 添加域名TXT记录，并在验证通过后生成SSL证书。</p>
<ul>
<li>安装证书。安装的目标路径和文件名应当与nginx的配置文件内容相对应。</li>
</ul>
<section>
<pre data-lang="sql"><code>acme.sh --install-cert -d www.example.com </code><br /><code>        --key-file /etc/nginx/ssl/www.example.com/www.example.com.key  </code><br /><code>        --fullchain-file /etc/nginx/ssl/www.example.com/www.example.com.cer </code><br /><code>        --reloadcmd "systemctl restart nginx"</code></pre>
</section>
<ul>
<li>检查crontab</li>
</ul>
<section>
<pre data-lang="nginx"><code>crontab -l</code></pre>
</section>
<p>    经过以上配置，acme.sh 就自动生成SSL证书并在网站生效了。并且acme.sh 添加的定时任务会检查SSL证书是否过期和自动更新。</p>
<p> </p>

<div class="wp-block-post-comments"></div>

<p></p><p>The post <a href="https://www.abvnet.com/%e7%94%a8acme-sh%e7%94%b3%e8%af%b7%e5%85%8d%e8%b4%b9ssl%e8%af%81%e4%b9%a6%e6%94%bb%e7%95%a5/">用acme.sh申请免费SSL证书攻略</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.abvnet.com/%e7%94%a8acme-sh%e7%94%b3%e8%af%b7%e5%85%8d%e8%b4%b9ssl%e8%af%81%e4%b9%a6%e6%94%bb%e7%95%a5/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>为 WordPress 服务器添加 Memcached 支持</title>
		<link>https://www.abvnet.com/%e4%b8%ba-wordpress-%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%b7%bb%e5%8a%a0-memcached-%e6%94%af%e6%8c%81/</link>
					<comments>https://www.abvnet.com/%e4%b8%ba-wordpress-%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%b7%bb%e5%8a%a0-memcached-%e6%94%af%e6%8c%81/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 23 Nov 2021 08:40:58 +0000</pubDate>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[WordPress Memcached]]></category>
		<guid isPermaLink="false">https://www.abvnet.com/?p=1271</guid>

					<description><![CDATA[<p>转载自广联在线微信公众号。请扫描本页底部二维码关注和查看原文。 在 WordPress 中开启 Memcach&#8230;&#160;<a href="https://www.abvnet.com/%e4%b8%ba-wordpress-%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%b7%bb%e5%8a%a0-memcached-%e6%94%af%e6%8c%81/" rel="bookmark">阅读更多 &#187;<span class="screen-reader-text">为 WordPress 服务器添加 Memcached 支持</span></a></p>
<p>The post <a href="https://www.abvnet.com/%e4%b8%ba-wordpress-%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%b7%bb%e5%8a%a0-memcached-%e6%94%af%e6%8c%81/">为 WordPress 服务器添加 Memcached 支持</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>转载自广联在线微信公众号。请扫描本页底部二维码关注和查看原文。</p>
<p>在 WordPress 中开启 Memcached 缓存支持，可以加快网站访问速度。具体原理和配置请参考 WordPress 文档。本文着重介绍下在 Docker 方式部署的 WordPress 5.7 服务器上安装 Memcached 的方法步骤。</p>
<p>Docker 容器的 Linux 环境中包含一套 dpkg 和 apt 的包管理工具，所以如果在运维 Docker 部署的业务时临时需要用到什么软件，一般情况可以跟 Ubuntu 一样办法，使用 apt install 命令来安排常用软件。</p>
<ul class="list-paddingleft-2" style="list-style-type: disc;">
<li>先准备好一个 Docker 方式部署的 WordPress 网站实例。</li>
<li><span style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;">进入 docker 容器的运行环境。</span></li>
</ul>
<section class="code-snippet__fix code-snippet__js">
<pre class="code-snippet__js" data-lang="ruby"><code><span class="code-snippet_outer">[root@ip-<span class="code-snippet__number">172</span>-<span class="code-snippet__number">31</span>-<span class="code-snippet__number">35</span>-<span class="code-snippet__number">228</span> centos]<span class="code-snippet__comment"># docker ps</span></span></code>
<code><span class="code-snippet_outer">CONTAINER ID   IMAGE              COMMAND                  CREATED      STATUS         PORTS                                   NAMES</span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__number">4</span>ce6a0bf360d   <span class="code-snippet__symbol">wordpress:</span>latest   <span class="code-snippet__string">"docker-entrypoint.s…"</span>   <span class="code-snippet__number">5</span> days ago   Up <span class="code-snippet__number">5</span> days      <span class="code-snippet__number">0</span>.<span class="code-snippet__number">0</span>.<span class="code-snippet__number">0</span>.<span class="code-snippet__number">0</span><span class="code-snippet__symbol">:</span><span class="code-snippet__number">8010</span>-&gt;<span class="code-snippet__number">80</span>/tcp, <span class="code-snippet__symbol">:</span><span class="code-snippet__symbol">:</span><span class="code-snippet__symbol">:</span><span class="code-snippet__number">8010</span>-&gt;<span class="code-snippet__number">80</span>/tcp   ubuylogi_wordpress_1</span></code>
<code><span class="code-snippet_outer">b6bd40497f6f   <span class="code-snippet__symbol">mysql:</span><span class="code-snippet__number">5.7</span>          <span class="code-snippet__string">"docker-entrypoint.s…"</span>   <span class="code-snippet__number">5</span> days ago   Up <span class="code-snippet__number">6</span> minutes   <span class="code-snippet__number">3306</span>/tcp, <span class="code-snippet__number">33060</span>/tcp                     ubuylogi_ubuy_db_1</span></code>
<code><span class="code-snippet_outer">[root@ip-<span class="code-snippet__number">172</span>-<span class="code-snippet__number">31</span>-<span class="code-snippet__number">35</span>-<span class="code-snippet__number">228</span> centos]<span class="code-snippet__comment"># docker exec -it 4ce6a0bf360d /bin/bash</span></span></code>
<code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:/var/www/html</span><span class="code-snippet__comment"># cd</span></span></code>
<code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:~</span><span class="code-snippet__comment"># vim   </span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__symbol">bash:</span> <span class="code-snippet__symbol">vim:</span> command <span class="code-snippet__keyword">not</span> found</span></code>
<code>
</code></pre>
</section>
<p style="white-space: normal;"><span style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;">        </span><span style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;">可以</span><span style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;">看到，vim 等一些常用的工具并不存在</span></p>
<p style="white-space: normal;">
<ul class="list-paddingleft-2" style="list-style-type: disc;">
<li>直接用 apt-get update 更新源。</li>
</ul>
<p style="font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: #fef48b; color: #000000; text-align: start; white-space: normal;">
<section class="code-snippet__fix code-snippet__js">
<pre class="code-snippet__js" data-lang="ruby"><code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:~</span><span class="code-snippet__comment"># apt update</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__symbol">Get:</span><span class="code-snippet__number">1</span> <span class="code-snippet__symbol">http:</span>/<span class="code-snippet__regexp">/security.debian.org/debian</span>-security bullseye-security InRelease [<span class="code-snippet__number">44.1</span> kB]</span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__symbol">Get:</span><span class="code-snippet__number">2</span> <span class="code-snippet__symbol">http:</span>/<span class="code-snippet__regexp">/deb.debian.org/debian</span> bullseye InRelease [<span class="code-snippet__number">113</span> kB]                      </span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__symbol">Get:</span><span class="code-snippet__number">3</span> <span class="code-snippet__symbol">http:</span>/<span class="code-snippet__regexp">/deb.debian.org/debian</span> bullseye-updates InRelease [<span class="code-snippet__number">36.8</span> kB]</span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__symbol">Get:</span><span class="code-snippet__number">4</span> <span class="code-snippet__symbol">http:</span>/<span class="code-snippet__regexp">/security.debian.org/debian</span>-security bullseye-security/main amd64 Packages [<span class="code-snippet__number">29.4</span> kB]</span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__symbol">Get:</span><span class="code-snippet__number">5</span> <span class="code-snippet__symbol">http:</span>/<span class="code-snippet__regexp">/deb.debian.org/debian</span> bullseye/main amd64 Packages [<span class="code-snippet__number">8178</span> kB]</span></code>
<code><span class="code-snippet_outer">Fetched <span class="code-snippet__number">8401</span> kB <span class="code-snippet__keyword">in</span> <span class="code-snippet__number">2</span>s (<span class="code-snippet__number">5057</span> kB/s)</span></code>
<code><span class="code-snippet_outer">Reading package lists... Done</span></code>
<code><span class="code-snippet_outer">Building dependency tree... Done</span></code>
<code><span class="code-snippet_outer">Reading state information... Done</span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__number">1</span> package can be upgraded. Run <span class="code-snippet__string">'apt list --upgradable'</span> to see it.</span></code>
<code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:~</span><span class="code-snippet__comment">#</span></span></code>
<code>
</code></pre>
</section>
<ul class="list-paddingleft-2" style="list-style-type: disc;">
<li>先安装等下要用到的一些工具软件。apt install -y vim wget</li>
</ul>
<p style="font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: #fef48b; color: #000000; text-align: start; white-space: normal;">
<section class="code-snippet__fix code-snippet__js">
<pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__meta">root@4ce6a0bf360d</span>:<span class="code-snippet__string">~# apt install -y vim wget</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__attr">Reading</span> <span class="code-snippet__string">package lists... Done</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__attr">Building</span> <span class="code-snippet__string">dependency tree... Done</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__attr">Reading</span> <span class="code-snippet__string">state information... Done</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__attr">The</span> <span class="code-snippet__string">following additional packages will be installed:</span></span></code>
<code><span class="code-snippet_outer">  <span class="code-snippet__attr">libgpm2</span> <span class="code-snippet__string">vim-common vim-runtime xxd</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__attr">……</span></span></code>
<code>
</code></pre>
</section>
<ul class="list-paddingleft-2" style="list-style-type: disc;">
<li>同样方法安装 zlib1g-dev 和 memcached</li>
</ul>
<p style="font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: #fef48b; color: #000000; text-align: start; white-space: normal;">
<section class="code-snippet__fix code-snippet__js">
<pre class="code-snippet__js" data-lang="perl"><code><span class="code-snippet_outer">root@4ce6a0bf360d:~<span class="code-snippet__comment"># apt install -y zlib1g-dev memcached</span></span></code>
<code><span class="code-snippet_outer">Reading <span class="code-snippet__keyword">package</span> lists... Done</span></code>
<code><span class="code-snippet_outer">Building dependency tree... Done</span></code>
<code><span class="code-snippet_outer">Reading <span class="code-snippet__keyword">state</span> information... Done</span></code>
<code><span class="code-snippet_outer">……</span></code>
<code>
</code>
<code>
</code></pre>
</section>
<ul class="list-paddingleft-2" style="list-style-type: disc;">
<li>安装 memcached 后别忘了启动服务。</li>
</ul>
<p style="font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: #fef48b; color: #000000; text-align: start; white-space: normal;">
<section class="code-snippet__fix code-snippet__js">
<pre class="code-snippet__js" data-lang="ruby"><code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:~</span><span class="code-snippet__comment"># /etc/init.d/memcached start</span></span></code>
<code><span class="code-snippet_outer">Starting <span class="code-snippet__symbol">memcached:</span> memcached.</span></code>
<code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:~</span><span class="code-snippet__comment">#</span></span></code>
<code>
</code></pre>
</section>
<ul class="list-paddingleft-2" style="list-style-type: disc;">
<li>下载 libmemcached 并编译和安装（以下省略各命令的输出）。</li>
</ul>
<p style="font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: #fef48b; color: #000000; text-align: start; white-space: normal;">
<section class="code-snippet__fix code-snippet__js">
<pre class="code-snippet__js" data-lang="ruby"><code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:~</span><span class="code-snippet__comment"># cd </span></span></code>
<code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:~</span><span class="code-snippet__comment"># wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz</span></span></code>
<code>
</code>
<code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:~</span><span class="code-snippet__comment"># tar -zxvf libmemcached-1.0.18.tar.gz</span></span></code>
<code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:~</span><span class="code-snippet__comment"># cd libmemcached-1.0.18</span></span></code>
<code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:~/libmemcached-</span><span class="code-snippet__number">1.0</span>.<span class="code-snippet__number">18</span><span class="code-snippet__comment"># ./configure --prefix=/usr/local/libmemcached --with-memcached</span></span></code>
<code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:~/libmemcached-</span><span class="code-snippet__number">1.0</span>.<span class="code-snippet__number">18</span><span class="code-snippet__comment"># make &amp;&amp; make install</span></span></code>
<code><span class="code-snippet_outer">……</span></code></pre>
</section>
<p style="font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Courier; color: #3b2322; background-color: #d7d3b7; text-align: start; white-space: normal;">
<p>        这一版 libmemcached 在我的环境中编译会出错，如下：</p>
<p style="font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: #fef48b; color: #000000; text-align: start; white-space: normal;">
<section class="code-snippet__fix code-snippet__js">
<pre class="code-snippet__js" data-lang="ruby"><code><span class="code-snippet_outer">  CXX      clients/memflush.o</span></code>
<code><span class="code-snippet_outer">clients/memflush.<span class="code-snippet__symbol">cc:</span> In function <span class="code-snippet__string">'int main(int, char**)'</span>:</span></code>
<code><span class="code-snippet_outer">clients/memflush.<span class="code-snippet__symbol">cc:</span><span class="code-snippet__number">42</span><span class="code-snippet__symbol">:</span><span class="code-snippet__number">19</span>: <span class="code-snippet__symbol">error:</span> ISO C++ forbids comparison between pointer <span class="code-snippet__keyword">and</span> integer [-fpermissive]</span></code>
<code><span class="code-snippet_outer">   <span class="code-snippet__number">42</span> <span class="code-snippet__params">|   <span class="code-snippet__keyword">if</span> (opt_servers == <span class="code-snippet__literal">false</span>)</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet_outer">      |</span>       ~~~~~~~~~~~~^~~~~~~~</span></code>
<code><span class="code-snippet_outer">clients/memflush.<span class="code-snippet__symbol">cc:</span><span class="code-snippet__number">51</span><span class="code-snippet__symbol">:</span><span class="code-snippet__number">21</span>: <span class="code-snippet__symbol">error:</span> ISO C++ forbids comparison between pointer <span class="code-snippet__keyword">and</span> integer [-fpermissive]</span></code>
<code><span class="code-snippet_outer">   <span class="code-snippet__number">51</span> <span class="code-snippet__params">|     <span class="code-snippet__keyword">if</span> (opt_servers == <span class="code-snippet__literal">false</span>)</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet_outer">      |</span>         ~~~~~~~~~~~~^~~~~~~~</span></code>
<code><span class="code-snippet_outer">make[<span class="code-snippet__number">1</span>]: *** [<span class="code-snippet__symbol">Makefile:</span><span class="code-snippet__number">5832</span>: clients/memflush.o] Error <span class="code-snippet__number">1</span></span></code>
<code><span class="code-snippet_outer">make[<span class="code-snippet__number">1</span>]: Leaving directory <span class="code-snippet__string">'/root/libmemcached-1.0.18'</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__symbol">make:</span> *** [<span class="code-snippet__symbol">Makefile:</span><span class="code-snippet__number">3700</span>: all] Error <span class="code-snippet__number">2</span></span></code>
<code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:~/libmemcached-</span><span class="code-snippet__number">1.0</span>.<span class="code-snippet__number">18</span><span class="code-snippet__comment">#</span></span></code></pre>
</section>
<p>        原因是 clients/memflush.cc 源文件中有两处指针类型变量与布尔型的对比操作，用vim打开源文件把false改为 NULL 再重新 make 即可。</p>
<ul class="list-paddingleft-2" style="list-style-type: disc;">
<li>接下来为 php 安装 memcached 插件</li>
</ul>
<section class="code-snippet__fix code-snippet__js">
<pre class="code-snippet__js" data-lang="sql"><code><span class="code-snippet_outer">root@4ce6a0bf360d:~/libmemcached-1.0.18<span class="code-snippet__comment"># pecl install memcached</span></span></code>
<code><span class="code-snippet_outer">pecl/memcached can optionally <span class="code-snippet__keyword">use</span> PHP extension <span class="code-snippet__string">"igbinary"</span> (<span class="code-snippet__keyword">version</span> &gt;= <span class="code-snippet__number">2.0</span>)</span></code>
<code><span class="code-snippet_outer">pecl/memcached can <span class="code-snippet__keyword">optionally</span> <span class="code-snippet__keyword">use</span> PHP extension <span class="code-snippet__string">"msgpack"</span> (<span class="code-snippet__keyword">version</span> &gt;= <span class="code-snippet__number">2.0</span>)</span></code>
<code><span class="code-snippet_outer">downloading memcached<span class="code-snippet__number">-3.1</span><span class="code-snippet__number">.5</span>.tgz ...</span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__keyword">Starting</span> <span class="code-snippet__keyword">to</span> download memcached<span class="code-snippet__number">-3.1</span><span class="code-snippet__number">.5</span>.tgz (<span class="code-snippet__number">83</span>,<span class="code-snippet__number">015</span> <span class="code-snippet__keyword">bytes</span>)</span></code>
<code><span class="code-snippet_outer">....................done: <span class="code-snippet__number">83</span>,<span class="code-snippet__number">015</span> <span class="code-snippet__keyword">bytes</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__number">15</span> <span class="code-snippet__keyword">source</span> files, building</span></code>
<code><span class="code-snippet_outer">running: phpize</span></code>
<code><span class="code-snippet_outer">Configuring <span class="code-snippet__keyword">for</span>:</span></code>
<code><span class="code-snippet_outer">PHP Api <span class="code-snippet__keyword">Version</span>:         <span class="code-snippet__number">20190902</span></span></code>
<code><span class="code-snippet_outer">Zend <span class="code-snippet__keyword">Module</span> Api <span class="code-snippet__keyword">No</span>:      <span class="code-snippet__number">20190902</span></span></code>
<code><span class="code-snippet_outer">Zend Extension Api <span class="code-snippet__keyword">No</span>:   <span class="code-snippet__number">320190902</span></span></code>
<code><span class="code-snippet_outer">libmemcached <span class="code-snippet__keyword">directory</span> [<span class="code-snippet__keyword">no</span>] : /usr/<span class="code-snippet__keyword">local</span>/libmemcached</span></code>
<code><span class="code-snippet_outer">zlib <span class="code-snippet__keyword">directory</span> [<span class="code-snippet__keyword">no</span>] : </span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__keyword">use</span> <span class="code-snippet__keyword">system</span> fastlz [<span class="code-snippet__keyword">no</span>] : </span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__keyword">enable</span> igbinary serializer [<span class="code-snippet__keyword">no</span>] : </span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__keyword">enable</span> msgpack serializer [<span class="code-snippet__keyword">no</span>] : </span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__keyword">enable</span> <span class="code-snippet__keyword">json</span> serializer [<span class="code-snippet__keyword">no</span>] : </span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__keyword">enable</span> <span class="code-snippet__keyword">server</span> protocol [<span class="code-snippet__keyword">no</span>] : </span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__keyword">enable</span> sasl [yes] : <span class="code-snippet__keyword">no</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__keyword">enable</span> sessions [yes] : </span></code>
<code><span class="code-snippet_outer">building <span class="code-snippet__keyword">in</span> /tmp/pear/temp/pear-<span class="code-snippet__keyword">build</span>-defaultuser2i8dVo/memcached<span class="code-snippet__number">-3.1</span><span class="code-snippet__number">.5</span></span></code>
<code><span class="code-snippet_outer">……</span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__keyword">Build</span> process completed successfully</span></code>
<code><span class="code-snippet_outer">Installing <span class="code-snippet__string">'/usr/local/lib/php/extensions/no-debug-non-zts-20190902/memcached.so'</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__keyword">install</span> ok: channel://pecl.php.net/memcached<span class="code-snippet__number">-3.1</span><span class="code-snippet__number">.5</span></span></code>
<code><span class="code-snippet_outer">configuration <span class="code-snippet__keyword">option</span> <span class="code-snippet__string">"php_ini"</span> <span class="code-snippet__keyword">is</span> <span class="code-snippet__keyword">not</span> <span class="code-snippet__keyword">set</span> <span class="code-snippet__keyword">to</span> php.ini location</span></code>
<code><span class="code-snippet_outer">You should <span class="code-snippet__keyword">add</span> <span class="code-snippet__string">"extension=memcached.so"</span> <span class="code-snippet__keyword">to</span> php.ini</span></code>
<code><span class="code-snippet_outer">root@4ce6a0bf360d:~/libmemcached-1.0.18<span class="code-snippet__comment">#</span></span></code></pre>
</section>
<p>    安装过程中，libmemcached 头文件路径填入上面 configure libmemcached 时指定的路径，zlib 头文件路径保持 no (pecl 自动检测），下面除了 sasl 改为 no 之外，其它都按默认。</p>
<ul class="list-paddingleft-2" style="list-style-type: disc;">
<li>libmemcached 安装完成后，需要从上一步输出的最后几行找到memcached so库的安装路径，填入 php 配置文件中。</li>
</ul>
<section class="code-snippet__fix code-snippet__js">
<ul class="code-snippet__line-index code-snippet__js">
<li></li>
</ul>
<pre class="code-snippet__js" data-lang="ruby"><code><span class="code-snippet_outer">root@4ce6a0bf360d<span class="code-snippet__symbol">:~</span><span class="code-snippet__comment"># vim /usr/local/etc/php/php.ini</span></span></code></pre>
</section>
<section class="code-snippet__fix code-snippet__js">
<pre class="code-snippet__js" data-lang="ini"><code><span class="code-snippet_outer"><span class="code-snippet__section">[Memcached]</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__attr">extension_dir</span> = <span class="code-snippet__string">"/usr/local/lib/php/extensions/no-debug-non-zts-20190902/"</span></span></code>
<code><span class="code-snippet_outer"><span class="code-snippet__attr">extension</span> = memcached.so</span></code></pre>
</section>
<ul class="list-paddingleft-2" style="list-style-type: disc;">
<li>接下来可以确认一下 memcached 模块已经被 php 加载。（可能需要重启 php 服务）</li>
</ul>
<p style="font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: #fef48b; color: #000000; text-align: start; white-space: normal;">
<section class="code-snippet__fix code-snippet__js">
<pre class="code-snippet__js" data-lang="ruby"><code><span class="code-snippet_outer">root@bd570ad1c1a5<span class="code-snippet__symbol">:~/libmemcached-</span><span class="code-snippet__number">1.0</span>.<span class="code-snippet__number">18</span><span class="code-snippet__comment"># php -m | grep mem</span></span></code>
<code><span class="code-snippet_outer">memcached</span></code></pre>
</section>
<ul class="list-paddingleft-2" style="list-style-type: disc;">
<li>最后重启 Docker 容器验证。如果以上步骤都执行成功，WordPress 的 object-cache.php 和 wp-config.php 文件也做了相应正确的设定，就可以在网站后台看到 Memcached 的缓存运行情况——包括命中率等数据的显示了。</li>
</ul><p>The post <a href="https://www.abvnet.com/%e4%b8%ba-wordpress-%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%b7%bb%e5%8a%a0-memcached-%e6%94%af%e6%8c%81/">为 WordPress 服务器添加 Memcached 支持</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.abvnet.com/%e4%b8%ba-wordpress-%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%b7%bb%e5%8a%a0-memcached-%e6%94%af%e6%8c%81/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>10分钟部署GitLab</title>
		<link>https://www.abvnet.com/10%e5%88%86%e9%92%9f%e9%83%a8%e7%bd%b2gitlab/</link>
					<comments>https://www.abvnet.com/10%e5%88%86%e9%92%9f%e9%83%a8%e7%bd%b2gitlab/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 22 Nov 2021 08:40:58 +0000</pubDate>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Docker GitLab]]></category>
		<guid isPermaLink="false">https://www.abvnet.com/?p=1272</guid>

					<description><![CDATA[<p>转载自广联在线微信公众号。请扫描本页底部二维码关注和查看原文。 GitLab是最常见的基于git的代码仓库集成&#8230;&#160;<a href="https://www.abvnet.com/10%e5%88%86%e9%92%9f%e9%83%a8%e7%bd%b2gitlab/" rel="bookmark">阅读更多 &#187;<span class="screen-reader-text">10分钟部署GitLab</span></a></p>
<p>The post <a href="https://www.abvnet.com/10%e5%88%86%e9%92%9f%e9%83%a8%e7%bd%b2gitlab/">10分钟部署GitLab</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>转载自广联在线微信公众号。请扫描本页底部二维码关注和查看原文。</p>
<p>GitLab是最常见的基于git的代码仓库集成系统之一。下面讲一下怎么使用Docker方便我们搭和维护GitLab服务器。</p>
<p>准备工作：</p>
<ol class="list-paddingleft-2" style="list-style-type: decimal;">
<li>一台能上网的 Linux 主机，推荐阿里云上购买 CentOS 7。要注意，gitlab-ce-14 要求的内存大小是至少4GB。&nbsp;</li>
<li>安装 Docker 和 docker-compose 。<span style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;">（</span><span style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;">参考：</span><a style="white-space: normal;" href="http://mp.weixin.qq.com/s?__biz=MzkwODI2Nzk3NQ==&amp;mid=2247483685&amp;idx=1&amp;sn=c54fb3d97b506a62df80206a14a391a0&amp;chksm=c0cdd98df7ba509bd902dd7d641d56cdea73497ec9d1940317b9c2a0c3fd42e81068711a7b6d&amp;scene=21#wechat_redirect" target="_blank" rel="noopener" data-itemshowtype="0" data-linktype="2">Docker的安装和使用——初学者快速上手</a><span style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;">）</span>&nbsp;
<p>&nbsp;</p>
<p>&nbsp;</li>
<li><span style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><span style="caret-color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif; letter-spacing: 0.544px; text-size-adjust: auto; background-color: #ffffff;">用 vi 工具编辑生成一个 docker-compose.yml 文件，内容参考以下：</span></span><br />
<section style="line-height: normal;"><span style="caret-color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif; letter-spacing: 0.544px; text-size-adjust: auto; background-color: #000000;">&nbsp;</span></section>
<section style="line-height: normal;"></section>
<table>
<tbody>
<tr>
<td style="word-break: break-all; background-color: #000000;" valign="top" width="519"><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #8fa1b3; font-family: monospace, monospace; font-size: 16px; text-align: left;">web</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">:</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #8fa1b3; font-family: monospace, monospace; font-size: 16px; text-align: left;">image</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">:</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #a3be8c; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8216;gitlab/gitlab-ee:latest&#8217;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #8fa1b3; font-family: monospace, monospace; font-size: 16px; text-align: left;">restart</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">:</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #a3be8c; font-family: monospace, monospace; font-size: 16px; text-align: left;">always</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #8fa1b3; font-family: monospace, monospace; font-size: 16px; text-align: left;">hostname</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">:</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #a3be8c; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8216;gitlab.example.com&#8217;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #8fa1b3; font-family: monospace, monospace; font-size: 16px; text-align: left;">environment</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">:</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #8fa1b3; font-family: monospace, monospace; font-size: 16px; text-align: left;">GITLAB_OMNIBUS_CONFIG</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">😐</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #a3be8c; font-family: monospace, monospace; font-size: 16px; text-align: left;">external_url &#8216;https://gitlab.example.com&#8217;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #a3be8c; font-family: monospace, monospace; font-size: 16px; text-align: left;"># Add any other gitlab.rb configuration here, each on its own line</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #8fa1b3; font-family: monospace, monospace; font-size: 16px; text-align: left;">ports</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">:</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8211;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #a3be8c; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8217;80:80&#8242;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8211;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #a3be8c; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8216;443:443&#8217;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8211;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #a3be8c; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8217;22:22&#8242;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #8fa1b3; font-family: monospace, monospace; font-size: 16px; text-align: left;">volumes</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">:</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8211;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #a3be8c; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8216;$GITLAB_HOME/config:/etc/gitlab&#8217;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8211;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #a3be8c; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8216;$GITLAB_HOME/logs:/var/log/gitlab&#8217;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;"><br />
</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #ffffff; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8211;</span><span style="letter-spacing: 0.544px; caret-color: #333333; background-color: #000000; text-size-adjust: auto; white-space: pre-wrap; box-sizing: border-box; color: #a3be8c; font-family: monospace, monospace; font-size: 16px; text-align: left;">&#8216;$GITLAB_HOME/data:/var/opt/gitlab&#8217;</span></td>
</tr>
</tbody>
</table>
<p>&nbsp;</li>
<li><span style="caret-color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif; letter-spacing: 0.544px; text-size-adjust: auto; background-color: #ffffff;">自动下载镜像并启动容器。</span>&nbsp;<br />
<table style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;">
<tbody>
<tr>
<td style="word-break: break-all; background-color: #000000;" valign="top" width="519"><span style="color: #a3be8c; font-family: monospace, monospace; font-size: 16px; letter-spacing: 0.544px; text-align: left; white-space: pre-wrap; caret-color: #333333; background-color: #000000;">$ docker-compose up -d</span></td>
</tr>
</tbody>
</table>
<p>注：因在前步骤中 docker-compose.yml 示例中引用了环境变量 $GITLAB_HOME, 请注意在执行本操作前正确设置这个路径，或者直接修改 docker-compose.yml，例如：</p>
<p>&nbsp;</p>
<p style="word-break: break-all; background-color: #000000; font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><span style="color: #a3be8c; font-family: monospace, monospace; font-size: 16px; letter-spacing: 0.544px; text-align: left; white-space: pre-wrap; caret-color: #333333; background-color: #000000;"> $ export GITLAB_HOME=/srv/gitlab</span></p>
<p>&nbsp;</li>
<li>浏览器访问gitlab服务器。初始配置和开始使用。对于本文完成时gitlab最新版本14来说，root用户的初始密码保存在以下文件中
<p style="word-break: break-all; background-color: #000000; font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><span style="color: #a3be8c; font-family: monospace, monospace; font-size: 16px; letter-spacing: 0.544px; text-align: left; white-space: pre-wrap; caret-color: #333333; background-color: #000000;"> /etc/gitlab/initial_root_password</span></p>
</li>
</ol>
<p>请尽快登录和修改初始密码，因为这个文件会在首次执行reconfigure 之后24小时被自动删除。</p>
<p>&nbsp;</p>
<p>&nbsp;</p><p>The post <a href="https://www.abvnet.com/10%e5%88%86%e9%92%9f%e9%83%a8%e7%bd%b2gitlab/">10分钟部署GitLab</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.abvnet.com/10%e5%88%86%e9%92%9f%e9%83%a8%e7%bd%b2gitlab/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>关于hosts文件</title>
		<link>https://www.abvnet.com/%e5%85%b3%e4%ba%8ehosts%e6%96%87%e4%bb%b6/</link>
					<comments>https://www.abvnet.com/%e5%85%b3%e4%ba%8ehosts%e6%96%87%e4%bb%b6/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 21 Nov 2021 08:40:58 +0000</pubDate>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Linux运维 hosts文件]]></category>
		<guid isPermaLink="false">https://www.abvnet.com/?p=1273</guid>

					<description><![CDATA[<p>转载自广联在线微信公众号。请扫描本页底部二维码关注和查看原文。 我们在开发测试网站时，经常会需要用域名而不是I&#8230;&#160;<a href="https://www.abvnet.com/%e5%85%b3%e4%ba%8ehosts%e6%96%87%e4%bb%b6/" rel="bookmark">阅读更多 &#187;<span class="screen-reader-text">关于hosts文件</span></a></p>
<p>The post <a href="https://www.abvnet.com/%e5%85%b3%e4%ba%8ehosts%e6%96%87%e4%bb%b6/">关于hosts文件</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>转载自广联在线微信公众号。请扫描本页底部二维码关注和查看原文。</p>
<p>我们在开发测试网站时，经常会需要用域名而不是IP来访问应用服务器——比如用网站在代理服务器之后，网站要SSL访问，或者某些付费插件是跟域名绑定的情况 —— 虽然大部分情况下，用IP+端口的形式也可以访问应用服务器，但是这个开发完成大半时再改用域名，经常会有些URL和数据库中的地址改不彻底造成的各种访问错误。针对这种问题，在本地修改 hosts 文件就可以在开发过程中使用与生产环境一致的域名来测试。</p>
<p>&nbsp;</p>
<p>hosts 文件在 Linux，Windows 和 macOS 上都存在。</p>
<p>Linux / macOS：</p>
<p>/etc/hosts</p>
<p>&nbsp;</p>
<p>Windows：</p>
<p>c:windowssystem32driversetchosts</p>
<p>&nbsp;</p>
<p>以下是一个 hosts 文件的例子：</p>
<p style="text-align: center;"><img decoding="async" src="http://www.abvnet.com/wp-content/uploads/2021/11/frc-eb6d01dd8fd2384aa00e808a5b05e928.png"></p>
<p>&nbsp;</p>
<p>可以看到，我们通常用 localhost 这个主机名来访问本地，它能被解析到 127.0.0.1 这个 IP，靠的就是 hosts 文件。</p>
<p>&nbsp;</p>
<p>还有些时候，我们不想让本地的应用访问某个网络服务，也可以把它的域名解析到 0.0.0.0 。比如有些应用要访问墙外的服务器，甚至有时你的机器中了挖矿木马，就可以通过这个手段来临时阻止任何应用访问特定的域名。当然，如果应用是直接访问的IP，就没法用这个办法了来阻止了。</p>
<p>&nbsp;</p>
<p>需要注意的是，不管在哪个OS，要编辑hosts文件都需要管理员权限。</p><p>The post <a href="https://www.abvnet.com/%e5%85%b3%e4%ba%8ehosts%e6%96%87%e4%bb%b6/">关于hosts文件</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.abvnet.com/%e5%85%b3%e4%ba%8ehosts%e6%96%87%e4%bb%b6/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Docker的安装和使用——初学者快速上手</title>
		<link>https://www.abvnet.com/docker%e7%9a%84%e5%ae%89%e8%a3%85%e5%92%8c%e4%bd%bf%e7%94%a8-%e5%88%9d%e5%ad%a6%e8%80%85%e5%bf%ab%e9%80%9f%e4%b8%8a%e6%89%8b/</link>
					<comments>https://www.abvnet.com/docker%e7%9a%84%e5%ae%89%e8%a3%85%e5%92%8c%e4%bd%bf%e7%94%a8-%e5%88%9d%e5%ad%a6%e8%80%85%e5%bf%ab%e9%80%9f%e4%b8%8a%e6%89%8b/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 20 Nov 2021 08:41:12 +0000</pubDate>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[docker]]></category>
		<guid isPermaLink="false">https://www.abvnet.com/?p=1275</guid>

					<description><![CDATA[<p>转载自广联在线微信公众号。请扫描本页底部二维码关注和查看原文。 Docker 是一款非常强大又易用的容器管理工&#8230;&#160;<a href="https://www.abvnet.com/docker%e7%9a%84%e5%ae%89%e8%a3%85%e5%92%8c%e4%bd%bf%e7%94%a8-%e5%88%9d%e5%ad%a6%e8%80%85%e5%bf%ab%e9%80%9f%e4%b8%8a%e6%89%8b/" rel="bookmark">阅读更多 &#187;<span class="screen-reader-text">Docker的安装和使用——初学者快速上手</span></a></p>
<p>The post <a href="https://www.abvnet.com/docker%e7%9a%84%e5%ae%89%e8%a3%85%e5%92%8c%e4%bd%bf%e7%94%a8-%e5%88%9d%e5%ad%a6%e8%80%85%e5%bf%ab%e9%80%9f%e4%b8%8a%e6%89%8b/">Docker的安装和使用——初学者快速上手</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>转载自广联在线微信公众号。请扫描本页底部二维码关注和查看原文。</p>
<p>Docker 是一款非常强大又易用的容器管理工具。使用Docker，可以像VM一样为应用程序提供一个隔离的运行环境，但又不像VM那样占用很多系统资源。事实上，配合docker-compose工具，一个现成Docker容器的配置和启动可以在几十秒内完成，用户通常不需要关心OS和支撑软件的安装和配置。更重要的是，Docker是开源、免费（CE版）和跨平台的。你可以在Linux、Windows和macOS之间任意选择。下面用在 CentOS 7 上使用 Docker 部署 MySQL 服务器为例，说明一下 Docker 的安装和使用过程。</p>
<p><img decoding="async" src="http://www.abvnet.com/wp-content/uploads/2021/11/frc-68d1f0ef49e5aaaf29a3d4b245af10a9.png"></p>
<p>其实现在新的 CentOS 已经不默认带有 Docker 的源了，代之以 Podman。Podman 的用法和作用跟 Docker 非常相似，但我们在这里还是先讨论更常用的 Docker。熟悉 Docker 的朋友们如果有兴趣，可以读一下 Podman 的使用说明，相信不用花太多时间就可以上手。</p>
<p>&nbsp;</p>
<p>在 CentOS 7上安装Docker 环境：</p>
<p>&nbsp;</p>
<ol class="list-paddingleft-2" style="width: 577.422px; white-space: normal;">
<li style="list-style-type: none;">
<ol class="list-paddingleft-2" style="width: 577.422px; white-space: normal;">
<li>&nbsp; 添加 Docker 源：</li>
</ol>
</li>
</ol>
<pre style="overflow: auto; overflow-wrap: break-word; font-size: 12px; color: #000000; text-align: start; font-family: 'Courier New' !important;">$ <span style="color: #0000ff; line-height: 1.5 !important;">sudo</span> <span style="color: #0000ff; line-height: 1.5 !important;">yum</span> <span style="color: #0000ff; line-height: 1.5 !important;">install</span> -y <span style="color: #0000ff; line-height: 1.5 !important;">yum</span>-utils device-mapper-persistent-data lvm2</pre>
<pre style="overflow: auto; overflow-wrap: break-word; font-size: 12px; color: #000000; text-align: start; font-family: 'Courier New' !important;"><span style="color: #0000ff; line-height: 1.5 !important;"><span style="color: #000000; line-height: 1.5 !important;">$</span> sudo</span> <span style="color: #0000ff; line-height: 1.5 !important;">yum</span>-config-manager --add-repo</pre>
<pre style="overflow: auto; overflow-wrap: break-word; font-size: 12px; color: #000000; text-align: start; font-family: 'Courier New' !important;">https:<span style="color: #008000; line-height: 1.5 !important;">//download.docker.com/linux/centos/docker-ce.repo</span></pre>
<pre style="overflow: auto; overflow-wrap: break-word; font-size: 12px; color: #000000; text-align: start; font-family: 'Courier New' !important;"><span style="color: #008000; line-height: 1.5 !important;">&nbsp;</span></pre>
<ol class="list-paddingleft-2" style="width: 577.422px; white-space: normal;">
<li style="list-style-type: none;">
<ol class="list-paddingleft-2" style="width: 577.422px; white-space: normal;">
<li>&nbsp; 安装：</li>
</ol>
</li>
</ol>
<pre style="overflow: auto; overflow-wrap: break-word; font-family: 'Courier New' !important;">$ <span style="color: #0000ff; line-height: 1.5 !important;">sudo</span> <span style="color: #0000ff; line-height: 1.5 !important;">yum</span> <span style="color: #0000ff; line-height: 1.5 !important;">install</span> docker-ce</pre>
<pre style="overflow: auto; overflow-wrap: break-word; font-family: 'Courier New' !important;">&nbsp;</pre>
<ol class="list-paddingleft-2" style="width: 577.422px; white-space: normal;">
<li style="list-style-type: none;">
<ol class="list-paddingleft-2" style="width: 577.422px; white-space: normal;">
<li>&nbsp;加入开机自启动：</li>
</ol>
</li>
</ol>
<pre style="overflow: auto; overflow-wrap: break-word; font-size: 12px; color: #000000; text-align: start; font-family: 'Courier New' !important;">$ <span style="color: #0000ff; line-height: 1.5 !important;">sudo</span><span style="line-height: 1.5 !important;"> systemctl start docker
$ </span><span style="color: #0000ff; line-height: 1.5 !important;">sudo</span> systemctl enable docker</pre>
<p>&nbsp;</p>
<ol class="list-paddingleft-2" style="width: 577.422px; white-space: normal;">
<li style="list-style-type: none;">
<ol class="list-paddingleft-2" style="width: 577.422px; white-space: normal;">
<li>安装 docker-compose 工具</li>
</ol>
</li>
</ol>
<p style="overflow: auto; overflow-wrap: break-word; font-size: 12px; color: #000000; text-align: start; font-family: 'Courier New' !important;">$ <span style="color: #0000ff; line-height: 1.5 !important;">sudo</span> curl -L &#8220;https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)&#8221; -o /usr/local/bin/docker-compose</p>
<p style="overflow: auto; overflow-wrap: break-word; font-size: 12px; color: #000000; text-align: start; font-family: 'Courier New' !important;">$ <span style="color: #0000ff; line-height: 1.5 !important;">sudo</span> chmod +x /usr/local/bin/docker-compose</p>
<pre style="overflow: auto; overflow-wrap: break-word; font-size: 12px; color: #000000; text-align: start; font-family: 'Courier New' !important;"><span style="color: #333333; font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif; font-size: 17px; text-align: justify;">&nbsp;</span></pre>
<p>下面用 docker-compose 工具来部署MySQL:</p>
<p>&nbsp;</p>
<ol class="list-paddingleft-2" style="width: 577.422px; white-space: normal;">
<li style="list-style-type: none;">
<ol class="list-paddingleft-2" style="width: 577.422px; white-space: normal;">
<li>在你的 home 中自建一个目录用来保存 yaml 文件。
<p style="overflow: auto; overflow-wrap: break-word; font-size: 12px; color: #000000; text-align: start; font-family: 'Courier New' !important;">$&nbsp;<span style="color: #0000ff; line-height: 1.5 !important;">cd</span>&nbsp;~ &amp;&amp;&nbsp;mkdir mysql_docker</p>
<p style="overflow: auto; overflow-wrap: break-word; font-size: 12px; color: #000000; text-align: start; font-family: 'Courier New' !important;">&nbsp;</p>
</li>
<li>用 vi 工具编辑生成一个 docker-compose.yml 文件，内容参考下图：<span style="color: #000000; font-family: 'Courier New'; font-size: 12px; text-align: start;">$&nbsp;</span><span style="font-family: 'Courier New'; font-size: 12px; text-align: start; color: #0000ff; line-height: 1.5 !important;">vim</span><span style="color: #000000; font-family: 'Courier New'; font-size: 12px; text-align: start;">&nbsp;docker-compose.yml</span>
<p>&nbsp;</p>
<p style="text-align: center;"><img decoding="async" src="http://www.abvnet.com/wp-content/uploads/2021/11/frc-fd57c92b26dc44905285168fe2232e90.png"></p>
<p style="text-align: center;">&nbsp;</p>
</li>
<li>自动下载镜像并启动容器<span style="color: #000000; font-family: 'Courier New'; font-size: 12px; text-align: start;">$&nbsp;</span><span style="font-family: 'Courier New'; font-size: 12px; text-align: start; color: #0000ff; line-height: 1.5 !important;">sudo</span><span style="color: #000000; font-family: 'Courier New'; font-size: 12px; text-align: start;">&nbsp;docker-compose up -d</span><br />
<section></section>
</li>
<li>自测。可以用 docker ps 检查容器启动情况， netstat -ntlp 查看 3306 端口的占用情况，也可以直接用 mysql 命令行来测试数据库登录和连接。</li>
</ol>
</li>
</ol>
<section>&nbsp;&nbsp;</p>
</section>
<p>这样，MySQL 服务器就在本机3306端口搭建好了。只需要建立一个 yaml 文件再运行 docker-compose，这跟在 CentOS 上从代码安装配置MySQL服务器比起来，是不是简单多了？接下来你可以用数据库客户端来测试它，这里就不展开了。如果有疑问请直接私信，需要的话以后可以另写一篇来讲解。</p>
<p>&nbsp;</p><p>The post <a href="https://www.abvnet.com/docker%e7%9a%84%e5%ae%89%e8%a3%85%e5%92%8c%e4%bd%bf%e7%94%a8-%e5%88%9d%e5%ad%a6%e8%80%85%e5%bf%ab%e9%80%9f%e4%b8%8a%e6%89%8b/">Docker的安装和使用——初学者快速上手</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.abvnet.com/docker%e7%9a%84%e5%ae%89%e8%a3%85%e5%92%8c%e4%bd%bf%e7%94%a8-%e5%88%9d%e5%ad%a6%e8%80%85%e5%bf%ab%e9%80%9f%e4%b8%8a%e6%89%8b/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>hello world</title>
		<link>https://www.abvnet.com/hello-world/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 03 May 2014 16:52:15 +0000</pubDate>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[新闻]]></category>
		<category><![CDATA[未分类]]></category>
		<guid isPermaLink="false">https://www.abvnet.com/?p=1010</guid>

					<description><![CDATA[<p>hello world.</p>
<p>The post <a href="https://www.abvnet.com/hello-world/">hello world</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></description>
										<content:encoded><![CDATA[<p style="text-align: center;"><img decoding="async" class="alignleft" src="http://www.abvnet.com/wp-content/uploads/2021/08/frc-1ae9b054ff8f7fe79133eef7da072624.jpeg" /><span id="more-1010"></span></p>
<p>hello world.</p><p>The post <a href="https://www.abvnet.com/hello-world/">hello world</a> first appeared on <a href="https://www.abvnet.com">广联在线</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
