<?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>宝塔 &#8211; 科技改变生活-雨落星辰</title>
	<atom:link href="https://p1e.cn/html/tag/%E5%AE%9D%E5%A1%94/feed" rel="self" type="application/rss+xml" />
	<link>https://p1e.cn</link>
	<description>所有的伟大,都源于一个勇敢的开始</description>
	<lastBuildDate>Tue, 14 Mar 2023 01:20:21 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.2</generator>
	<item>
		<title>宝塔面板报错&#8217;latin-1&#8242; codec can&#8217;t encode characters in position 0-4: ordinal not in range(256)</title>
		<link>https://p1e.cn/html/3387.html</link>
					<comments>https://p1e.cn/html/3387.html#respond</comments>
		
		<dc:creator><![CDATA[Naoki]]></dc:creator>
		<pubDate>Tue, 14 Mar 2023 01:19:52 +0000</pubDate>
				<category><![CDATA[运维笔记]]></category>
		<category><![CDATA[宝塔]]></category>
		<guid isPermaLink="false">https://www.815494.com/?p=3387</guid>

					<description><![CDATA[使用自动备份任务提示错误 &#8216;latin-1&#8217; codec can&#8217;t encode characters in position 0-4: ordinal not in range(256) 或者使用面板命令BT提示错误 Traceback (most recent call last): File &#8220;/www/server/panel/tools.py&#8221;, line 688, in &#60;module&#62; bt_cli(clinum) File &]]></description>
										<content:encoded><![CDATA[<p>使用自动备份任务提示错误</p>
<blockquote><p>&#8216;latin-1&#8217; codec can&#8217;t encode characters in position 0-4: ordinal not in range(256)</p></blockquote>
<p>或者使用面板命令BT提示错误</p>
<blockquote><p>Traceback (most recent call last):<br />
File &#8220;/www/server/panel/tools.py&#8221;, line 688, in &lt;module&gt;<br />
bt_cli(clinum)<br />
File &#8220;/www/server/panel/tools.py&#8221;, line 431, in bt_cli<br />
print(&#8220;===============\u5b9d\u5854\u9762\u677f\u547d\u4ee4\u884c==================&#8221;)<br />
UnicodeEncodeError: &#8216;latin-1&#8217; codec can&#8217;t encode characters in position 15-21: ordinal not in range(256)</p></blockquote>
<p>这都是字符问题引起的错误，参考以下文章设置即可解决</p>
<div class="insert-post b2-radius post">
        <span class="insert-post-bg">
        <picture class="picture" ><source type="image/webp" data-srcset="https://i.p1e.cn/2019/05/1558765532-baota.jpg" srcset="https://p1e.cn/wp-content/themes/b2/Assets/fontend/images/default-img.jpg" /><img decoding="async"  class="b2-radius lazy" data-src="https://i.p1e.cn/2019/05/1558765532-baota.jpg"   alt="" src="https://p1e.cn/wp-content/themes/b2/Assets/fontend/images/default-img.jpg"/></picture>
        </span><div class="insert-post-thumb">
            <a href="https://p1e.cn/html/3252.html" target="_blank">
            <picture class="picture" ><source type="image/webp" data-srcset="https://i.p1e.cn/2019/05/1558765532-baota.jpg" srcset="https://p1e.cn/wp-content/themes/b2/Assets/fontend/images/default-img.jpg" /><img decoding="async"  class="b2-radius lazy" data-src="https://i.p1e.cn/2019/05/1558765532-baota.jpg"   alt="" src="https://p1e.cn/wp-content/themes/b2/Assets/fontend/images/default-img.jpg"/></picture>
            </a>
        </div><a href="https://p1e.cn/html/3252.html" class="mp-hidden" data-type="post" data-id="3252"></a><a href="javascript:void(0)" class="mp-show" data-type="post" data-id="3252"></a><div class="insert-post-content">
                <h2><a href="https://p1e.cn/html/3252.html" target="_blank">彻底解决宝塔面板登录后台中文乱码</a></h2>
                <div class="insert-post-meta">
                    <div class="insert-post-meta-avatar mp-hidden-all"><img decoding="async" class="avatar" src="https://thirdqq.qlogo.cn/g?b=oidb&k=cszqShMOzalViaj3ibeqfjEg&s=100" /><a href="https://p1e.cn/users/auuAwtzuk">Naoki</a></div>
                    <ul class="post-meta">
                        <li class="single-date">
                            <time class="b2timeago" datetime="2022-12-13 15:04:06" itemprop="datePublished">22年12月13日</time>
                        </li>
                        <li class="single-like">
                            <i class="b2font b2-heart-fill "></i><span class="mp-show">喜欢：</span>0
                        </li>
                        <li class="single-eye">
                            <i class="b2font b2-eye-fill "></i><span class="mp-show">浏览：</span>702
                        </li>
                    </ul>
                </div>
            </div></div>
<div></div>]]></content:encoded>
					
					<wfw:commentRss>https://p1e.cn/html/3387.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>彻底解决宝塔面板登录后台中文乱码</title>
		<link>https://p1e.cn/html/3252.html</link>
					<comments>https://p1e.cn/html/3252.html#respond</comments>
		
		<dc:creator><![CDATA[Naoki]]></dc:creator>
		<pubDate>Tue, 13 Dec 2022 07:04:06 +0000</pubDate>
				<category><![CDATA[运维笔记]]></category>
		<category><![CDATA[宝塔]]></category>
		<guid isPermaLink="false">https://www.815494.com/?p=3252</guid>

					<description><![CDATA[CentOS、RHEL 系统： vi /etc/locale.conf LANG="en_US.UTF-8" Ubuntu、Debian 系统： apt install locales dpkg-reconfigure locales 然后在语言选择界面通过键盘【上】【下】箭头移动，按【空格】勾选如下语言： en_US.UTF8 zh_CN GB2312 zh_CN GBK GBK zh_CN UTF-8 UTF-8 勾选后按键盘【Tab】切换到 OK ，再按键盘【回车】确认。 然后在选择默认语言这个界面通过【上】]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image"></div>
<p><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-3253" src="https://i.p1e.cn/2022/12/blog2022121315020220210527214536280副本.jpg" alt="" width="2652" height="1732" /><br />
CentOS、RHEL 系统：</p>
<pre>
vi /etc/locale.conf
LANG="en_US.UTF-8"
</pre>
<p>Ubuntu、Debian 系统：</p>
<pre>
apt install locales
dpkg-reconfigure locales
</pre>
<p>然后在语言选择界面通过键盘【上】【下】箭头移动，按【空格】勾选如下语言：</p>
<p>en_US.UTF8<br />
zh_CN GB2312<br />
zh_CN GBK GBK<br />
zh_CN UTF-8 UTF-8</p>
<p><img decoding="async" class="alignnone size-full wp-image-3254" src="https://i.p1e.cn/2022/12/blog2022121315031020210527214507550副本.jpg" alt="" width="3170" height="1846" /></p>
<p>勾选后按键盘【Tab】切换到 OK ，再按键盘【回车】确认。</p>
<p><img decoding="async" class="alignnone size-full wp-image-3255" src="https://i.p1e.cn/2022/12/blog2022121315032920210527214430513副本.jpg" alt="" width="3170" height="1846" /></p>
<p>然后在选择默认语言这个界面通过【上】【下】箭头选择 en_US.UTF8 然后按【Tab】切换到 OK 再按【回车】确认。</p>
<pre>
vi /etc/default/locale
LANG=en_US.UTF-8
</pre>
<p>然后输入 <code>reboot</code> 重启系统即可！</p>
<div></div>]]></content:encoded>
					
					<wfw:commentRss>https://p1e.cn/html/3252.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>宝塔收集信息临时方案</title>
		<link>https://p1e.cn/html/3191.html</link>
					<comments>https://p1e.cn/html/3191.html#respond</comments>
		
		<dc:creator><![CDATA[Naoki]]></dc:creator>
		<pubDate>Thu, 12 May 2022 01:01:15 +0000</pubDate>
				<category><![CDATA[运维笔记]]></category>
		<category><![CDATA[宝塔]]></category>
		<guid isPermaLink="false">https://www.815494.com/?p=3191</guid>

					<description><![CDATA[复制下列四行至服务器 echo "" > /www/server/panel/script/site_task.py chattr +i /www/server/panel/script/site_task.py rm -rf /www/server/panel/logs/request/* chattr +i -R /www/server/panel/logs/request 四行的含义分别是 将脚本文件清空 脚本文件添加写保护，防止内容被写回（即使是root，不取消保护也无法写入） 清空所有统计日志 为requ]]></description>
										<content:encoded><![CDATA[<p>复制下列四行至服务器</p>
<pre>echo "" > /www/server/panel/script/site_task.py</pre>
<pre>chattr +i /www/server/panel/script/site_task.py</pre>
<pre>rm -rf /www/server/panel/logs/request/*</pre>
<pre>chattr +i -R /www/server/panel/logs/request</pre>
<p>四行的含义分别是</p>
<p>将脚本文件清空<br />
脚本文件添加写保护，防止内容被写回（即使是root，不取消保护也无法写入）<br />
清空所有统计日志<br />
为request文件夹添加写保护，防止内容写入</p>
<div></div>]]></content:encoded>
					
					<wfw:commentRss>https://p1e.cn/html/3191.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>宝塔面板开启SSL强制跳转后实现指定目录不跳转HTTPS</title>
		<link>https://p1e.cn/html/3162.html</link>
					<comments>https://p1e.cn/html/3162.html#respond</comments>
		
		<dc:creator><![CDATA[Naoki]]></dc:creator>
		<pubDate>Thu, 27 Jan 2022 01:00:01 +0000</pubDate>
				<category><![CDATA[运维笔记]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[宝塔]]></category>
		<guid isPermaLink="false">https://www.815494.com/?p=3162</guid>

					<description><![CDATA[虽然使用加密连接https更加安全，但在一些特定情况下却只能使用http不能使用加密连接； 在宝塔面板中开启SSL强制跳转后全站所有目录都会跳转到https并没有例外的选项； 本来以为加一条if指定条件不跳转就行了，结果不能实现，原来Nginx不支持if逻辑和嵌套语法； 最后找了不少资料，终于可以实现开启强制跳转后指定目录不跳转https的方案了； 方案 宝塔面板开启强制跳转https后Nginx的配置文件是如下代码； if ($server_port !~ 443){ rewrite ^(/.*)$ https:]]></description>
										<content:encoded><![CDATA[<p>虽然使用加密连接https更加安全，但在一些特定情况下却只能使用http不能使用加密连接；<br />
在宝塔面板中开启SSL强制跳转后全站所有目录都会跳转到https并没有例外的选项；<br />
本来以为加一条if指定条件不跳转就行了，结果不能实现，原来Nginx不支持if逻辑和嵌套语法；<br />
最后找了不少资料，终于可以实现开启强制跳转后指定目录不跳转https的方案了；</p>
<div data-unique="方案"></div>
<h2>方案</h2>
<p>宝塔面板开启强制跳转https后Nginx的配置文件是如下代码；</p>
<pre>
if ($server_port !~ 443){
   rewrite ^(/.*)$ https://$host$1 permanent;
    }
</pre>
<p>然后我们在网站-设置-配置文件中用以下代码替换掉上面的代码即可；</p>
<pre>
    set $flag 0;
    if ($server_port !~ 443) {
        set $flag "${flag}1";
    }
    if ($request_uri !~ "/AAA"){
        set $flag "${flag}2";
    }
    if ($flag = "012"){
         rewrite ^(.*)$  https://$host$1 permanent;
    }
</pre>
<p>条件解释：满足非443端口并且域名目录非/AAA时跳转，包含/AAA目录不跳转；</p>
<div data-unique="说明"></div>
<h2>说明</h2>
<p>我们指定不跳转的目录是/AAA但如果有同名目录，比如/AAAA同样也不会跳转；</p>
<div></div>]]></content:encoded>
					
					<wfw:commentRss>https://p1e.cn/html/3162.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>宝塔面板下nginx屏蔽垃圾蜘蛛禁止抓取不影响火车头发布</title>
		<link>https://p1e.cn/html/3112.html</link>
					<comments>https://p1e.cn/html/3112.html#respond</comments>
		
		<dc:creator><![CDATA[Naoki]]></dc:creator>
		<pubDate>Sun, 16 Jan 2022 06:23:57 +0000</pubDate>
				<category><![CDATA[运维笔记]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[宝塔]]></category>
		<guid isPermaLink="false">https://www.815494.com/?p=3112</guid>

					<description><![CDATA[最近查看服务器日志，发现一些垃圾蜘蛛，一直爬行很多，比如以下这些垃圾，太烦人了。 Mozilla/5.0 (compatible; SemrushBot/6~bl; +http://www.semrush.com/bot.html)" Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)" 本人一直使用的linux系统服务器宝塔面板管理，个人感觉比较方便。网上查找方法，屏蔽这些垃圾。 网上找到的代码如下：目前为止比较好用。 #禁止Scr]]></description>
										<content:encoded><![CDATA[<p>最近查看服务器日志，发现一些垃圾蜘蛛，一直爬行很多，比如以下这些垃圾，太烦人了。</p>
<pre>Mozilla/5.0 (compatible; SemrushBot/6~bl; +http://www.semrush.com/bot.html)"
Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"</pre>
<p>本人一直使用的linux系统服务器宝塔面板管理，个人感觉比较方便。网上查找方法，屏蔽这些垃圾。</p>
<p>网上找到的代码如下：目前为止比较好用。</p>
<pre>#禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
return 403;
}
#禁止指定UA及UA为空的访问
if ($http_user_agent ~* "FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot|^$" ) {
return 403;
}
#禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}</pre>
<p>宝塔面板下使用方法如下：<br />
1、找到文件目录/www/server/nginx/conf文件夹下面，新建一个文件<br />
<code>agent_deny.conf</code><br />
内容就是以上代码。<br />
<img loading="lazy" decoding="async" class="alignnone size-full wp-image-3115" src="//i.p1e.cn/2022/01/1642314600-20200323230338216.png" alt="" width="855" height="531" /><br />
2.找到网站设置里面的第7行左右 写入代码： include agent_deny.conf;<br />
<img loading="lazy" decoding="async" class="alignnone size-full wp-image-3116" src="//i.p1e.cn/2022/01/1642314702-16423147241.png" alt="" width="962" height="599" /><br />
如果你网站使用火车头采集发布，使用以上代码会返回403错误，发布不了的。如果想使用火车头采集发布，请使用下面的代码</p>
<pre>#禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
return 403;
}
#禁止指定UA访问。UA为空的可以访问，比如火车头可以正常发布。
if  ($http_user_agent ~ "FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|YandexBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot" ) {
return 403;             
}
#禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}
</pre>
<p>最后重启重启nginx，就可以在网站日志里看到防御效果了。<img loading="lazy" decoding="async" class="alignnone size-full wp-image-3117" src="//i.p1e.cn/2022/01/1642314950-16423149411.png" alt="" width="714" height="728" /></p>
<div></div>]]></content:encoded>
					
					<wfw:commentRss>https://p1e.cn/html/3112.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>宝塔7.8快速降级7.7办法</title>
		<link>https://p1e.cn/html/3090.html</link>
					<comments>https://p1e.cn/html/3090.html#respond</comments>
		
		<dc:creator><![CDATA[Naoki]]></dc:creator>
		<pubDate>Wed, 29 Dec 2021 07:25:44 +0000</pubDate>
				<category><![CDATA[运维笔记]]></category>
		<category><![CDATA[宝塔]]></category>
		<guid isPermaLink="false">https://www.815494.com/?p=3090</guid>

					<description><![CDATA[刚刚看到宝塔7.8提示升级了，手欠直接升级了发现之前老办法绕过账号绑定无效了，没办法直接降级7.7了。 连接SSH，键入代码如下： wget http://z.815494.xyz/code/bt/LinuxPanel-7.7.0.zip unzip LinuxPanel-7.7.0.zip cd panel bash update.sh cd .. &#38;&#38; rm -f LinuxPanel-7.7.0.zip &#38;&#38; rm -rf panel rm /www/server/panel/]]></description>
										<content:encoded><![CDATA[<div></div>
<p>刚刚看到宝塔<strong><span style="color: #ff0000;">7.8</span></strong>提示升级了，手欠直接升级了发现之前老办法绕过账号绑定无效了，没办法直接降级7.7了。<br />
连接SSH，键入代码如下：</p>
<div class="blockcode">
<div id="code_InJ">
<pre> wget http://z.815494.xyz/code/bt/LinuxPanel-7.7.0.zip
 unzip LinuxPanel-7.7.0.zip
 cd panel
 bash update.sh
 cd .. &amp;&amp; rm -f LinuxPanel-7.7.0.zip &amp;&amp; rm -rf panel
 rm /www/server/panel/data/bind.pl
</pre>
</div>
</div>
<p>然后刷新浏览器页面即可看到7.7版本正常绕过账号绑定。<img decoding="async" id="aimg_n6T8u" class="zoom" src="https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif" alt="" border="0" /></p>
<div></div>]]></content:encoded>
					
					<wfw:commentRss>https://p1e.cn/html/3090.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>BT宝塔面板修改nginx默认80端口为任意端口</title>
		<link>https://p1e.cn/html/3076.html</link>
					<comments>https://p1e.cn/html/3076.html#respond</comments>
		
		<dc:creator><![CDATA[Naoki]]></dc:creator>
		<pubDate>Thu, 16 Dec 2021 07:16:31 +0000</pubDate>
				<category><![CDATA[运维笔记]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[宝塔]]></category>
		<guid isPermaLink="false">https://www.815494.com/?p=3076</guid>

					<description><![CDATA[有时我们需要使用80端口，可nginx的默认端口为80 故需要将nginx默认端口80为其他任意端口 nginx的配置文件路径： www/server/panel/vhost/nginx/ 把这个目录里面的conf配置文件的80全部改成你要的端口，我这里是改成81 其次，每增加一个站点，会增加一个此站点的配置文件，所以后期增加站点后也要来这里修改下端口。因为增加的端口默认是80。 配置文件修改完毕后需要重启下nginx。然后在安全里面放行你更改后的端口。]]></description>
										<content:encoded><![CDATA[<p><strong>有时我们需要使用80端口，可nginx的默认端口为80<br />
故需要将nginx默认端口80为其他任意端口</strong></p>
<h3 id="toc-head-0">nginx的配置文件路径：</h3>
<p>www/server/panel/vhost/nginx/<br />
<img loading="lazy" decoding="async" class="gallery-img alignnone size-full wp-image-3077" src="https://i.p1e.cn/2021/12/UmBf9o.png" alt="image.png" width="858" height="335" /><br />
<strong>把这个目录里面的conf配置文件的80全部改成你要的端口，我这里是改成81</strong></p>
<p>其次，每增加一个站点，会增加一个此站点的配置文件，所以后期增加站点后也要来这里修改下端口。因为增加的端口默认是80。</p>
<p><img loading="lazy" decoding="async" class="gallery-img alignnone size-full wp-image-3078" src="https://i.p1e.cn/2021/12/wr2sS6.png" alt="image.png" width="1169" height="250" /><br />
<img loading="lazy" decoding="async" class="gallery-img alignnone size-full wp-image-3079" src="https://i.p1e.cn/2021/12/HrhL7W.png" alt="image.png" width="573" height="529" /><br />
配置文件修改完毕后需要重启下nginx。然后在安全里面放行你更改后的端口。</p>
<div></div>]]></content:encoded>
					
					<wfw:commentRss>https://p1e.cn/html/3076.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>解除宝塔面板安装插件或者软件时提示至少需要XX内存才能安装的</title>
		<link>https://p1e.cn/html/2819.html</link>
					<comments>https://p1e.cn/html/2819.html#respond</comments>
		
		<dc:creator><![CDATA[Naoki]]></dc:creator>
		<pubDate>Tue, 23 Mar 2021 04:30:35 +0000</pubDate>
				<category><![CDATA[运维笔记]]></category>
		<category><![CDATA[宝塔]]></category>
		<guid isPermaLink="false">https://www.815494.com/?p=2819</guid>

					<description><![CDATA[使用宝塔面板，如果你用的是小内存的VPS主机，在宝塔面板安装Docker、Mysql等时会提示你至少需要768MB内存才可以安装。解除宝塔面板安装插件或者软件时提示至少需要XX内存才能安装的限制的方法如下： 1、打开文件： /www/server/panel/data/plugin.json 找到以下代码（搜索关键词：768 或者是Docker之类的）： "install_checks": "/www/server/panel/plugin/docker", "uninsatll_checks": "/www/se]]></description>
										<content:encoded><![CDATA[<p>使用宝塔面板，如果你用的是小内存的VPS主机，在宝塔面板安装Docker、Mysql等时会提示你至少需要768MB内存才可以安装。解除宝塔面板安装插件或者软件时提示至少需要XX内存才能安装的限制的方法如下：</p>
<p>1、打开文件：</p>
<pre>/www/server/panel/data/plugin.json
</pre>
<p>找到以下代码（搜索关键词：768 或者是Docker之类的）：</p>
<pre>"install_checks": "/www/server/panel/plugin/docker", "uninsatll_checks": "/www/server/panel/plugin/docker", "compile_args": 0, "version_coexist": 0, "count": 0, "versions": [{"m_version": "3", "version": "6", "dependnet": "", "mem_limit": 768, "cpu_limit": 1, "os_limit": 0, "update_msg":
</pre>
<p>把mem_limit后面的数值改小就可以了。</p>
<p>2. 7.9以后的版本plugin.json已经取消，打开文件：/www/server/panel/class/panelPlugin.py</p>
<p>搜索关键词:“至少”</p>
<p>然后把这行if语句注释掉，如下图：</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3228" src="https://i.p1e.cn/2021/03/blog202209070759511662537591-L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xNjIxMzEzLzIwMTkwNy8xNjIxMzEzLTIwMTkwNzI2MjIzMTMxMTMyLTEyMTI1MTgzODYucG5n.png" alt="" width="590" height="63" /></p>
<p>然后重启面板就可以安装了</p>
<p>3.手动下载宝塔的安装shell脚本，执行脚本安装。</p>
<p>比如：<br />
1.编译安装mysql</p>
<pre>wget http://download.bt.cn/install/0/mysql.sh</pre>
<pre>bash mysql.sh install 8.0</pre>
<p>1.编译安装docker</p>
<pre>wget http://download.bt.cn/install/0/docker.sh</pre>
<pre>bash docker.sh install</pre>
<div></div>]]></content:encoded>
					
					<wfw:commentRss>https://p1e.cn/html/2819.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>怎么通过宝塔面板实现MySQL性能简单调优</title>
		<link>https://p1e.cn/html/2643.html</link>
					<comments>https://p1e.cn/html/2643.html#respond</comments>
		
		<dc:creator><![CDATA[Naoki]]></dc:creator>
		<pubDate>Tue, 23 Feb 2021 10:26:42 +0000</pubDate>
				<category><![CDATA[运维笔记]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[宝塔]]></category>
		<guid isPermaLink="false">https://www.815494.com/?p=2643</guid>

					<description><![CDATA[下面由雨辰给大家介绍怎么通过宝塔面板实现MySQL性能简单调优，希望对需要的朋友有所帮助！ 通过宝塔面板实现MySQL性能简单调优 在PHP+MYSQL架构网站运行过程中，往往会遇到各种性能问题影响，如MySQL、PHP、CPU、磁盘IO、缓存等，其中MySQL瓶颈就是最常见也最难解决的一种影响网站性能的因素；通常，我们会使用redis、memcached等缓存软件来缓存内容，这确实是最优的解决方案之一，但这需要网站程序的支持，然而多数常用网站程序并不支持或者不能完美支持这些缓存软件，今天我们就来谈谈如何通过MyS]]></description>
										<content:encoded><![CDATA[<p>下面由雨辰给大家介绍怎么通过宝塔面板实现MySQL性能简单调优，希望对需要的朋友有所帮助！</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-303" src="https://img0510.loeila.com/2021/02/601f8ed98c5e7708.jpg" sizes="auto, (max-width: 800px) 100vw, 800px" srcset="https://img.0510.cn.com/2021/02/601f8ed98c5e7708.jpg 800w, https://img.0510.cn.com/2021/02/601f8ed98c5e7708-300x120.jpg 300w, https://img.0510.cn.com/2021/02/601f8ed98c5e7708-768x307.jpg 768w" width="800" height="320" /></p>
<p><strong>通过宝塔面板实现MySQL性能简单调优</strong></p>
<p>在PHP+MYSQL架构网站运行过程中，往往会遇到各种性能问题影响，如MySQL、PHP、CPU、磁盘IO、缓存等，其中MySQL瓶颈就是最常见也最难解决的一种影响网站性能的因素；通常，我们会使用redis、memcached等缓存软件来缓存内容，这确实是最优的解决方案之一，但这需要网站程序的支持，然而多数常用网站程序并不支持或者不能完美支持这些缓存软件，今天我们就来谈谈如何通过MySQL自身的配置调整来优化MySQL性能，以缓解MySQL瓶颈问题。</p>
<p><strong>准备：</strong></p>
<p>1、宝塔Linux面板 正式版 7.5.1</p>
<p>2、MySQL 5.6</p>
<p>通常MySQL调优我们分以下几部分：</p>
<p>1、MySQL配置参数调优 (需要根据网站运行情况调整)</p>
<p>2、数据表索引调优 (效果明显，但通常优秀的开源程序都不需要调整)</p>
<p>3、SQL语句调优 (这是程序员或DBA干的事)</p>
<p>今天我们主要谈谈如果配合宝塔面板的新功能来进行MySQL配置参数调优，我们先来看两张图片</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2644" src="https://i.p1e.cn/2021/02/1614075870-16140758561.png" alt="" width="812" height="720" /></p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2645" src="https://i.p1e.cn/2021/02/1614075910-16140758921.png" alt="" width="813" height="681" /></p>
<p>很明显，(图1)显示的是MySQL当前的运行状态，(图2)显示的是MySQL主要配置参数</p>
<p>下面我们就来解读一下这两张图：</p>
<p>1、活动/峰值连接数 (图1)中当前活动的连接为1个，自MySQL服务启动以来，最高连接数为54；当最高连接数接近或等于(图2)中的max_connections时，应适当增加max_connections，需要注意的是，不要一下子增加过多，建议每次增加50，观察一段时间，不够再继续增加。</p>
<p>2、线程缓存命中率 (图1)中线程缓存命中率为99.78%，若这个值小于90%，建议适当增加(图2)中的thread_cache_size，建议每次增加8。</p>
<p>3、索引命中率 (图1)中索引命中率为99.50%，若这个值小于95%，建议适当增加(图2)中的key_buffer_size，建议每次增加64，需要说明的是，若您的数据库使用的是Innodb引擎，可忽略这个选项</p>
<p>4、Innodb索引命中率 (图1)中Innodb索引命中率为100%，若这个值小于95%，建议适当增加(图2)中的innodb_buffer_pool_size，建议每次增加64，需要说明的是，若您的数据库没有使用Innodb引擎，可忽略这个选项</p>
<p>5、查询缓存命中率 MySQL查询缓存是个比较受争议的功能，个人建议当你有在使用redis、memcached等缓存软件时，在(图2)中将query_cache_size设为0可以将其关闭，当你没有使用缓存软件，有多余的内存使用，且数据库瓶颈明显存在时，可以尝试开启查询缓存，这是个非常依赖数据表结构及SQL语句优化的功能，若数据表结构和SQL语句都针对查询缓存进行过优化，它的效果还是很不错的。</p>
<p>6、创建临时表到磁盘 (图1)中创建临时表到磁盘的比例是0.42%，这说明大部分临时表创建到内存了，不会过多增加磁盘IO的开销，建议，当比例大于2%时适当增加(图1)中的tmp_cache_size，建议每次增加32，当比例大于60%时，放弃吧，有些开源程序并没有专门优化过SQL语句，所以在运行过程中会开启大量临时表，加多少缓存都是不够用的。</p>
<p>7、已打开的表 当(图1)中的已打开的表接近或等于(图2)中的table_open_cache时，可以适当增加table_open_cache，但若设置过大可能导致您的程序频繁中断MySQL连接，建议在1024以内，最大不要超过2048。</p>
<p>8、没有使用索引的量、没有使用索引的JOIN量 若不为0，就检查下数据表索引吧，其实只要没有疯涨，比如一天增涨几千，一般可以忽略，必竟优化索引还是程序员或DBA去干比较合适。</p>
<p>9、排序后的合并次数 如果这个值在缓慢增张，建议适当增加(图2)中的sort_buffer_size，建议每次增加512，但最大不要超过8192，如果这个值一直在疯涨，增加sort_buffer_size也没用，就放弃这个选项吧，这个锅还是给程序开发者背。</p>
<p>10、锁表次数 如果服务器CPU开销不大的情况下，疯狂锁表，建议你将所有数据表转换成innodb，记得转换前备份哦。</p>
<p>11、优化方案 这个是我们根据内存大小给的一个推荐优化方案，仅是建议仅用于基础参考值，还是要根据实据情况来调整每一个配置项。</p>
<p>注意：保存参数配置后不会立即生效，记得要重启MySQL服务。</p>
<div></div>]]></content:encoded>
					
					<wfw:commentRss>https://p1e.cn/html/2643.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>使用BT宝塔Nginx反向代理导致WordPress后台登录不了的解决方法</title>
		<link>https://p1e.cn/html/2618.html</link>
					<comments>https://p1e.cn/html/2618.html#respond</comments>
		
		<dc:creator><![CDATA[Naoki]]></dc:creator>
		<pubDate>Fri, 19 Feb 2021 06:58:43 +0000</pubDate>
				<category><![CDATA[运维笔记]]></category>
		<category><![CDATA[bt]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[反代]]></category>
		<category><![CDATA[反向代理]]></category>
		<category><![CDATA[宝塔]]></category>
		<guid isPermaLink="false">https://www.815494.com/?p=2618</guid>

					<description><![CDATA[很多人都喜欢用BT宝塔面板做站，其中比较受大家欢迎的有BT宝塔面板里的反向代理功能，非常简单实用，直接配置就可以用，但是因为BT宝塔面板自带的反向代理默认是利用Nginx的反向代理原理，因此默认的配置存在一些问题，如下： 关闭缓存后仍然缓存； 开启反向代理缓存后不能正常登陆WordPress； 无法针对某个目录进行针对性缓存； 针对于以上问题，雨辰一直在捣鼓和研究，后来终于解决了。现在分享给大家对应的配置方法。 缓存问题原因分析 其实以上问题都是针对缓存的配置所导致的。因为Nginx的缓存配置默认直接在代码里面配置]]></description>
										<content:encoded><![CDATA[<p>很多人都喜欢用BT宝塔面板做站，其中比较受大家欢迎的有BT宝塔面板里的反向代理功能，非常简单实用，直接配置就可以用，但是因为BT宝塔面板自带的反向代理默认是利用Nginx的反向代理原理，因此默认的配置存在一些问题，如下：</p>
<ol>
<li>关闭缓存后仍然缓存；</li>
<li>开启反向代理缓存后不能正常登陆WordPress；</li>
<li>无法针对某个目录进行针对性缓存；</li>
</ol>
<p>针对于以上问题，雨辰一直在捣鼓和研究，后来终于解决了。现在分享给大家对应的配置方法。</p>
<p><strong>缓存问题原因分析</strong></p>
<p>其实以上问题都是针对缓存的配置所导致的。因为Nginx的缓存配置默认直接在代码里面配置，BT宝塔面板则是分开设置，最终组合在一起导致缓存的问题。</p>
<p>宝塔官方是默认对JS/CSS等静态文件缓存，但是如果设置了WordPress伪静态的话，那将会对页面也缓存进去。比如设置某个页面伪静态后地址为https://p1e.cn/archives/1.html，那么该页面就被缓存了，因此就会导致不能正常登陆WordPress。因为缓存的页面默认是没有登录的状态，你再次访问则为缓存页面。</p>
<p><strong>反向代理配置文件</strong></p>
<p>话不多说，直接上代码，这里我们要登录代理机的BT宝塔面板，找到对应的网站，点击配置文件</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2619" src="https://i.p1e.cn/2021/02/1613717804-16137177921.png" alt="" width="811" height="232" /></p>
<p>复制如下代码对原代码进行替换：</p>
<pre class="wp-block-code prettyprint"><code class="null"><span class="com">#PROXY-START/</span><span class="pln">
location </span><span class="pun">/</span>
<span class="pun">{</span>
    <span class="com">#缓存媒体文件</span><span class="pln">
    location </span><span class="pun">~*</span> <span class="pun">.</span><span class="pln">jpg</span><span class="pun">|.</span><span class="pln">png</span><span class="pun">|.</span><span class="pln">gif</span><span class="pun">|.</span><span class="pln">jpeg</span><span class="pun">|.</span><span class="pln">ttf</span><span class="pun">|.</span><span class="pln">webp</span><span class="pun">|.</span><span class="pln">woff</span><span class="pun">|.</span><span class="pln">woff2</span><span class="pun">|.</span><span class="pln">ico$
    </span><span class="pun">{</span><span class="pln">
        proxy_set_header </span><span class="typ">Host</span><span class="pln"> $host</span><span class="pun">;</span><span class="pln">
        proxy_set_header X</span><span class="pun">-</span><span class="typ">Real</span><span class="pun">-</span><span class="pln">IP $remote_addr</span><span class="pun">;</span><span class="pln">
        proxy_set_header X</span><span class="pun">-</span><span class="typ">Forwarded</span><span class="pun">-</span><span class="typ">For</span><span class="pln"> $proxy_add_x_forwarded_for</span><span class="pun">;</span><span class="pln">
        proxy_set_header REMOTE</span><span class="pun">-</span><span class="pln">HOST $remote_addr</span><span class="pun">;</span><span class="pln">
        proxy_pass https</span><span class="pun">:</span><span class="com">//www.815494.com;</span><span class="pln">
        proxy_cache cache_one</span><span class="pun">;</span><span class="pln">
    	proxy_cache_valid </span><span class="lit">30d</span><span class="pun">;</span><span class="pln">
        proxy_ignore_headers </span><span class="typ">Cache</span><span class="pun">-</span><span class="typ">Control</span><span class="pun">;</span><span class="pln">
    	add_header X</span><span class="pun">-</span><span class="typ">Cache</span> <span class="str">"$upstream_cache_status from $server_addr"</span><span class="pun">;</span>
    <span class="pun">}</span>
    
    <span class="com">#缓存css、js、html</span><span class="pln">
     location </span><span class="pun">~*</span> <span class="pun">.</span><span class="pln">css</span><span class="pun">|.</span><span class="pln">js</span><span class="pun">|.</span><span class="pln">html$
    </span><span class="pun">{</span><span class="pln">
        proxy_set_header </span><span class="typ">Host</span><span class="pln"> $host</span><span class="pun">;</span><span class="pln">
        proxy_set_header X</span><span class="pun">-</span><span class="typ">Real</span><span class="pun">-</span><span class="pln">IP $remote_addr</span><span class="pun">;</span><span class="pln">
        proxy_set_header X</span><span class="pun">-</span><span class="typ">Forwarded</span><span class="pun">-</span><span class="typ">For</span><span class="pln"> $proxy_add_x_forwarded_for</span><span class="pun">;</span><span class="pln">
        proxy_set_header REMOTE</span><span class="pun">-</span><span class="pln">HOST $remote_addr</span><span class="pun">;</span><span class="pln">
        proxy_pass https</span><span class="pun">:</span><span class="com">//www.815494.com;</span><span class="pln">
        proxy_cache cache_one</span><span class="pun">;</span><span class="pln">
    	proxy_cache_valid </span><span class="lit">3d</span><span class="pun">;</span><span class="pln">
        proxy_ignore_headers </span><span class="typ">Cache</span><span class="pun">-</span><span class="typ">Control</span><span class="pun">;</span><span class="pln">
    	add_header X</span><span class="pun">-</span><span class="typ">Cache</span> <span class="str">"$upstream_cache_status from $server_addr"</span><span class="pun">;</span>
    <span class="pun">}</span><span class="pln">
    
    proxy_pass https</span><span class="pun">:</span><span class="com">//www.815494.com;</span><span class="pln">
    proxy_set_header </span><span class="typ">Host</span><span class="pln"> $host</span><span class="pun">;</span><span class="pln">
    proxy_set_header X</span><span class="pun">-</span><span class="typ">Real</span><span class="pun">-</span><span class="pln">IP $remote_addr</span><span class="pun">;</span><span class="pln">
    proxy_set_header X</span><span class="pun">-</span><span class="typ">Forwarded</span><span class="pun">-</span><span class="typ">For</span><span class="pln"> $proxy_add_x_forwarded_for</span><span class="pun">;</span><span class="pln">
    proxy_set_header REMOTE</span><span class="pun">-</span><span class="pln">HOST $remote_addr</span><span class="pun">;</span>
    
    <span class="com">#持久化连接相关配置</span>
    <span class="com">#proxy_connect_timeout 30s;</span>
    <span class="com">#proxy_read_timeout 86400s;</span>
    <span class="com">#proxy_send_timeout 30s;</span>
    <span class="com">#proxy_http_version 1.1;</span>
    <span class="com">#proxy_set_header Upgrade $http_upgrade;</span>
    <span class="com">#proxy_set_header Connection "upgrade";</span>

    <span class="com">#add_header X-Cache $upstream_cache_status;</span>
 

    <span class="com">#expires 12h;</span>
<span class="pun">}</span>

<span class="com">#PROXY-END/</span></code></pre>
<p>针对以上代码的说明</p>
<p>因为宝塔里的反向代理文件默认是全局缓存，我们没有用其代码，直接采用分类缓存的方式。大家只需将上面的域名换成自己的域名即可，如果需要修改缓存的话可以根据以上缓存类型进行更换即可。</p>
<p>比如不希望缓存html，缓存的话容易出现WordPress登陆后还是显示没有登陆的界面问题。那么就可以将以上代码的html部分去掉即可。</p>
<p><strong>如何对某些目录设置不缓存</strong></p>
<p>比如我们不希望缓存网站的某些目录，比如不希望缓存站点下的wp-admin文件夹。那么可以进行相应的设置，将如下代码加入最后</p>
<pre class="wp-block-code prettyprint"><code class="null"><span class="pln">location </span><span class="pun">/</span><span class="pln">wp</span><span class="pun">-</span><span class="pln">admin </span><span class="pun">{</span><span class="pln">
proxy_pass https</span><span class="pun">:</span><span class="com">//www.815494.com;</span><span class="pln">
proxy_cache_valid any </span><span class="lit">0s</span><span class="pun">;</span>
<span class="pun">}</span></code></pre>
<p>如果有多个目录的话，那么分别增加如上代码即可。</p>
<div></div>]]></content:encoded>
					
					<wfw:commentRss>https://p1e.cn/html/2618.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
