<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:wfw="http://wellformedweb.org/CommentAPI/">
<channel>
<title>Eric&#039;s Blog - 网站配置</title>
<link>https://eblog.ink/category/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE/</link>
<atom:link href="https://eblog.ink/feed/category/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE/" rel="self" type="application/rss+xml" />
<language>zh-CN</language>
<description></description>
<lastBuildDate>Tue, 03 Mar 2026 06:20:00 +0000</lastBuildDate>
<pubDate>Tue, 03 Mar 2026 06:20:00 +0000</pubDate>
<item>
<title>【网站】Docker配置CLIProxyAPI Plus </title>
<link>https://eblog.ink/archives/402/</link>
<guid>https://eblog.ink/archives/402/</guid>
<pubDate>Tue, 03 Mar 2026 06:20:00 +0000</pubDate>
<dc:creator>eric</dc:creator>
<description><![CDATA[Github地址为 https://github.com/router-for-me/CLIProxyAPI2. 搭建选择一个目录，本文中使用的是/data/CLIProxyAPI运行 mkdi...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>Github地址为 <a href="https://github.com/router-for-me/CLIProxyAPI"><a href="https://github.com/router-for-me/CLIProxyAPI">https://github.com/router-for-me/CLIProxyAPI</a></a></p><h2><strong>2. 搭建</strong></h2><p>选择一个目录，本文中使用的是/data/CLIProxyAPI</p><p>运行 <code>mkdir -p /data/CLIProxyAPI &amp;&amp; touch /data/CLIProxyAPI/config.yaml</code> ，创建项目配置文件</p><p>复制以下项目配置，将 secret-key 修改为你的密码</p><pre><code># Server host/interface to bind to. Default is empty (&quot;&quot;) to bind all interfaces (IPv4 + IPv6).
# Use &quot;127.0.0.1&quot; or &quot;localhost&quot; to restrict access to local machine only.
host: &quot;&quot;
# Server port
port: 8317
# TLS settings for HTTPS. When enabled, the server listens with the provided certificate and key.
tls:
  enable: false
  cert: &quot;&quot;
  key: &quot;&quot;
# Management API settings
remote-management:
# Whether to allow remote (non-localhost) management access.
# When false, only localhost can access management endpoints (a key is still required).
  allow-remote: true
# Management key. If a plaintext value is provided here, it will be hashed on startup.
# All management requests (even from localhost) require this key.
# Leave empty to disable the Management API entirely (404 for all /v0/management routes).
  secret-key: &quot;登陆密码&quot;
# Disable the bundled management control panel asset download and HTTP route when true.
  disable-control-panel: false
# GitHub repository for the management control panel. Accepts a repository URL or releases API URL.
  panel-github-repository: &quot;https://github.com/router-for-me/Cli-Proxy-API-Management-Center&quot;
# Authentication directory (supports ~ for home directory)
auth-dir: &quot;~/.cli-proxy-api&quot;
</code></pre><p>粘贴到刚刚新建的 <code>config.yaml</code> 里 <code>vi /data/CLIProxyAPI/config.yaml</code></p><p>然后运行 <code>mkdir -p /data/CLIProxyAPI &amp;&amp; touch /data/CLIProxyAPI/compose.yaml</code> ，创建<code>docker compose</code>文件</p><p>复制以下<code>docker compose</code> 配置 ,粘贴到刚刚新建的 <code>compose.yaml</code> 里 <code>vi /data/CLIProxyAPI/compose.yaml</code></p><pre><code>services:
  cli-proxy-api:
    image: eceasy/cli-proxy-api:latest
    container_name: cli-proxy-api
    ports:
      - &quot;8317:8317&quot;
    volumes:
      - ./config.yaml:/CLIProxyAPI/config.yaml
      - ./auths:/root/.cli-proxy-api
    restart: unless-stopped
</code></pre><p>注意：前面个端口可以改为公网端口</p><p>运行如下命令 <code>cd /data/CLIProxyAPI &amp;&amp; docker compose up -d</code> ，创建容器</p><h2><strong>3. 配置</strong></h2><p>接下来访问 服务器IP:8317/management.html ，进入后台管理页（如果你修改了端口则替换为你的端口），输入你在前面配置的密码（secret-key），登录</p><p>点击 OAuth 登录、认证文件管理 认证对应的账号就行</p><p>接下来添加 API 密钥，点击配置面板，下拉到认证配置处，点击添加 API 密钥 ，可自定义或随机生成一个 API 密钥，点击添加，可以看到我们刚刚添加的 API 密钥，点击下方的对号，保存更改</p><h2><strong>4. 使用</strong></h2><p>到此已经完成，可以使用该密钥了，BaseURL 即为你的服务器IP:项目端口，本项目能提供标准的OpenAI API和Claude API</p><p>一般是：<code>http://localhost:8317/v1</code><br>API:上面生成的API就可以使用了</p><h2><strong>5. 更新</strong></h2><p>cd /data/CLIProxyAPI && docker compose pull && docker compose up -d</p>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://eblog.ink/archives/402/#comments</comments>
<wfw:commentRss>https://eblog.ink/feed/category/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE/</wfw:commentRss>
</item>
<item>
<title>【网站】 使用cloudflare workers反代 pages</title>
<link>https://eblog.ink/archives/401/</link>
<guid>https://eblog.ink/archives/401/</guid>
<pubDate>Tue, 03 Mar 2026 02:57:57 +0000</pubDate>
<dc:creator>eric</dc:creator>
<description><![CDATA[代码：addEventListener(&#039;fetch&#039;, event =&gt; {  event.respondWith(handleRequest(event.reque...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>代码：</p><pre><code>addEventListener(&#039;fetch&#039;, event =&gt; {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  // ✅ 使用你的Pages默认地址
  const targetBase = &#039;https://your.pages.dev&#039;

  if (request.headers.get(&#039;Upgrade&#039;) === &#039;websocket&#039;) {
    return fetch(request)
  }

  const url = new URL(request.url)
  const newUrl = new URL(url.pathname + url.search, targetBase)
  
  const newHeaders = new Headers(request.headers)
  newHeaders.set(&#039;Host&#039;, newUrl.hostname)
  
  const newRequest = new Request(newUrl, {
    method: request.method,
    headers: newHeaders,
    body: request.body,
    redirect: &#039;manual&#039;
  })

  const response = await fetch(newRequest)
  
  if ([301, 302, 303, 307, 308].includes(response.status)) {
    const location = response.headers.get(&#039;Location&#039;)
    if (location &amp;&amp; location.includes(targetBase)) {
      return Response.redirect(
        location.replace(targetBase, `https://${url.hostname}`),
        response.status
      )
    }
  }
  
  return response
}</code></pre>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://eblog.ink/archives/401/#comments</comments>
<wfw:commentRss>https://eblog.ink/feed/category/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE/</wfw:commentRss>
</item>
<item>
<title>【网站】记录利用cloudflare加速</title>
<link>https://eblog.ink/archives/399/</link>
<guid>https://eblog.ink/archives/399/</guid>
<pubDate>Thu, 15 Jan 2026 02:19:00 +0000</pubDate>
<dc:creator>eric</dc:creator>
<description><![CDATA[准备两个域名：1.主1.com  备2.com 2.备解析一个子域名到网站IP 并开启小黄云 例如：orange.2.com3.备解析一个子域名到优选域名 （CNAME）,例如解析CNAME,c...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>准备两个域名：</p><p>1.主<code>1.com</code>  备<code>2.com</code> </p><p>2.备解析一个子域名到网站IP 并开启小黄云 例如：<code>orange.2.com</code></p><p>3.备解析一个子域名到优选域名 （CNAME）,例如解析<code>CNAME</code>,<code>cdn.2.com</code>,到<code>115155.xyz</code></p><p>4.备的SSL/TLS设置-自定义主机名-添加回退源为开启小黄云的<code>orange.2.com</code>（步骤需要添加信用卡）</p><p>5.还是步骤4这个位置 添加自定义主机名 填写<code>1.com</code>就是需要加速的域名（进入只需要填写域名其它都默认）然后验证TXT</p><p>6.进入<code>1.com</code> 使用CNAME到 上面的<code>cdn.2.com</code>就可以了</p>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://eblog.ink/archives/399/#comments</comments>
<wfw:commentRss>https://eblog.ink/feed/category/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE/</wfw:commentRss>
</item>
<item>
<title>【域名】sitelutions免费二级域名 DDNS方法</title>
<link>https://eblog.ink/archives/359/</link>
<guid>https://eblog.ink/archives/359/</guid>
<pubDate>Thu, 27 Jul 2023 01:24:00 +0000</pubDate>
<dc:creator>eric</dc:creator>
<description><![CDATA[Sitelutions 提供数种免费二级域名（Free subdomain），其中最短的域名为rr.nu。目前还可以申请注册！但是官方不给非会员用户提供解析服务。不过我们可以借助其他DNS服务商...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>Sitelutions 提供数种免费二级域名（Free subdomain），其中最短的域名为rr.nu。目前还可以申请注册！</p><p>但是官方不给非会员用户提供解析服务。不过我们可以借助其他DNS服务商来继续使用免费二级域名</p><ul><li>官方网站</li></ul><p><a href="https://www.sitelutions.com"><a href="https://www.sitelutions.com">https://www.sitelutions.com</a></a></p><p>1.注册账号，申请二级域名</p><p>2.修改二级域名NS信息，本文采用he.net</p><ul><li>申请域名</li></ul><p>1.访问：【Account Control】 - 【URL and DNS】 - 【Add Subdomain】</p><p>2.输入可用的域名，点击【Add Host】即可</p><p>3，管理界面可见刚申请的域名，可以修改域名的NS服务器地址，利用其他DNS服务商来解析！</p><ul><li>NS解析</li></ul><p>目前rr.nu无法在cloudflare 和 DNSPod中添加。不过在老牌DNS服务商 he.net可用。</p><p>1，点击修改NS记录，添加 he.net NS服务地址</p><p>域名管理 - 【Advanced Config & DDNS】- 【NS Records】- 【Add Record】</p><p>特别提醒，NS服务地址后面需要有个点！否则不会生效！</p><pre><code>ns1.he.net.
ns2.he.net.
ns3.he.net.
ns4.he.net.
ns5.he.net.
</code></pre><p>2，检查域名NS记录是否生效（非必须）</p><p>3，访问 he.net 添加域名即可</p><p>4，按需添加域名解析即可</p><ul><li>HE.NET DDNS方法</li></ul><p>HE.NET DDNS官方文档：<a href="https://dns.he.net/docs.html"><a href="https://dns.he.net/docs.html">https://dns.he.net/docs.html</a></a></p><p>此方法可以应用于需要使用DDNS动态域名的Liunx NAT小鸡，不需要安装插件，需要用到crontab</p><p>1、在HE DNS中建立一个A/AAAA记录，并Enable entry for dynamic dns</p><p>2、建立好后，在记录右侧设置DDNS KEY，可以点随机生成，记得保存好此KEY信息，如果忘记了可以重新生成保存</p><p>3、由HE.NET提供的官方文档，自动更新IP地址的命令为（curl -4 是ipv4，curl -6 根据自己NAT小鸡的IP类型选择）</p><pre><code>Autodetect my IPv4/IPv6 address:

% curl -4 &quot;https://dyn.example.com:password@dyn.dns.he.net/nic/update?hostname=dyn.example.com&quot;                    
% curl -6 &quot;https://dyn.example.com:password@dyn.dns.he.net/nic/update?hostname=dyn.example.com&quot;    
</code></pre><p>按照以上命令，我们把其中的’password’，替换成刚刚生成的随机KEY，’dyn.example.com’替换成需要解析的域名全址</p><p>举个例子吧，假如随机KEY为’mwNQPymNOtrpzrGE’，DDNS域名为’ddns.heyuan0028.com’那么此DDNS命令为：</p><pre><code>curl -4 &quot;https://ddns.heyuan0028.com:mwNQPymNOtrpzrGE@dyn.dns.he.net/nic/update?hostname=ddns.heyuan0028.com&quot;

curl -6 &quot;https://ddns.heyuan0028.com:mwNQPymNOtrpzrGE@dyn.dns.he.net/nic/update?hostname=ddns.heyuan0028.com&quot; 

</code></pre><p>4、修改好更新命令后，只需要在小鸡crontab添加定时任务即可，推荐为每5分钟运行一次，示例：</p><pre><code>*/5 * * * * curl -4 &quot;https://dyn.example.com:mwNQPymNOtrpzrGE@dyn.dns.he.net/nic/update?hostname=ddns.heyuan0028.com&quot;      
*/5 * * * * curl -6 &quot;https://dyn.example.com:mwNQPymNOtrpzrGE@dyn.dns.he.net/nic/update?hostname=ddns.heyuan0028.com&quot;

</code></pre><p>原文链接：<a href="https://51.ruyo.net/18379.html">链接1</a> <a href="https://heyuan0029.com/archives/552">链接2</a></p>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://eblog.ink/archives/359/#comments</comments>
<wfw:commentRss>https://eblog.ink/feed/category/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE/</wfw:commentRss>
</item>
<item>
<title>LNMP 多版本PHP运行</title>
<link>https://eblog.ink/archives/254/</link>
<guid>https://eblog.ink/archives/254/</guid>
<pubDate>Wed, 16 Dec 2020 02:43:02 +0000</pubDate>
<dc:creator>eric</dc:creator>
<description><![CDATA[1.安装多版本进入lnmp的安装目录 执行 ./upgrade.sh mphp2.配置并启动php默认版本：（设置 nginx 的 vhost 域名配置文件监听端口就好）1）.打开域名配置文件c...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>1.安装多版本</p><p>进入lnmp的安装目录 执行 ./upgrade.sh mphp</p><p>2.配置并启动php默认版本：<br>（设置 nginx 的 vhost 域名配置文件监听端口就好）<br>1）.打开域名配置文件</p><pre><code>cd /usr/local/nginx/conf/vhost/

vim yourdomain.com.conf
</code></pre><p>2）.修改fastcgi_pass参数。<br>若希望该站点使用php5，则配置成：</p><pre><code>fastcgi_pass   /tmp/php-cgi.sock;

demo：

 

location ~ \.php/?.*$ {

            root  /home/wwwroot/tpshop;

            fastcgi_pass  unix:/tmp/php-cgi.sock;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;   

            include fastcgi_params;

</code></pre><p>若希望该站点使用php7，则配置成：</p><pre><code>fastcgi_pass   php-cgi7.0.sock;

 

 demo：

 location ~ \.php/?.*$ {

            root  /home/wwwroot/tpshop;

            fastcgi_pass  unix:/tmp/php-cgi7.0.sock;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;   

            include fastcgi_params;
</code></pre><p>最后刷新php-fpm </p><p>用 <code>ps -ef | grep php-fpm</code> 命令查fpm端口然后使用下面的命名就可以了。</p><pre><code>  kill -SIGUSR2 7515
</code></pre><p>至此，配置启动多版本php完成。</p>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://eblog.ink/archives/254/#comments</comments>
<wfw:commentRss>https://eblog.ink/feed/category/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE/</wfw:commentRss>
</item>
<item>
<title>利用Cloudflare Workers搭建反向代理</title>
<link>https://eblog.ink/archives/240/</link>
<guid>https://eblog.ink/archives/240/</guid>
<pubDate>Tue, 18 Aug 2020 03:59:00 +0000</pubDate>
<dc:creator>eric</dc:creator>
<description><![CDATA[1.登录CF账号点击进去登录界面2.点击worker界面3.新建一个worker4.复制代码点击复制代码5.反代问题如果需要反代其他的网站https://etherdream.github.io...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>1.登录CF账号</p><p><a href="https://dash.cloudflare.com/login">点击进去登录界面</a></p><p>2.点击worker界面</p><p><img src="https://i.loli.net/2020/08/18/ANW8i5JgaU7heM9.png" alt="请输入图片描述" title="请输入图片描述"></p><p>3.新建一个worker</p><p><img src="https://i.loli.net/2020/08/18/H1QcmIutywLhg72.png" alt="请输入图片描述" title="请输入图片描述"></p><p>4.复制代码<br><a href="https://github.com/Eric-Qiu1994/jsproxy/blob/master/cf-worker/index.js">点击复制代码</a></p><p>5.反代问题</p><p>如果需要反代其他的网站<code>https://etherdream.github.io/jsproxy</code>这个地址修改了就可以了</p>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://eblog.ink/archives/240/#comments</comments>
<wfw:commentRss>https://eblog.ink/feed/category/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE/</wfw:commentRss>
</item>
<item>
<title>升级 nginx 1.15 后出现的 [warn]</title>
<link>https://eblog.ink/archives/175/</link>
<guid>https://eblog.ink/archives/175/</guid>
<pubDate>Fri, 29 Mar 2019 13:06:00 +0000</pubDate>
<dc:creator>eric</dc:creator>
<description><![CDATA[报错代码为：nginx: [warn] the &quot;ssl&quot; directive is deprecated, use the &quot;listen ... ssl&quo...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>报错代码为：</p><pre><code>nginx: [warn] the &quot;ssl&quot; directive is deprecated, use the &quot;listen ... ssl&quot; directive instead in /usr/local/nginx/conf/nginx.conf

</code></pre><h2>问题分析</h2><p>这是一个<code>warn</code>警告，nginx也能正常使用，但是由于强迫症，还是要把warn解决掉。</p><p>根据翻译，nginx提示ssl这个指令已经不建议使用，要使用listen ... ssl替代。网上查找nginx更新日志里面，也有提到：</p><pre><code>Change: the “ssl” directive is deprecated; the “ssl” parameter of the “listen” directive should be used instead.
</code></pre><p>ssl不建议作为一个指令使用，而是应该listen指令的一个参数。</p><h2>解决方法</h2><p>如果使用listen 443 ssl，删除ssl on就行了。</p><p><a href="https://blog.csdn.net/Mr_OOO/article/details/81607186">原文</a></p>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://eblog.ink/archives/175/#comments</comments>
<wfw:commentRss>https://eblog.ink/feed/category/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE/</wfw:commentRss>
</item>
<item>
<title>Typecho国内无法使用Gravatar的解决方法</title>
<link>https://eblog.ink/archives/170/</link>
<guid>https://eblog.ink/archives/170/</guid>
<pubDate>Mon, 11 Mar 2019 08:43:00 +0000</pubDate>
<dc:creator>eric</dc:creator>
<description><![CDATA[Typecho评论默认使用的是Gravatar头像，但因为众所周知的原因，Gravatar在国内无法正常访问，会导致页面访问速度奇慢，也是在昨天把长期挂在电脑的梯子关掉之后才发现这一问题，遂寻找...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>Typecho评论默认使用的是Gravatar头像，但因为众所周知的原因，Gravatar在国内无法正常访问，会导致页面访问速度奇慢，也是在昨天把长期挂在电脑的梯子关掉之后才发现这一问题，遂寻找解决方法，在网上搜索了一番，找到了合适的解决方案：<a href="https://www.v2ex.com/t/141485">可以利用V2EX 的CDN</a>，具体做法：<br>找到手动修改文件var/Typecho/Common.php的937行。<br>将如下代码：</p><pre><code>public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
    $url = $isSecure ? &#039;https://secure.gravatar.com&#039; : &#039;http://www.gravatar.com&#039;;
    $url .= &#039;/avatar/&#039;;

    if (!empty($mail)) {
        $url .= md5(strtolower(trim($mail)));
    }

    $url .= &#039;?s=&#039; . $size;
    $url .= &#039;&amp;amp;r=&#039; . $rating;
    $url .= &#039;&amp;amp;d=&#039; . $default;

    return $url;
}
</code></pre><p>替换为：</p><pre><code>public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
    $url = $isSecure ? &#039;https://cdn.v2ex.com/gravatar/&#039; : &#039;http://gravatar.duoshuo.com/avatar/&#039;;

    if (!empty($mail)) {
        $url .= md5(strtolower(trim($mail)));
    }

    $url .= &#039;?s=&#039; . $size;
    $url .= &#039;&amp;amp;r=&#039; . $rating;
    $url .= &#039;&amp;amp;d=&#039; . $default;

    return $url;
}
</code></pre><p>替换之后，原来Gravatar头像直接通过V2EX 的CDN访问，速度大大提升了。<br><a href="https://secure.gravatar.com/avatar/5d3ebb9b3c28cd3f92bb59821075af0a?s=32&r=G&d=">替换前</a><br><a href="https://cdn.v2ex.com/gravatar/5d3ebb9b3c28cd3f92bb59821075af0a?s=32&r=G&d=">替换后</a></p><p><a href="https://xlesun.com/29.html">原文链接</a></p>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://eblog.ink/archives/170/#comments</comments>
<wfw:commentRss>https://eblog.ink/feed/category/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE/</wfw:commentRss>
</item>
<item>
<title>Linux 下MySQL 互为主从设置</title>
<link>https://eblog.ink/archives/167/</link>
<guid>https://eblog.ink/archives/167/</guid>
<pubDate>Sat, 09 Mar 2019 04:36:00 +0000</pubDate>
<dc:creator>eric</dc:creator>
<description><![CDATA[MySql互为主从复制，其中的一台发生变化，另外一台也马上发生变化，并且都能向外提供服务。 这就比使用主从复制具有更好的性能。server1：192.168.1.10server2: 192.1...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>MySql互为主从复制，其中的一台发生变化，另外一台也马上发生变化，并且都能向外提供服务。 这就比使用主从复制具有更好的性能。<br>server1：192.168.1.10<br>server2: 192.168.1.20</p><p>1.创建用户并授权<br>server1:<br>mysql -u root -p<br>输入mysql的root密码<br>mysql&gt; <code>GRANT ALL PRIVILEGES ON *.* TO &#039;SLAVEROOT&#039;@&#039;192.168.1.20&#039;  IDENTIFIED BY &#039;SLAVEROOT&#039;;</code></p><p>server2:<br>mysql -u root -p<br>输入mysql的root密码<br>mysql&gt; <code>GRANT ALL PRIVILEGES ON *.* TO &#039;SLAVEROOT&#039;@&#039;192.168.1.10&#039;  IDENTIFIED BY &#039;SLAVEROOT&#039;;</code></p><p>2.修改Mysql的主配置文件</p><p>配置文件一般放在/etc/my.cnf这个位置，实际就根据安装的具体情况了；</p><p>server1:</p><pre><code> [mysqld]
 server-id = 10
 log-bin = mysql-bin
 replicate-do-db = 数据库名  //需要同步的数据库
 auto-increment-increment = 2   //每次增长2
 auto-increment-offset = 1  //设置自动增长的字段的偏移量，即初始值为1启动Mysql服务：
修改完成过后重启：
# service mysqld restart
军哥LNMP mysql管理方法：
/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}</code></pre><p>server2:</p><pre><code> [mysqld]
 server-id = 20
 log-bin = mysql-bin
 replicate-do-db = 数据库名  //需要同步的数据库
 auto-increment-increment = 2  //每次增长2
 auto-increment-offset = 2 //设置自动增长的字段的偏移量，即初始值为2
启动Mysql服务：
修改完成过后重启：
# service mysqld restart
军哥LNMP mysql管理方法：
/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
</code></pre><p>注：二都只有server-id不同和 auto-increment- offset不同<br>auto-increment-increment的值应设为整个结构中服务器的总数，本案例用到两台服务器，所以值设为2。<br>如果是三台服务器，每一台auto-increment-increment后面设为3，偏移量，初始值也就设为了1，2，3；</p><p>4.为了让两个数据库一样，我们备份其中一个数据库，然后在另一个数据库上恢</p><p>复，这样是两个数据库一开始都是一样的。<br>在server1上操作:</p><pre><code># mysqldump --databases 数据库名 &gt; /tmp/数据库名.sql
</code></pre><p>在server2上操作：<br>创建一个与上面同名的空数据库</p><pre><code># mysql
    &gt; CREATE DATABASE 数据库名;
    &gt;\q
# scp 192.168.1.108:/tmp/数据库名.sql  ./
# mysql -uroot -p 数据库名 &lt; /tmp/数据库名.sql
</code></pre><p>5.然后两个服务器相互通告二进制日志的位置并启动复制功能：<br>在server1上：<br>mysql&gt;</p><pre><code>CHANGE MASTER TO
MASTER_HOST=&#039;192.168.1.20&#039;,
MASTER_USER=&#039;SLAVEROOT&#039;,
MASTER_PASSWORD=&#039;SLAVEROOT&#039;;
</code></pre><p>mysql &gt; <code>START SLAVE;</code></p><p>在server2上：<br>mysql&gt;</p><pre><code>CHANGE MASTER TO
MASTER_HOST=&#039;192.168.1.10&#039;,
MASTER_USER=&#039;SLAVEROOT&#039;,
MASTER_PASSWORD=&#039;SLAVEROOT&#039;;
</code></pre><p>mysql &gt; <code>START SLAVE;</code></p><p>6.查看并验证是否成功<br>mysql &gt; <code>SHOW SLAVE STATUS\G;</code></p><pre><code>Slave_IO_Running: Yes
Slave_SQL_Running: Yes
</code></pre><p>这两行显示为这样就代表成功了，在使用中可能用到哪些管理命令呢？做一下记录</p><p>附：<br>1.同步管理<br>开始同步<br>mysql&gt; <code>START SLAVE;</code><br>停止同步<br>mysql&gt; <code>STOP SLAVE;</code></p><p>2.删除同步账号<br>mysql&gt;<code>use mysql;</code><br>mysql&gt;<code>delete from user where user=&#039;SLAVEROOT&#039; and host=&#039;你的对应IP地址&#039;;</code></p><p>3.清除同步信息<br>首先需要停止同步，然后使用以下代码：<br>mysql&gt; <code>reset slave all;</code> </p><p>4.如果日志文件太多，或者过大需要清理<br>首先确认哪个数据文件是正在使用的<br>mysql&gt;<code>show master status\G ;</code></p><p>mysql&gt;<code>show slave status\G ;</code></p><p>或者查看当前的日志文件</p><p>mysql&gt;<code>show binary logs;</code></p><p>然后删除现在使用日志之前的日志：</p><p>mysql&gt;PURGE MASTER LOGS TO'mysql-bin.000016';</p><p>或者设置日志过期时间：</p><p>mysql&gt; <code>set global expire_logs_days = 30;</code></p><p>5.在复制的时候报错<br>Last_SQL_Errno: 1146</p><p>解决：<br> <code>set global sql_slave_skip_counter=20;</code><br>如果一条解决不了可以多复制几条</p><p>然后：</p><pre><code>stop slave;
start slave;</code></pre><p>或者：<br>在从服务器上设置忽略该错.<br>在my.cnf文件中添加“<code>slave-skip-errors = 1146 ;</code>”，</p>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://eblog.ink/archives/167/#comments</comments>
<wfw:commentRss>https://eblog.ink/feed/category/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE/</wfw:commentRss>
</item>
<item>
<title>Nginx 开启http强制跳转https</title>
<link>https://eblog.ink/archives/153/</link>
<guid>https://eblog.ink/archives/153/</guid>
<pubDate>Fri, 18 Jan 2019 09:37:00 +0000</pubDate>
<dc:creator>eric</dc:creator>
<description><![CDATA[Nginx 下由http强制跳转https 的几种方法:方法一 （这是最古老的写法，不推荐）rewrite ^(.*)$  https://$host$1 permanent; 方法二  （比较...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>Nginx 下由http强制跳转https 的几种方法:</p><p>方法一 （这是最古老的写法，不推荐）</p><pre><code>rewrite ^(.*)$  https://$host$1 permanent; 

</code></pre><p>方法二  （比较推荐）</p><pre><code>return     301 https://$server_name$request_uri; 

</code></pre><p>方法三 如果你有多个域名绑定在一起，可以只设定某些域名强制跳转</p><pre><code>if ($host = &quot;你的域名&quot;) {

       rewrite ^/(.*)$ https://你的域名 permanent;

    }

</code></pre><p>方法四</p><p>方法四跟之前的都不一样，我们不需要另外监听 443 端口的 server，而是都放在一起，像这样</p><pre><code>listen 80;

listen 443 ssl http2;

server_name 你的域名;

if ($server_port !~ 443){

    rewrite ^(/.*)$ https://$host$1 permanent;

}</code></pre>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://eblog.ink/archives/153/#comments</comments>
<wfw:commentRss>https://eblog.ink/feed/category/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE/</wfw:commentRss>
</item>
</channel>
</rss>