{"id":5391,"date":"2017-12-28T20:11:41","date_gmt":"2017-12-28T12:11:41","guid":{"rendered":"http:\/\/www.orczhou.com\/?page_id=5391"},"modified":"2026-01-28T18:44:12","modified_gmt":"2026-01-28T10:44:12","slug":"blog-ops","status":"publish","type":"page","link":"https:\/\/www.orczhou.com\/index.php\/blog-ops\/","title":{"rendered":"\u535a\u5ba2\u7ef4\u62a4"},"content":{"rendered":"\n\n\n\n<p>\u8fd9\u4e2a\u535a\u5ba2\u575a\u6301\u4e86\u597d\u591a\u5e74\u4e86\uff0c\u7ecf\u5e38\u4f1a\u6d89\u53ca\u5230\u4e00\u4e9b\u7b80\u5355\u7ef4\u62a4\uff0c\u56e0\u4e3a\u9891\u7387\u4f4e\uff0c\u5f88\u591a\u64cd\u4f5c\u4f1a\u5fd8\u8bb0\uff0c\u6545\u7279\u6b64\u8bb0\u5f55\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2025\u5e7411\u6708 \u4fee\u6539\u5b57\u4f53\/\u76ee\u5f55<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u5c06\u5b57\u4f53\u6539\u4e3aRoman\/\u5b8b\u4f53<\/h4>\n\n\n\n<p>\u5728\u4e3b\u9898\u4e2d\uff0c\u6dfb\u52a0\u4e86\u5982\u4e0b\u7684 CSS\uff1a <\/p>\n\n\n\n<div class=\"wp-block-columns my_display_block is-layout-flex wp-container-core-columns-is-layout-4e349fc1 wp-block-columns-is-layout-flex\" style=\"padding-left:0px\">\n<div class=\"wp-block-column my_display_block is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-code\"><code lang=\"css\" class=\"language-css\">\/*\n *  added by orczhou @ 2025-11\n * *\/\nbody, .entry-content, .entry-content p code {\n  font-family: \"Times New Roman\", Times, \"\u4eff\u5b8b\", \"FangSong\", \"\u534e\u6587\u4eff\u5b8b\", \"STFangsong\", serif,\"PingFang SC\" !important;\n}<\/code><\/pre>\n<\/div>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">\u4fee\u6539ToC\u63d2\u4ef6\uff0c\u63a7\u5236\u76ee\u5f55\u5360\u5bbd<\/h4>\n\n\n\n<p>\u6709\u65f6\u5019\u6807\u9898\u592a\u957f\uff0c\u5728\u76ee\u5f55\u5c55\u793a\u4e2d\u4f1a\u6298\u884c\uff0c\u6bd4\u8f83\u5f71\u54cd\u6574\u4f53\u89c6\u89c9\u7b80\u6d01\u7684\u6548\u679c\uff0c\u6240\u4ee5\uff0c\u5f53\u201c\u5360\u5bbd\u201d\u9884\u4f30\u8d85\u8fc730\u7684\u65f6\u5019\uff0c\u5c31\u8fdb\u884c\u6298\u65ad\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-columns my_display_block is-layout-flex wp-container-core-columns-is-layout-4e349fc1 wp-block-columns-is-layout-flex\" style=\"padding-left:0px\">\n<div class=\"wp-block-column my_display_block is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">        \/\/ add by orczhou@2025-11 for shorten string if nessesary\n        private function shorten_show_text($str){\n            $p_max_len = 30;\n            \/\/ x*3 + y = strlen;\n            \/\/ x + y   = mb_strlen;\n            \/\/ 2x + y = MAX\n            \/\/ z(x\/(x+y))*2 + z(y\/(x+y)) &lt;= MAX\n            $z = round(2*$p_max_len*mb_strlen($str)\/(strlen($str)+mb_strlen($str)));\n            if (mb_strlen($str, \"UTF-8\") &gt;= $z +3) {\n                $str = mb_substr($str, 0, $z).\"...\";\n            }\n            return $str;\n        }<\/code><\/pre>\n\n\n\n<p>\u56e0\u4e3a\u770b\u8d77\u6765\u6709\u70b9\u590d\u6742\uff0c\u6240\u4ee5\u505a\u4e2a\u8bf4\u660e\uff1a(a) \u5bf9\u4e8e\u4e2d\u82f1\u6587\u6df7\u5408\u7684\u5b57\u7b26\u4e32strlen\u8ba1\u7b97byte\u6570\u91cf\uff0cmb_strlen\uff08\u5219\u6309utf8\u5b57\u7b26\u6570\u91cf (b) \u5360\u5bbd\u4e0a\u8fd9\u91cc\u7b80\u5355\u8ba4\u4e3a\uff0c\u4e00\u4e2a\u4e2d\u6587\u5b57\u7b26\u5360\u4e24\u4e2a\u5bbd\u4f4d\uff1b\u4e00\u4e2a\u82f1\u6587\u5b57\u7b26\u4e00\u4e2a\u5bbd\u4f4d\u3002\u4e8e\u662f\u5c31\u6709\u4e86\u4e0a\u8ff0\u7684\u8ba1\u7b97\u3002<\/p>\n\n\n\n<p>\u5b9e\u9645\u6548\u679c\u5bf9\u6bd4\uff1a<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"714\" height=\"568\" src=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-4.png\" alt=\"\" class=\"wp-image-22310\" srcset=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-4.png 714w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-4-300x239.png 300w\" sizes=\"auto, (max-width: 714px) 100vw, 714px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"726\" height=\"500\" src=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-6.png\" alt=\"\" class=\"wp-image-22312\" srcset=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-6.png 726w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-6-300x207.png 300w\" sizes=\"auto, (max-width: 726px) 100vw, 726px\" \/><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">2025\u5e7410\u6708 \u5f3a\u5236 Mathjax-Latex \u5b57\u4f53<\/h3>\n\n\n\n<p>\u5728\u66f4\u65b0\u5230\u6700\u65b0\u7684 Mac OS X \u4e4b\u540e\uff0c\u7a81\u53d1\u53d1\u73b0Latex\u7684\u90e8\u5206\u5b57\u4f53\u53d1\u751f\u4e86\u53d8\u5316\u3002\u8fd9\u91cc\u4fee\u6539\u4e86 Mathjax-Latex \u5c06\u5b57\u4f53\u5f3a\u5236\u4e3a\u201cTex\u201d\uff0c\u5177\u4f53\u4fee\u6539\u5982\u4e0b\uff1a<\/p>\n\n\n\n<div class=\"wp-block-columns my_display_block is-layout-flex wp-container-core-columns-is-layout-4e349fc1 wp-block-columns-is-layout-flex\" style=\"padding-left:0px\">\n<div class=\"wp-block-column my_display_block is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-code\"><code lang=\"css\" class=\"language-css\">        $mathjax_config = apply_filters( 'mathjax_config', [] );\n        $mathjax_config[\"HTML-CSS\"] = array(\n            'availableFonts' =&gt; array('TeX'),\n            'webFont'        =&gt; 'TeX',\n            'fallbackFont'   =&gt; array(\"Times\",\"serif\"),\n        );\n        if ( $mathjax_config ) {\n            wp_add_inline_script( 'mathjax', 'MathJax.Hub.Config(' . wp_json_encode( $mathjax_config ) . ');' );\n        }<\/code><\/pre>\n<\/div>\n<\/div>\n\n\n\n<p>\u88ab\u4fee\u6539\u7684\u6587\u4ef6\u4e3a\uff1a<code>wp-content\/plugins\/mathjax-latex\/class-mathjax-latex.php<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2025\u5e7407\u6708 Ban\u4e86\u4e00\u4e9bIP<\/h3>\n\n\n\n<p>\u5728 .htaccess \u4e2d\u65b0\u589e\uff1a &#8221; Options -Indexes &#8221; \uff0c\u907f\u514d\u5217\u8868\u76ee\u5f55\uff0c\u4ece\u800c\u653b\u51fb\u7ad9\u70b9\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>\u7a81\u53d1\u53d1\u73b0\u7ad9\u70b9\u6709\u70b9\u6162\uff0c\u7136\u540e\u89c2\u5bdf\u4e86\u4e00\u4e0b\u8bbf\u95ee\u65e5\u5fd7\uff0c\u6ce8\u610f\u67d0\u4e2aIP\u4e00\u76f4\u5728\u5c1d\u8bd5\u8bbf\u95eelogin\u9875\u9762\uff0c\u5927\u6982\u662f\u9047\u5230\u4e86\u66b4\u529b\u7834\u89e3\u3002\u8fd9\u6b21\uff0c\u901a\u8fc7\u5728.htaccess\u4e2d\u65b0\u589e\u4e86\u5982\u4e0b\u5185\u5bb9\uff0c\u7981\u7528\u4e86\u8be5IP\u5730\u5740\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"apacheconf\" class=\"language-apacheconf\">&lt;RequireAll&gt;\n  Require all granted\n  Require not ip 192.9.158.232\n&lt;\/RequireAll&gt;<\/code><\/pre>\n\n\n\n<p>\u6ce8\uff0c\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u624b\u52a8\u7684\u89c2\u5bdf\u7ad9\u70b9\u7684\u8bbf\u95ee\u60c5\u51b5\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">tail -f \/var\/log\/httpd\/ssl_access_log<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2024\u5e7410\u6708 \u65b0\u589e\u4e86\u82f1\u6587\u5b50\u7ad9\u70b9<\/h3>\n\n\n\n<p>\u5728\u7ad9\u70b9\u7684<code>\/en<\/code>\u76ee\u5f55\u4e0b\u65b0\u589e\u4e86\u4e00\u4e2aWordPress\u7684\u7ad9\u70b9\uff0c\u8fd9\u662f\u4e00\u4e2a\u82f1\u6587\u7ad9\u70b9\uff0c\u7528\u4e8e\u5b58\u653e\u4e00\u4e9b\u82f1\u6587\u5185\u5bb9\uff0c\u4ee5\u4fbf\u4e8e\u641c\u7d22\u5f15\u64ce\u6536\u5f55\u4e00\u4e9b\u82f1\u6587\u7684\u5185\u5bb9\u3002<\/p>\n\n\n\n<p>\u4e3a\u4e86\u9002\u914dWordPress\u7684<code>Permalink<\/code>\u529f\u80fd\uff0c\u8c03\u6574\u4e86\u7ad9\u70b9\u5728<code>httpd<\/code>\u4e2d\u7684\u90e8\u5206\u914d\u7f6e\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"apacheconf\" class=\"language-apacheconf\">&lt;Directory \"...\/orczhou.com\"&gt;\n    Options Indexes FollowSymLinks\n    AllowOverride All\n    # AllowOverride None\n    Order allow,deny\n    Allow from all\n&lt;\/Directory&gt;<\/code><\/pre>\n\n\n\n<p>\u5c06<code>AllowOverride<\/code>\u66f4\u6539\u4e3aALL\uff0c\u8ba9WordPress\u4e0b\u7684<code>.htaccess<\/code>\u6587\u4ef6\u751f\u6548\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2024\u5e7410\u6708 \u5c06\u81ea\u5b9a\u4e49\u7684CSS\u5728\u53ef\u89c6\u5316\u7f16\u8f91\u5668\u4e2d<\/h3>\n\n\n\n<p>\u5728\u73b0\u5728\u7248\u672c\u7684WordPress\u7684\u4e3b\u9898\u7f16\u8f91\u5668\u4e2d\uff0c\u63d0\u4f9b\u4e86\u975e\u5e38\u597d\u7684\u81ea\u5b9a\u4e49CSS\u6dfb\u52a0\u529f\u80fd\uff0c\u800c\u4e0d\u518d\u9700\u8981\u76f4\u63a5\u5728\u63a7\u5236\u53f0\u4fee\u6539<code>style.css<\/code>\u6587\u4ef6\u3002\u6545\u8003\u8651\u628a\u4e4b\u524d\u5728<code>style.css<\/code>\u4e2d\u6240\u505a\u7684\u4fee\u6539\uff0c\u7edf\u4e00\u653e\u5230\u4e3b\u9898\u7f16\u8f91\u5668\u4e2d\u3002\u8fd9\u91cc\u5148\u5c1d\u8bd5\u4e00\u90e8\u5206\u4fee\u6539\uff0c\u6682\u65f6\u8003\u8651\u65b0\u589e\u5982\u4e0b<code>css<\/code>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"css\" class=\"language-css\">.orczhou_half_font_size{\n    font-size: 0.5em  !important;\n}\n\n\n\/*\n *  added by orczhou @ 2023\n * *\/\nbody {\n    font-family: \"Helvetica Neue\", Helvetica, Arial, \"PingFang SC\", \"Hiragino Sans GB\", \"Heiti SC\", \"Microsoft YaHei\", \"WenQuanYi Micro Hei\", sans-serif !important;\n}\n\n\n\/*\n *  added by orczhou @ 2024-08 \n * *\/\nh3 {\n\tfont-size: 1.8em;\n\tfont-weight: bold !important;\n    padding-top:1em !important;\n}\n\nh4 {\n\tfont-size: 1.3em;\n\tfont-weight: bold !important;\n\tpadding-top:1em !important;\n}\n\nh5 {\n\tpadding-top:1em !important;\n}<\/code><\/pre>\n\n\n\n<p>\u7136\u540e\u518d\uff0c\u9700\u8981\u7684Block\u4e2d\u4f7f\u7528\u8fd9\u4e9b<code>CSS<\/code>\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2024\u5e7406\u6708 \u63d2\u4ef6\u4e2d\u65b0\u589ePure.css<\/h3>\n\n\n\n<p>\u4e3a\u4e86\u5b9e\u73b0\u8f83\u4e3a\u7b80\u5355\u7684MySQL\u6027\u80fd\u6d4b\u8bd5\u6570\u636e\u5c55\u793a\uff0c\u6240\u4ee5\u5728\u535a\u5ba2\uff08WordPress\uff09\u4e2d\u65b0\u589e\u4e86cdb-perf\u63d2\u4ef6\uff0c\u7528\u4e8e\u81ea\u52a8\u5316\u7684\u6027\u80fd\u6d4b\u8bd5\u7ed3\u679c\u6570\u636e\u8bfb\u53d6\u5e76\u5c55\u793a\u3002\u5728\u5c55\u793a\u4e2d\uff0c\u4f7f\u7528\u4e86<a href=\"https:\/\/github.com\/pure-css\/pure\">pure.css<\/a>\u5c55\u793a\u8868\u683c\u3002\u539f\u672c\u53ea\u662f\u5728\u9875\u9762\u4e2d\u65b0\u589e\u4e86\u4e00\u4e2acss\uff08\u6765\u81ea\u7b2c\u4e09\u65b9CDN\uff09\u5f15\u7528\uff0c\u4f46\u662f\u5374\u53d1\u73b0\uff0c\u5728\u56fd\u5185\uff0c\u6709\u65f6\u5019\u9996\u6b21\u4e0b\u8f7d\u8be5CSS\u9700\u8981\u51e0\u5341\u79d2\u3002\u6545\uff0c\u8fd9\u91cc\u8003\u8651\u5c06\u8be5CSS\u672c\u5730\u5316\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u672c\u5730\u6784\u5efa\u8be5css<\/h4>\n\n\n\n<p>\u53c2\u8003\u9875\u9762\u7684build\u547d\u4ee4\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">git clone git@github.com:pure-css\/pure.git\ncd pure\nnpm install\ngrunt<\/code><\/pre>\n\n\n\n<p>\u7136\u540e\u5c06\u6784\u5efa\u7684<code>build\/pure.css<\/code>\uff0c\u6545\uff0c\u9700\u8981\u5c06\u8be5\u6587\u4ef6\u62f7\u8d1d\u5230\u63d2\u4ef6\u4e2d\uff0c\u5e76<a href=\"https:\/\/developer.wordpress.org\/plugins\/plugin-basics\/best-practices\/#folder-structure\">\u53c2\u8003\u5efa\u8bae\u7684\u6587\u4ef6\u76ee\u5f55<\/a>\u653e\u5728<code>public\/css<\/code>\u4e0b\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u5728\u63d2\u4ef6cdb-perf\u4e2d\u5f15\u7528\u8be5css<\/h4>\n\n\n\n<p>\u63d2\u4ef6\u4ee3\u7801\u4fee\u6539\u5982\u4e0b\uff08<a href=\"https:\/\/github.com\/orczhou\/wp-plugin-cdb-perf\/commit\/384b8c277f652b7089881f60079a2f6fe06cba9c\">\u53c2\u8003<\/a>\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">git diff 7f15e23001a7032e5077341258fe5a299eccb430 HEAD\ndiff --git a\/cdb-perf.php b\/cdb-perf.php\nindex bf8ac16..6c02116 100644\n--- a\/cdb-perf.php\n+++ b\/cdb-perf.php\n@@ -57,4 +57,19 @@ function cdb_perf_shortcodes_init() {\n\n add_action( 'init', 'cdb_perf_shortcodes_init' );\n\n+\n+\/*\n+ * add pure.css in public\/css\/pure.css\n+ *\n+ * *\/\n+\n+add_action( 'wp_enqueue_scripts', 'cdb_perf_enqueue_styles');\n+\n+function cdb_perf_enqueue_styles() {\n+       wp_enqueue_style(\n+               'cdb-perf-purecss',\n+        plugins_url( 'public\/css\/pure.css', __FILE__ )\n+               \/\/ get_parent_theme_file_uri( 'public\/css\/pure.css' )\n+       );\n+}\n ?&gt;<\/code><\/pre>\n\n\n\n<p>\u4e3b\u8981\u53c2\u8003\u94fe\u63a5\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/pure-css\/pure\/\">Pure CSS@GitHub<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developer.wordpress.org\/themes\/core-concepts\/including-assets\/\">Including Assets@WordPress Developer Resources<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developer.wordpress.org\/plugins\/plugin-basics\/determining-plugin-and-content-directories\/\">Determining Plugin and Content Directories@WordPress Developer Resources<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2024\u5e7403\u6708 \u66f4\u65b0\u90e8\u5206CSS<\/h3>\n\n\n\n<p>\u4e3a\u4e86\u6539\u8fdb\u9875\u9762\u4e2dH3\u3001H4 heading\u7684\u6548\u679c\uff0c\u65b0\u589e\u5982\u4e0bCSS\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"css\" class=\"language-css\">\/*\n *  added by orczhou @ 2024-03 \n * *\/\nh3 {\n\tfont-size: 1.8em;\n\tfont-weight: bold !important;\n    margin-top: 0.2em !important;\n}\n\nh4 {\n\tfont-size: 1.3em;\n\tfont-weight: bold !important;\n    margin-top: 0.2em !important;\n}<\/code><\/pre>\n\n\n\n<p>\u8be6\u7ec6\u7684\u4fee\u6539\u4f4d\u7f6e\u4e3a\uff1a<code>dashboard-&gt;tools-&gt;Theme File Editors-&gt;style.css<\/code>\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2023\u5e7411\u6708 \u66f4\u65b0\u8bc1\u4e66<\/h3>\n\n\n\n<p>\u56e0\u4e3a\u4f7f\u7528\u7684\u514d\u8d39\u8bc1\u4e66\uff0c\u6240\u4ee5\u6bcf\u9694\u4e00\u6bb5\u65f6\u95f4\u90fd\u9700\u8981\u53bb\u624b\u52a8\u66f4\u65b0\u4e00\u6b21\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">ssh ec2-user@www.orczhou.com\nsudo certbot --apache<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2023\u5e7403\u6708 \u4fee\u6539Events Calendar\u63d2\u4ef6<\/h3>\n\n\n\n<p>\u5728wp-content\/plugins\/the-events-calendar\/src\/views\/v2\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6month.php \/ list.php \/ day.php\u65b0\u589e\u5982\u4e0b\u4ee3\u7801\uff0c\u51cf\u5c11\u9876\u7aef\u7684\u7a7a\u767d\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"css\" class=\"language-css\">&lt;style&gt;\n.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {\n    padding-top: 2px !important;\n&lt;\/style&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2023\u5e7402\u6708 \u5c1d\u8bd5\u4e86Cloudflare\u7684CDN\u670d\u52a1<\/h3>\n\n\n\n<p>\u7b2c\u4e00\u6b21\u5c1d\u8bd5\u4f7f\u7528CDN&#8230; \u901f\u5ea6\u679c\u7136\u662f\u5feb&#8230;<\/p>\n\n\n\n<p>\u4f8b\u5982\uff1ajquery.min.js\u7684\u8fd4\u56de\u65f6\u95f4\u4ece19s\u51cf\u5230\u5230\u4e86\u53f3\u8fb9\u7684264ms<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"410\" data-id=\"8193\" src=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1010-1024x410.png\" alt=\"\" class=\"wp-image-8193\" srcset=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1010-1024x410.png 1024w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1010-300x120.png 300w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1010-768x308.png 768w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1010-1536x615.png 1536w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1010-2048x820.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"422\" data-id=\"8194\" src=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1011-1024x422.png\" alt=\"\" class=\"wp-image-8194\" srcset=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1011-1024x422.png 1024w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1011-300x124.png 300w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1011-768x316.png 768w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1011-1536x633.png 1536w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1011-2048x843.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/figure>\n\n\n\n<p>\u90a3\u4e48\u662f\u4e0d\u662f\u53ef\u4ee5\u8003\u8651\u628a\u7ad9\u70b9\u7684\u56fe\u7247\u5168\u90e8\u90fd\u7528CDN\u52a0\u901f\u8d77\u6765\uff0c\u800c\u4e0d\u662f\u4f7f\u7528S3\u670d\u52a1\u3002\u8fd9\u6837\u7684\u597d\u5904\u5728\u4e8e\uff0c\u67b6\u6784\u66f4\u52a0\u7b80\u5355\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5c11\u4f7f\u7528\u4e00\u4e2a\u670d\u52a1\uff0c\u4e0d\u518d\u9700\u8981\u4f7f\u7528S3\u670d\u52a1<\/li>\n\n\n\n<li>\u53e6\u5916\uff0cCDN\u5c5e\u4e8e\u4e00\u79cd\u201c\u989d\u5916\u201d\u7684\u670d\u52a1\uff0c\u5373\u4fbf\u8be5\u670d\u52a1\u5931\u6548\uff0c\u6574\u4e2a\u7ad9\u70b9\u7684\u8bbf\u95ee\u4f9d\u65e7\u4e0d\u53d7\u5f71\u54cd\uff0c\u5982\u679c\u4f7f\u7528\u7684\u662fS3\u662f\u6ca1\u6709\u8fd9\u4e2a\u6548\u679c\u7684<\/li>\n\n\n\n<li>S3\u662f\u5b58\u50a8\u670d\u52a1\uff0c\u53ea\u4e0d\u8fc7\u662f\u6211\u8fd9\u91cc\u5f53\u505a\u52a0\u901f\u670d\u52a1\u6765\u7528\u4e86\uff0c\u8fd8\u662f\u7528\u6b63\u5f0f\u7684CDN\u66f4\u597d<\/li>\n<\/ul>\n\n\n\n<p>\u914d\u7f6eCloudflare\u7684CDN\u670d\u52a1\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9996\u5148\uff0c\u9700\u8981\u5c06\u57df\u540d\u7684DNS Server\u66f4\u6362\u4e3aCloudFlare\u7684\u670d\u52a1\u5668<\/li>\n\n\n\n<li>\u5728CloudFlare\u7ad9\u70b9\u5b8c\u6210\u57df\u540d\u63a5\u5165<\/li>\n\n\n\n<li>\u63a5\u7740\uff0c\u5728CloudFlare\u7ad9\u70b9\u914d\u7f6e\u7f13\u5b58\u89c4\u5219\uff0c\u4e4b\u540e\u5c31\u7acb\u5373\u751f\u6548\u4e86<\/li>\n\n\n\n<li>\u540e\u7eed\uff0c\u518d\u89c2\u5bdf\u8d39\u7528\u60c5\u51b5<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"429\" src=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1013-1024x429.png\" alt=\"\" class=\"wp-image-8195\" style=\"width:711px;height:297px\" srcset=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1013-1024x429.png 1024w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1013-300x126.png 300w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1013-768x322.png 768w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1013-1536x644.png 1536w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2023\/02\/Snip20230222_1013-2048x858.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8fd9\u91cc\u4f7f\u7528CloudFlare\u7684Caching\u80fd\u529b\uff0cCache\u53ef\u4ee5\u5b9e\u73b0ULI\u7c92\u5ea6\u7684\u7f13\u5b58\uff1b\u53e6\u5916\uff0cCloudFlare\u8fd8\u6709\u4e00\u4e2aPage Rule\u53ef\u4ee5\u5b9e\u73b0\u9875\u9762\u7ea7\u522b\u7684\u7f13\u5b58\u3002\u4ed6\u4eec\u7684\u533a\u522b\u53c2\u8003\uff1a<a href=\"https:\/\/community.cloudflare.com\/t\/what-is-the-difference-between-configuration-rules-and-cache-rules\/438987\">\u94fe\u63a5<\/a>\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2023\u5e7402\u6708 \u535a\u5ba2\u4f7f\u7528S3\u4f5c\u4e3a\u56fe\u7247\u670d\u52a1<\/h3>\n\n\n\n<p>\u6700\u8fd1\u7684\u535a\u5ba2\u6587\u7ae0\u5f00\u59cb\u53d1\u4e00\u4e9b\u7167\u7247\u4e86\uff0c\u4e8e\u662f\u8003\u8651\u4f7f\u7528S3\u5b58\u50a8\u7167\u7247\uff0c\u52a0\u901f\u7167\u7247\u7684\u8bbf\u95ee\u3002\u7b2c\u4e00\u6b21\u914d\u7f6eS3\uff0c\u8fd8\u662f\u6709\u70b9\u964c\u751f\u4e86\uff0c\u4f9d\u9760Google\uff0c\u505a\u4e86\u4e00\u4e9b\u7b80\u5355\u7684\u914d\u7f6e\uff0c\u56fe\u7247\u5c31\u53ef\u4ee5\u6b63\u5e38\u88ab\u8bbf\u95ee\u4e86\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5148\u5c06Bucket\u8bbe\u7f6e\u4e3a\u516c\u7f51\u53ef\u8bbf\u95ee\uff08\u6709\u4e00\u4e2aBlock Public Access\u7684\u9009\u9879\u8981\u53bb\u6389\uff09<\/li>\n\n\n\n<li>\u8bbe\u7f6e\u516c\u7f51\u8bbf\u95ee\u7684\u7b56\u7565\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n    \"Version\": \"2012-10-17\",\n    \"Statement\": [\n        {\n            \"Sid\": \"PublicReadGetObject\",\n            \"Effect\": \"Allow\",\n            \"Principal\": \"*\",\n            \"Action\": \"s3:GetObject\",\n            \"Resource\": \"arn:aws:s3:::blog-images-orczhou\/*\",\n            \"Condition\": {\n                \"StringLike\": {\n                    \"aws:Referer\": \"https:\/\/www.orczhou.com\/*\"\n                }\n            }\n        }\n    ]\n}<\/code><\/pre>\n\n\n\n<p>\u540c\u65f6\uff0c\u4e3a\u4e86\u907f\u514d\u5355\u65e5\u7684\u6d41\u91cf\u8fc7\u5927\uff0c\u8fd9\u91cc\u4f7f\u7528AWS\u7684Budgets\u670d\u52a1\uff0c\u521b\u5efa\u4e86\u4e00\u4e2a\u201c10-dollar-per-day-overall\u201d\u7684\u90ae\u4ef6\u544a\u8b66\u65b9\u6848\uff0c\u907f\u514d\u6d41\u91cf\u523a\u5ba2\u5bfc\u81f4\u8d39\u7528\u8fc7\u9ad8\u3002<\/p>\n\n\n\n<p>\u5728\u963f\u91cc\u4e91\u7684OSS\u548cAWS\u7684S3\u4e4b\u95f4\u8003\u8651\u4e00\u4e0b\uff0c\u51fa\u4e8e\u5982\u4e0b\u539f\u56e0\u8fd8\u662f\u9009\u62e9\u4e86S3\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7ad9\u70b9\u67b6\u8bbe\u5728AWS EC2\u4e0a\uff0c\u4f7f\u7528\u540c\u4e00\u4e2a\u8d26\u53f7\u7684\u7ba1\u7406\u8d44\u6e90\u66f4\u7b80\u5355<\/li>\n\n\n\n<li>\u81f3\u4e8e\u4e3a\u4ec0\u4e48\u4f7f\u7528EC2\uff0c\u53ef\u80fd\u662f\u56e0\u4e3a\u57df\u540d\u662f\u5728\u5916\u7f51\u6ce8\u518c\u7684\uff0c\u56fd\u5185\u4e3b\u673a\u89e3\u6790\u3001\u5907\u6848\u7b49\u5de5\u4f5c\u90fd\u6bd4\u8f83\u7e41\u7410\uff0c\u4e2a\u4eba\u7ad9\u70b9\u5c31\u4e0d\u6298\u817e\u4e86\uff0c\u968f\u4fbf\u73a9\u73a9\uff0c\u4e0d\u90a3\u4e48\u8ba4\u771f\u4e86<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2023\u5e7402\u6708 \u5bf9\u4e3b\u9898\u7684\u66f4\u65b0<\/h3>\n\n\n\n<p>\u4e3a\u4e86\u66f4\u597d\u7684\u9002\u5e94\u79fb\u52a8\u7aef\uff0c\u4ee5\u53ca\u63d0\u5347\u7ad9\u70b9\u7684\u901f\u5ea6\uff0c\u6700\u8fd1\u5c06\u4e3b\u9898\u66f4\u65b0\u4e3a<a rel=\"noreferrer noopener\" href=\"https:\/\/wordpress.org\/themes\/powder-news\/\" target=\"_blank\">Powder News<\/a>\u3002\u4e3a\u4e86\u66f4\u597d\u9002\u914d\u7ad9\u70b9\u7684\u5185\u5bb9\uff0c\u4e5f\u5bf9\u4e3b\u9898\u505a\u4e86\u4e00\u4e9b\u5b9a\u5236\u5316\uff0c\u8fd9\u91cc\u8bb0\u5f55\u5982\u4e0b\uff1a<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u9ed8\u8ba4\u5185\u5bb9\u5bbd\u5ea6\u8c03\u6574\u4e3a800px\u3002<\/h4>\n\n\n\n<p>\u8be5\u4e3b\u9898\u7684\u9ed8\u8ba4\u503c\u4e3a600px\uff0c\u9700\u8981\u5728\u63a7\u5236\u53f0\u7684<code>Tools-&gt;Theme File Editor-&gt;Theme.json<\/code>\uff08\u8fd9\u662f\u4e3b\u9898\u7684\u5168\u5c40\u914d\u7f6e\u6587\u4ef6\uff09\u4e2d\u4fee\u6539&#8221;layout-&gt;contentSize&#8221;\u7684\u503c\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"json\" class=\"language-json\">\t\t\"layout\": {\n\t\t\t\"contentSize\": \"800px\",\n\t\t\t\"wideSize\": \"1200px\"\n\t\t}<\/code><\/pre>\n\n\n\n<p>\u4fee\u6539\u8be5\u503c\u4e4b\u540e\uff0c\u8fd8\u53ef\u4ee5\u518d\u4fee\u6539\u5404\u4e2a\u6a21\u677f\uff08template\uff09\u5bf9\u5e94&#8221;\u5757&#8221;\u7684\u5bbd\u5ea6\uff0c\u6765\u8fdb\u884c\u5404\u4e2a\u6a21\u677f\u7ea7\u522b\u7684\u5bbd\u5ea6\u63a7\u5236\u3002\u4f46\u662f\u6a21\u677f\u5757\u4e2d\u7684\u5185\u5bb9\u5bbd\u5ea6\uff0c\u4e0d\u4f1a\u8d85\u8fc7\u4e0a\u9762\u7684<code>contentSize<\/code>\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u5173\u4e8eWordpress\u7684\u5757\u7f16\u8f91\u5668<\/h4>\n\n\n\n<p>WordPess\u7684\u5757\u7f16\u8f91\u5668\uff08\u4e5f\u53eb\u201cblock editor, WordPress editor or Gutenberg editor\u201d\uff09\u81ea\u57285.0\u7248\u672c\u96c6\u6210\u4ee5\u6765\uff0c\u52306.0\u7248\u672c\u91cc\u9762\u9010\u6b65\u6210\u719f\uff08<a rel=\"noreferrer noopener\" href=\"https:\/\/wordpress.org\/documentation\/article\/wordpress-block-editor\/\" target=\"_blank\">\u53c2\u8003<\/a>\uff09\uff0c\u73b0\u5728\u5df2\u7ecf\u6210\u4e3a\u6211\u7684\u9ed8\u8ba4\u7f16\u8f91\u5668\uff0c\u5728\u4e60\u60ef\u4e86\u65b0\u7f16\u8f91\u5668\u4e4b\u540e\uff0c\u53d1\u73b0\u8be5\u7f16\u8f91\u5668\u8981\u6bd4\u4e4b\u524d\u7f16\u8f91\u5668\u5f3a\u592a\u591a\u4e86\uff0c\u8be5\u7f16\u8f91\u5668\u53ef\u4ee5\u8ba9\u6587\u7ae0\u5185\u5bb9\u683c\u5f0f\u66f4\u52a0\u4e30\u5bcc\uff0c\u66f4\u52a0\u9002\u5e94\u79fb\u52a8\u7aef\uff0c\u540c\u65f6\u4e5f\u8ba9WordPress\u7684\u4e3b\u9898\/\u9875\u9762\u66f4\u5177\u53ef\u5b9a\u5236\u6027\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">WordPress\u7684\u6a21\u677f<\/h4>\n\n\n\n<p>WordPess\u5728\u63a5\u53d7\u5230\u9875\u9762\u8bf7\u6c42\u540e\uff0c\u90fd\u4f1a\u5c1d\u8bd5\u5339\u914d\u4e00\u4e2a\u9875\u9762\u6a21\u677f\uff0c\u4ee5\u51b3\u5b9a\u5982\u4f55\u6e32\u67d3\u8be5\u9875\u9762\u7684\u5c55\u793a\u3002\u5177\u4f53\u7684\uff0cWordPress\u4f1a\u6839\u636e\u6a21\u677f\u7ee7\u627f\u5173\u7cfb\u51b3\u5b9a\u67d0\u4e2a\u5177\u4f53\u7684\u8bf7\u6c42\u4f7f\u7528\u54ea\u4e2a\u6a21\u677f\uff1a<a rel=\"noreferrer noopener\" href=\"https:\/\/developer.wordpress.org\/themes\/basics\/template-hierarchy\/\" target=\"_blank\">Template Hierarchy<\/a>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e00\u822c\u7684\uff0c\u6bcf\u4e2a\u9875\u9762\u90fd\u4f1a\u6709\u4e00\u4e2a\u9ed8\u8ba4\u7684\u6a21\u677f\uff1b<\/li>\n\n\n\n<li>\u5728\u7f16\u8f91\u6bcf\u4e2a\u9875\u9762\u7684\u53f3\u4fa7\uff0c\u6709\u4e00\u4e2a&#8221;Page&#8221;\u9009\u9879\u5361\uff0c\u53ef\u4ee5\u4fee\u6539\u8be5\u9875\u9762\u7684\u6a21\u677f\uff1b<\/li>\n\n\n\n<li>\u5426\u5219\uff0cWordPress\u5219\u4f1a\u6839\u636e<a rel=\"noreferrer noopener\" href=\"https:\/\/developer.wordpress.org\/themes\/basics\/template-hierarchy\/\" target=\"_blank\">Template Hierarchy<\/a>\u9009\u62e9\u4e00\u4e2a\u6a21\u677f<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u65b0\u589e\u81ea\u5b9a\u4e49\u6a21\u677f<\/h4>\n\n\n\n<p>\u8fd9\u6b21\u8c03\u6574\u4e2d\uff0c\u5728<a rel=\"noreferrer noopener\" href=\"https:\/\/wordpress.org\/themes\/powder-news\/\" target=\"_blank\">Powder News<\/a>\u4e3b\u9898\u4e2d\u65b0\u589e\u4e86\u5982\u4e0b\u6a21\u677f\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u65b0\u589e\u4e86\u7b80\u5316\u5934\u90e8\uff08header\uff09\u7684\u6a21\u677f\uff0c\u7528\u4e8e\u8bf8\u5982<a href=\"https:\/\/www.orczhou.com\/index.php\/high-performance-mysql\/\">\u9ad8\u6027\u80fdMySQL<\/a>\u3001<a href=\"https:\/\/www.orczhou.com\/index.php\/ninedata\/\">NineData<\/a>\u7b49\u8f83\u4e3a\u72ec\u7acb\u7684\u9875\u9762\u5c55\u793a<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u4fee\u6539\u5b57\u4f53<\/h4>\n\n\n\n<p>\u8fd9\u662f\u4e00\u4e2a\u5168\u5c40\u7684\u4fee\u6539\uff08<a rel=\"noreferrer noopener\" href=\"https:\/\/segmentfault.com\/a\/1190000006110417\" target=\"_blank\">\u53c2\u8003<\/a>\uff09\uff0c\u4e4b\u524d\u5728\u4e3b\u9898\u6587\u4ef6\u4e2d\u505a\u8fc7\u4e00\u6b21\u4fee\u6539\uff0c\u4f3c\u4e4e\u5728\u6700\u8fd1\u4e00\u6b21\u4e3b\u9898\u66f4\u65b0\u4e2d\u88ab\u8986\u76d6\u4e86\uff0c\u518d\u6b21\u4fee\u6539\u4e86\u4e3b\u9898\u6587\u4ef6style.css\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"css\" class=\"language-css\">body{\n    font-family: \"Helvetica Neue\", Helvetica, Arial, \"PingFang SC\", \"Hiragino Sans GB\", \"Heiti SC\", \"Microsoft YaHei\", \"WenQuanYi Micro Hei\", sans-serif;\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2022\u5e7412\u6708 \u66f4\u6362\u4e3b\u9898\/\u5347\u7ea7EC2<\/h3>\n\n\n\n<p>\u8fd9\u6b21\u5bf9\u505a\u4e86\u6bd4\u8f83\u5927\u7684\u6539\u53d8\uff0c\u5305\u62ec\u66f4\u6362\u4e3b\u9898(\u66f4\u597d\u7684\u9002\u914d\u79fb\u52a8\u7aef)\u3001\u5347\u7ea7EC2\u3001\u4f7f\u7528Elatsic IP\u3001\u8c03\u6574\u4e86php-fpm\u3001prefork\u7684\u4e00\u4e9b\u53c2\u6570\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9996\u5148\uff0c\u5c06EC2\u4e3b\u673a\u5347\u7ea7\u5230t3.medium 2c4g\u4e86\uff08\u539f\u6765\u662f1c2gb\uff0c\u800c\u5076\u5c14\u4f1a\u51fa\u73b0Out of memory\u7684\u95ee\u9898\uff09\uff0c\u5e76\u4f7f\u7528\u4e00\u4e2aElastic IP\u907f\u514d\u6bcf\u6b21\u91cd\u542f\u540eIP\u53d8\u5316\uff0c\u7136\u540e\u9700\u8981\u66f4\u6539DNS\u89e3\u6790\u7684\u95ee\u9898<\/li>\n\n\n\n<li>\u4ece\u539f\u6765\u4f7f\u7528\u4e8610\u5e74\u7684Prower\u4e3b\u9898\u66f4\u6362\u4e3a\u73b0\u5728\u7684Powder\u3002\u4e24\u4e2a\u4e3b\u9898\u540d\u5b57\u770b\u8d77\u6765\u6709\u70b9\u50cf\uff0c\u4f46\u662f\u4f3c\u4e4e\u6ca1\u6709\u4efb\u4f55\u5173\u8054\u3002<\/li>\n\n\n\n<li>\u4e3a\u4e86\u66f4\u597d\u7684\u4f7f\u7528\u5185\u5b58\uff0c\u5219\u9002\u5f53\u8c03\u5927\u4e86httpd\u3001php-fpm\u7684\u5e76\u53d1\u53c2\u6570<\/li>\n\n\n\n<li>\u53e6\u5916\uff0c\u4e5f\u5bf9\u4e3b\u9898\u505a\u4e86\u4e00\u4e9b\u5b9a\u5236\uff0c\u5305\u62ec\u8c03\u6574\u5b57\u4f53\u3001\u5360\u5bbd\u7b49\u7b49\u95ee\u9898\u3002<\/li>\n\n\n\n<li>\u540e\u7eed\u518d\u8bb0\u5f55\u8f83\u4e3a\u8be6\u7ec6\u7684\u8c03\u6574\u548c\u8bf4\u660e\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u4fee\u6539Wordpress Block Theme\u4e3b\u9898<\/h4>\n\n\n\n<p>wordpress\u57285.9\u4e4b\u540e\u5f00\u59cb\u652f\u6301\u65b0\u7684Block Theme\u4e3b\u9898\uff0c\u4e3b\u9898\u6709\u66f4\u5f3a\u7684\u53ef\u5b9a\u5236\u6027\uff0c\u66f4\u597d\u7684\u5229\u7528\u4e86\u5757\u7f16\u8f91\u5668\u7684\u7279\u70b9\u3002\u4e0a\u624b\u6709\u4e00\u70b9\u70b9\u96be\u5ea6\uff0c\u4f46\u662f\u4e4b\u540e\uff0c\u5c31\u53d1\u73b0\uff0c\u8fd8\u662f\u975e\u5e38\u597d\u7528\u7684\u3002\u8fd9\u6b21\u5bf9\u4e3b\u9898\u505a\u4e86\u5f88\u591a\u8c03\u6574\uff0c\u8fd9\u91cc\u7b80\u5355\u8bb0\u5f55\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u628a\u9ed8\u8ba4\u9875\u9762\u5bbd\u5ea6\u4ece600\u8c03\u6574\u4e3a\u4e86800px\uff0c\u8be5\u4fee\u6539\u5728theme.json\u6587\u4ef6\u4e2d\u7684<code>settings.layout.contentSize<\/code>\u5904\u4fee\u6539\u3002<\/li>\n\n\n\n<li>\u65b0\u589e\u4e86\u4e00\u4e2atemplate\uff08\u9875\u9762\u6a21\u677f\uff09db-news\uff0c\u4e91\u6570\u636e\u5e93\u6280\u672f\u7b49\u9875\u9762\u4f7f\u7528\u4e86\u8be5\u6a21\u677f<\/li>\n\n\n\n<li>\u4fdd\u7559\u4e86\u4e4b\u524d\u6a21\u677f\u7684\u5b9a\u5236css\uff0c\u5982<code>.mycode .t3<\/code>\u7b49<\/li>\n\n\n\n<li>\u8fd8\u4fee\u6539\u6a21\u677f\u90e8\u5206\u5b57\u4f53\u3001padding\u3001header\u3001footer\u7b49\u5730\u65b9<\/li>\n\n\n\n<li>\u4e3a\u4e86\u9002\u914dEvent Calendar\u63d2\u4ef6\uff0c\u5728ssl.conf\u4e2d\u65b0\u589e\u5982\u4e0b\u91cd\u5b9a\u5411\u4ee3\u7801\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"apacheconf\" class=\"language-apacheconf\">RewriteEngine on\nRewriteRule ^\/events\/([a-z\/.]*)$ \/index.php\/events\/$1 [R=301,L]<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">httpd\u3001php-fpm\u5e76\u53d1\u63a7\u5236\u53c2\u6570\u8c03\u6574<\/h4>\n\n\n\n<p>\u9274\u4e8e\u7ecf\u5e38\u53d1\u751fOOM\uff0c\u4e0d\u5f97\u4e0d\u5173\u5fc3\u4e00\u4e0b\uff0c\u8fdb\u7a0b\u7684\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\uff0c\u53d1\u73b0\uff0c\u540e\u53f0\u7ecf\u5e38\u51fa\u73b0\u8d8590\u4e2ahttpd\u7ebf\u7a0b\uff0c\u5e94\u8be5\u662fhttpd\u7684\u8fdb\u7a0b\u7ba1\u7406\u6ca1\u6709\u914d\u7f6e\u3002\u8fd9\u91cc\u7b80\u8981\u8bb0\u5f55\u914d\u7f6e\u7684\u4e3b\u8981\u8fc7\u7a0b\uff0c\u4ee5\u4fbf\u540e\u7eed\u53c2\u8003\u3002<\/p>\n\n\n\n<p>\u5e38\u89c1\u7684\u8fdb\u7a0b\u7ba1\u7406\u6a21\u5757\u6709\u4e09\u79cdprefork\u3001worker\u3001event\uff0c\u9996\u5148\uff0c\u5148\u786e\u8ba4\u5f53\u524d\u7684httpd\u4f7f\u7528\u7684\u662f\u54ea\u4e2aMPM\u6a21\u5757\u505a\u8fdb\u7a0b\u7ba1\u7406\u3002\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">httpd -v\nServer version: Apache\/2.4.48 ()\n[ec2-user@ip-172-31-22-199 ~]$ httpd -V\nServer version: Apache\/2.4.48 ()\nServer's Module Magic Number: 20120211:105\n...\nServer MPM:     prefork\n  threaded:     no\n    forked:     yes (variable process count)\nServer compiled with....\n -D APR_HAS_SENDFILE\n -D APR_HAS_MMAP\n -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)\n -D APR_USE_SYSVSEM_SERIALIZE\n -D APR_USE_PTHREAD_SERIALIZE\n -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT\n -D APR_HAS_OTHER_CHILD\n -D AP_HAVE_RELIABLE_PIPED_LOGS\n -D DYNAMIC_MODULE_LIMIT=256\n -D HTTPD_ROOT=\"\/etc\/httpd\"\n -D SUEXEC_BIN=\"\/usr\/sbin\/suexec\"\n -D DEFAULT_PIDLOG=\"\/run\/httpd\/httpd.pid\"\n -D DEFAULT_SCOREBOARD=\"logs\/apache_runtime_status\"\n -D DEFAULT_ERRORLOG=\"logs\/error_log\"\n -D AP_TYPES_CONFIG_FILE=\"conf\/mime.types\"\n -D SERVER_CONFIG_FILE=\"conf\/httpd.conf\"<\/code><\/pre>\n\n\n\n<p>\u8fd9\u91cc\u4f7f\u7528prefork\uff0c\u7136\u540e\u53c2\u8003prefork\u6a21\u5757\u8bf4\u660e\uff08<a rel=\"noreferrer noopener\" href=\"https:\/\/httpd.apache.org\/docs\/2.4\/mod\/prefork.html\" target=\"_blank\">\u53c2\u8003<\/a>\uff09\uff0c\u5148\u627e\u5230\u914d\u7f6e\u6587\u4ef6\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">[ec2-user@ip-172-31-22-199 httpd]$ grep -r \"prefork\" .\/\n.\/conf.d\/php.conf:# mod_php is only used when explicitly enabled or httpd switch to prefork mode\n.\/conf.modules.d\/01-cgi.conf:# with a threaded MPM; mod_cgi with the prefork MPM.\n.\/conf.modules.d\/01-cgi.conf:&lt;IfModule mpm_prefork_module&gt;\n.\/conf.modules.d\/15-php.conf:    &lt;IfModule prefork.c&gt;\n.\/conf.modules.d\/15-php.conf:  &lt;IfModule !prefork.c&gt;\n.\/conf.modules.d\/00-mpm.conf:# prefork MPM: Implements a non-threaded, pre-forking web server\n.\/conf.modules.d\/00-mpm.conf:# See: http:\/\/httpd.apache.org\/docs\/2.4\/mod\/prefork.html\n.\/conf.modules.d\/00-mpm.conf:# NOTE: If enabling prefork, the httpd_graceful_shutdown SELinux\n.\/conf.modules.d\/00-mpm.conf:LoadModule mpm_prefork_module modules\/mod_mpm_prefork.so<\/code><\/pre>\n\n\n\n<p>\u4fee\u6539prefork\u914d\u7f6e\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"apacheconf\" class=\"language-apacheconf\">&lt;IfModule prefork.c&gt;\nStartServers       12\nMinSpareServers    3\nMaxSpareServers    12\nMaxRequestWorkers  30\nMaxRequestsPerChild  4000\n&lt;\/IfModule&gt;<\/code><\/pre>\n\n\n\n<p>\u53ef\u4ee5\u901a\u8fc7\u91cd\u542fhttpd\u6765\u770b\u8be5\u914d\u7f6e\u662f\u5426\u5df2\u7ecf\u751f\u6548\uff0c\u91cd\u542f\u4e4b\u540e\uff0chttpd\u8fdb\u7a0b\u6570\u5e94\u8be5\u662f12+1\u4e2a\u8fdb\u7a0b\uff0c\u8fdb\u7a0b\u6700\u591a\u5e94\u8be5\u662f30\u4e2a\u3002\u597d\u7684\uff0c\u540e\u7eed\u518d\u89c2\u5bdf\u4e00\u4e0b\u662f\u5426\u8fd8\u4f1a\u51fa\u73b0OOM\u7684\u60c5\u51b5\u3002\u56e0\u4e3a\uff0cMaxRequestWorkers\u7684\u9ed8\u8ba4\u503c\u662f256\uff0c\u6240\u4ee5\u5982\u679c\u4e0d\u52a0\u914d\u7f6e\uff0c\u5728\u6211\u76841GB\u5185\u5b58\u7684\u673a\u5668\u4e0a\uff0c\u8fd8\u662f\u5f88\u5bb9\u51fa\u73b0OOM\u7684\u3002\u540e\u7eed\u518d\uff0c\u89c2\u5bdf\u4e00\u4e0b\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u65b0\u65e7\u4e3b\u9898\u7684\u5bf9\u6bd4<\/h4>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f3982764683&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f3982764683\" class=\"wp-block-image size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/blog-images-orczhou.s3.ap-east-1.amazonaws.com\/2023-02\/blogsite-old-look-archive-202211.png\" alt=\"\"\/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">2009-05<\/figcaption><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f39827649b8&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f39827649b8\" class=\"wp-block-image size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/blog-images-orczhou.s3.ap-east-1.amazonaws.com\/2023-02\/blogtheme-new-look-202212.png\" alt=\"\"\/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">2022-12<\/figcaption><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f398276503b&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f398276503b\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"751\" height=\"1024\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"22149\" src=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-2-751x1024.png\" alt=\"\" class=\"wp-image-22149\" srcset=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-2-751x1024.png 751w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-2-220x300.png 220w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-2-768x1048.png 768w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-2.png 972w\" sizes=\"auto, (max-width: 751px) 100vw, 751px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">2024-07<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"751\" height=\"1024\" src=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-2-751x1024.png\" alt=\"\" class=\"wp-image-22149\" srcset=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-2-751x1024.png 751w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-2-220x300.png 220w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-2-768x1048.png 768w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2026\/01\/image-2.png 972w\" sizes=\"auto, (max-width: 751px) 100vw, 751px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">2021\u5e7412\u6708 \u4f7f\u7528\u63d2\u4ef6Code Syntax Block\u9ad8\u4eae\u4ee3\u7801<\/h3>\n\n\n\n<p>\u5728\u4e60\u60ef\u65b0\u7684\u5757\u7f16\u8f91\u5668\u4e4b\u540e\uff0c\u5c1d\u8bd5\u4f7f\u7528\u63d2\u4ef6Code Syntax Block\u6765\u7f8e\u5316\/\u683c\u5f0f\u5316\/\u9ad8\u4eae\u4ee3\u7801\u5c55\u793a\u3002\u63d2\u4ef6\u5b89\u88c5\u4e0a\u4e4b\u540e\uff0c\u53d1\u73b0\u51e0\u4e2a\u95ee\u9898\uff1a<\/p>\n\n\n\n<p>1. \u65e0\u6cd5\u7b80\u5355\u7684\u5bfc\u5165\u65b0prism\u4e3b\u9898<\/p>\n\n\n\n<p>2. \u4fee\u6539\u63d2\u4ef6\u4e3b\u9898\u4e2d\u7684\u5b57\u4f53\u4e4b\u540e\uff0c\u53d1\u73b0\u5e76\u4e0d\u751f\u6548\uff08\u6ce8\uff1a\u60f3\u7528\u4e00\u4e2a\u7b49\u5bbd\/monospace\u5b57\u4f53\uff09<\/p>\n\n\n\n<p>\u82b1\u4e86\u51e0\u4e2a\u5c0f\u65f6\u6765\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff0c\u8bb0\u5f55\u5982\u4e0b\u3002<\/p>\n\n\n\n<p>\u5148\u770b\u770b\u7b2c\u4e8c\u4e2a\u95ee\u9898\uff1a\u4e3a\u4ec0\u4e48\u4fee\u6539\u4e86\u4e3b\u9898\u4e2d\u7684\u5b57\u4f53\u76f8\u5173\u7684CSS\u5e76\u4e0d\u751f\u6548\uff1f\u901a\u8fc7\u8c03\u8bd5\u53d1\u73b0\uff0c\u662f\u88ab\u4e3b\u9898\u4e2d\u7684\u5168\u5c40\u5b57\u4f53\u8bbe\u7f6e\u8986\u76d6\u4e86\u3002\u4e8e\u662f\u65b0\u589e\u4e86\u4f18\u5148\u7ea7\u66f4\u9ad8\u7684CSS\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"css\" class=\"language-css\">## \u6211\u8fd9\u91ccCSS\u6587\u4ef6\u4e3a\uff1avim prism-duotone-sea.css \uff08\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u7f16\u8f91\u6b63\u786e\u7684CSS\u6587\u4ef6\uff09\ncode[class*=\"language-\"],\npre[class*=\"language-\"] *{\n    font-family: Menlo, Monaco, \"Courier New\", monospace !important;\n}<\/code><\/pre>\n\n\n\n<p>\u5728\u91cd\u65b0\u5237\u65b0\u7f13\u5b58\uff08shift+command+r\uff09\u540e\uff0c\u67e5\u770b\u662f\u6709\u6548\u7684\u3002<\/p>\n\n\n\n<p>\u518d\u6765\u770b\u770b\u7b2c\u4e00\u4e2a\u95ee\u9898\uff0c\u63d2\u4ef6\u7684\u4f5c\u8005\u4f3c\u4e4e\u662f\u505a\u4e86\u4e00\u4e9b\u786c\u7f16\u7801\u7684\uff08\u53c2\u8003index.js\uff09\u6216\u8005\u5c31\u4e0d\u652f\u6301\u6269\u5c55\uff0c\u6240\u4ee5\u7b80\u5355\u9605\u8bfb\u4ee3\u7801\u540e\u505a\u4e86\u4e00\u4e9b\u6269\u5c55\u3002<\/p>\n\n\n\n<p>\u9996\u5148\uff0c\u5728build\/index.js\u7684\u627e\u5230\u63d2\u4ef6\u5c55\u793a\u7684\u6570\u7ec4\uff0c\u65b0\u589e\u9700\u8981\u6dfb\u52a0\u7684\u6570\u7ec4\uff1a\uff0c\u65b0\u589e\u4e86\u5927\u6982\u8fd9\u4e00\u5c0f\u6bb5\u5143\u7d20\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">{label:\"duotone\",value:\"prism-duotone-sea\"}<\/code><\/pre>\n\n\n\n<p>\u8fd8\u9700\u8981\u4fee\u6539\u63d2\u4ef6\u7684\u63d2\u4ef6\u7684index.php\u6587\u4ef6\uff0c\u5728\u521d\u59cb\u5316\u4e3b\u9898\u6570\u7ec4\u4e2d\u65b0\u589e\u4f60\u6dfb\u52a0\u7684\u4e3b\u9898\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">\/ \u6ce8\uff1a\u4e0b\u9762\u4ee3\u7801\u4e2d\u6570\u7ec4\u5143\u7d20'prism-duotone-sea'\u4e3a\u65b0\u589e\nconst MKAZ_CODE_SYNTAX_COLOR_SCHEMES = ['prism-a11y-dark', 'prism-duotone-sea','prism-ghcolors', 'prism-nord', 'prism-onedark'];<\/code><\/pre>\n\n\n\n<p>\u5982\u6b64\uff0c\u65b0\u6dfb\u52a0\u7684\u4e3b\u9898\u5c31\u53ef\u4ee5\u6b63\u5e38\u5de5\u4f5c\u4e86\u3002\u54ce\uff0c\u60f3\u8981\u9ad8\u4eae\u7684\u3001\u4f7f\u7528\u7b49\u5bbd\u5b57\u4f53\uff08monospace\uff09\u7684\u4ee3\u7801\u5c55\u793a\uff0c\u5e76\u4e0d\u5bb9\u6613\uff0c\u5927\u6982\u82b1\u4e862.5\u5c0f\u65f6\u628a\uff0c\u6545\u6b64\u8bb0\u5f55\uff0c\u4ee5\u4fbf\u540e\u7eed\u6301\u7eed\u7ef4\u62a4\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2021\u5e7409\u6708 \u8fc1\u79fb\u5230Amazon Linux 2<\/h3>\n\n\n\n<p>\u770b\u8d77\u6765\u5f88\u7b80\u5355\uff0c\u4f46\u662f\u8fd8\u662f\u641e\u4e86\u5927\u69823-4\u4e2a\u5c0f\u65f6\u5427\uff0c\u6545\u8bb0\u5f55\u5982\u4e0b\u3002<\/p>\n\n\n\n<p>\u6700\u65b0\u7684Wordpress\u63a8\u8350\u4f7f\u7528PHP 7.4\u4ee5\u4e0a\u7684\u7248\u672c\uff0c\u624d\u80fd\u6bd4\u8f83\u597d\u7684\u4f7f\u7528\u6700\u65b0\u7684\u5757\u7f16\u8f91\u5668\uff1b\u53e6\u5916\uff0c\u6700\u8fd1\u8981\u5b89\u88c5\u4e00\u4e2aResume\u63d2\u4ef6\u4e5f\u9700\u8981php 5.7\u4ee5\u4e0a\u7684\u7248\u672c\uff1b\u53e6\u5916\uff0cAmazon Linux\u57282020\u5e74\u5e95\u5df2\u7ecf\u505c\u6b62\u4e86\u6807\u51c6\u652f\u6301\uff08standard support\uff09\uff0c\u8fdb\u5165\u4e86\u7ef4\u62a4\u652f\u6301\u7684\u9636\u6bb5\uff08maintenance support phase\uff0c\u53c2\u8003\uff09\u3002\u611f\u89c9\uff0c\u662f\u65f6\u5019\u5347\u7ea7\u4e00\u4e0bEC2\u7684\u4e3b\u673a\u4e86\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u8d2d\u4e70\u65b0\u4e3b\u673aEC2\u4e3b\u673a<\/h4>\n\n\n\n<h4 class=\"wp-block-heading\">\u5b89\u88c5httpd\u3001mysql-server\u3001php<\/h4>\n\n\n\n<p>Amazon Linux 2\u662f\u4e00\u4e2a\u7c7b\u4f3cRHEL\/Centos\/Fedora\u7684\u53d1\u884c\u7248\u672c\uff0c\u6545\u4f7f\u7528\u7c7b\u4f3c\u7684\u65b9\u6cd5\u5b89\u88c5\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">rpm -E %{rhel}\n7\n\ncat \/etc\/os-release\nNAME=\"Amazon Linux\"\nVERSION=\"2\"\nID=\"amzn\"\nID_LIKE=\"centos rhel fedora\"\nVERSION_ID=\"2\"\nPRETTY_NAME=\"Amazon Linux 2\"\nANSI_COLOR=\"0;33\"\nCPE_NAME=\"cpe:2.3:o:amazon:amazon_linux:2\"\nHOME_URL=\"https:\/\/amazonlinux.com\/\"<\/code><\/pre>\n\n\n\n<p>\u5b89\u88c5httpd\uff08\u9ed8\u8ba4\u5b89\u88c5\u7248\u672c\u662f\uff1a2.4.48-2.amzn2\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">sudo yum install httpd<\/code><\/pre>\n\n\n\n<p>\u5b89\u88c5MySQL\uff1aMySQL\u7684\u6309\u7167\u8fd8\u662f\u6bd4\u8f83\u590d\u6742\u7684\uff0c\u5b98\u65b9\u7684MySQL\u5df2\u7ecf\u4e0d\u5728\u4e00\u822c\u7684\u9ed8\u8ba4\u516c\u5171yum\u4ed3\u5e93\u4e2d\uff0c\u800c\u662f\u9700\u8981\u5355\u72ec\u914d\u7f6eOracle\u5b98\u65b9\u7684yum\u4ed3\u5e93\u3002MariaDB\u4e00\u822c\u90fd\u662f\u5728\u7684\uff0c\u4e5f\u8bb8\u4e0b\u4e00\u6b21\u5347\u7ea7\u7684\u65f6\u5019\u5c31\u4f1a\u628aWordpress\u8fd0\u884c\u5728MariaDB\u4e0a\u4e86\u3002\u6682\u65f6\u8fd8\u662f\u5148\u7528MySQL\u5427\u3002<\/p>\n\n\n\n<p>\u5b98\u65b9MySQL\u7684\u8be6\u7ec6\u5b89\u88c5\u8bf4\u660e\uff1a<a href=\"https:\/\/dev.mysql.com\/doc\/mysql-yum-repo-quick-guide\/en\/\" target=\"_blank\" rel=\"noopener noreferrer\">A Quick Guide to Using the MySQL Yum Repository<\/a>\u3002\u5177\u4f53\u7684\u6b65\u9aa4\u5982\u4e0b\u3002<\/p>\n\n\n\n<p>\u5b89\u88c5\u5e76\u542f\u7528\u76f8\u5173MySQL\u7684YUM\u4ed3\u5e93\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm\nyum repolist all | grep mysql\n\n\u6253\u5f00MySQL 5.7\uff08\u9ed8\u8ba4\u53ef\u80fd\u662f8.0\uff09\uff1a\nsudo yum-config-manager --enable mysql57-community\n\n\u6216\u8005\u901a\u8fc7\u7f16\u8f91mysql\u4ed3\u5e93\u5217\u8868\u6587\u4ef6\u7684\u65b9\u5f0f\uff1a\nsudo vim \/etc\/yum.repos.d\/mysql-community.repo\n-- \u6253\u5f00MySQL 5.7\u5bf9\u5e94block\u7684\u53c2\u6570enable=1\n\nsudo yum install mysql-community-server\n\nmysql -V\nmysql Ver 14.14 Distrib 5.7.35, for Linux (x86_64) using EditLine wrapper<\/code><\/pre>\n\n\n\n<p>\u542f\u52a8\u5e76\u521d\u59cb\u5316MySQL\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">sudo service mysqld start\nRedirecting to \/bin\/systemctl start mysqld.service\n\n--\u627e\u5230MySQL root\u7684\u521d\u59cb\u5bc6\u7801\nsudo cat \/var\/log\/mysqld.log |grep pass\n\n\u4e3a\u4e86\u7b80\u5316\u628a\u672c\u5730\u5bc6\u7801\u8bbe\u7f6e\u4e3a\u7a7a\u4e86\uff0c\u524d\u63d0\u662f\u9700\u8981\u5728my.cnf\u4e2d\u914d\u7f6e\u5982\u4e0b\u53c2\u6570\uff1a\nvalidate-password=OFF\n\u65b0\u589e\u4e86\u81ea\u52a8\u6e05\u9664binary log\u7684\u53c2\u6570\uff1a\nexpire_logs_days=5<\/code><\/pre>\n\n\n\n<p>\u5b89\u88c5php7.4\uff1a\u9ed8\u8ba4\u5b89\u88c5\u7684php\u7248\u672c\u65f6\u6bd4\u8f83\u4f4e\u7684\uff0c\u9700\u8981\u4f7f\u7528amazon-linux-extra\u547d\u4ee4\u5b89\u88c5\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">sudo amazon-linux-extras enable php7.4\n\nyum install php\n\n\u53e6\u5916\uff0c\u4e00\u4e9b\u76f8\u5173\u7684\u5305\u4e5f\u90fd\u8981\u5b89\u88c5\uff1a\nyum install php-cli php-pdo php-fpm php-json php-mysqlnd<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u914d\u7f6eWeb Server,\u5b89\u88c5Wordpress<\/h4>\n\n\n\n<p>\u5728httpd\u914d\u7f6e\u4e2d\u65b0\u589e\u7ad9\u70b9\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u5e76\u5c06\u539f\u6765\u7684\u7ad9\u70b9\u76ee\u5f55\u6587\u4ef6\u90fd\u62f7\u8d1d\u65b0\u4e3b\u673a\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"apacheconf\" class=\"language-apacheconf\"># DumpIOInput On\n# DumpIOOutput On\n# LogLevel debug\n# DumpIOLogLevel debug\nServerAdmin orczhou@gmail.com\nDocumentRoot \/var\/www\/orczhou.com\nServerName www.orczhou.com\nRedirect permanent \/ https:\/\/www.orczhou.com\/\nErrorLog logs\/orczhou.com-error_log\nCustomLog logs\/orczhou.com-access_log common\n\nOptions Indexes FollowSymLinks\nAllowOverride None\nOrder allow,deny\nAllow from all<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u5c06MySQL\u4e2d\u7684\u6570\u636e\u5bfc\u5165\u65b0\u7684\u6570\u636e\u5e93<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">source \/var\/www\/backup.blog.210915\/wp_orczhou.210915.sql\n\n\u8bbe\u7f6e\u6570\u636e\u5e93\u7684\u8d26\u53f7\u548c\u5bc6\u7801\uff1a\nGRANT ALL PRIVILEGES ON wp_orczhou.* TO 'wp_orczhou'@'localhost' identified by '****';<\/code><\/pre>\n\n\n\n<p>\u6700\u540e\u914d\u7f6eSSL\uff1a\u6309\u7167\u76f8\u5173httpd\u6a21\u5757\uff0c\u5e76\u628a\u9700\u8981\u7684\u4e24\u4e2a\u79d8\u94a5\u6587\u4ef6\u62f7\u8d1d\u5230\u5bf9\u5e94\u7684\u76ee\u5f55\u4e0b\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">yum install mod_ssl\nservice httpd restart<\/code><\/pre>\n\n\n\n<p>\u6700\u540e\uff0c\u6d4b\u8bd5\u5b8c\u6210\u540e\uff0c\u518d\u5207\u6362\u57df\u540d\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2021\u5e7409\u6708 \u65b0\u589e\u4e86resume builder\u63d2\u4ef6<\/h3>\n\n\n\n<p>\u65b0\u589e\u4e86\u8be5\u63d2\u4ef6\u4e4b\u540e\uff0c\u4e3a\u4e86\u66f4\u597d\u5730\u9002\u914d\u4e2d\u6587\u7b80\u5386\uff0c\u5e76\u5bf9\u6837\u5f0f\u505a\u4e00\u4e9b\u5fae\u8c03\uff0c\u5bf9\u4e3b\u9898\u4e2d\u7684header.php\u505a\u4e86\u5982\u4e0b\u4fee\u6539\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">&lt;!--added by orczhou@2021--&gt;\n&lt;?php\n\/*\n* Check if this is a page in \"resume builder \" page\n*\n* *\/\nglobal $post;\n\/\/print_r($post);\nif($post-&gt;post_type == \"rb_resume\"){\necho &lt;&lt;&lt;EOT\n&lt;style&gt;\n#header { display: none;}\n#footerbox { display: none;}\n#single-post-title { display: none;}\n#single-post-title-comment { display: none;}\n#blogImg {display:none;}\n#single-page-comments {display:none;}\n.rbt-header .rbt-name {display:none;}\n.rb-template-default .rbt-contact-info {margin-top:5px;margin-bottom: 15px;}\n.rb-template-default .rbt-section-heading {margin-bottom:5px;}\n.rb-template-default .rbt-history-blocks .rbt-history-block .rbt-history-place-time&gt;span{ font-weight:normal; }\n.rb-template-default .rbt-history-blocks .rbt-history-block .rbt-history-job-degree {font-size:14px;}\n.rbt-history-description ul {margin-left: 0px; padding-left: 0px;}\nhtml { margin-top: 1px !important; }\n.rb-template-default .rbt-history-blocks .rbt-history-block .rbt-history-job-degree::after{top:5px;}\n.rbt-header-wrapper {align-items: center;}\n&lt;\/style&gt;\nEOT;\n}\n?&gt;\n&lt;!--END added by orczhou--&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2020\u5e7403\u670830\u65e5 \u535a\u5ba2\u5347\u7ea7\u4e3ahttps\u652f\u6301<\/h3>\n\n\n\n<p>\u5177\u4f53\u53ef\u4ee5\u53c2\u8003\uff1a<a href=\"https:\/\/www.orczhou.com\/index.php\/2020\/03\/httpd-wordpress-upgrade-to-https\/\" target=\"_blank\" rel=\"noopener noreferrer\">\u57fa\u4e8ehttpd\u7684wordpress\u7ad9\u70b9\u5347\u7ea7\u4e3ahttps<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2019\u5e7412\u670801\u65e5 \u6587\u4ef6\u4e0a\u4f20\u9650\u5236\u4fee\u6539\u4e3a25MB<\/h3>\n\n\n\n<p>\u5206\u522b\u4fee\u6539php.ini\u4e2d\u6587\u4ef6\u7684\uff1apost_max_size = 25M upload_max_filesize = 25M<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">sudo vim \/etc\/php.ini \nupload_max_filesize = 25M\npost_max_size = 25M<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2018\u5e7407\u670823\u65e5 \u4f7f\u7528fail2ban\u81ea\u52a8\u5316\u4e00\u4e9bBAN<\/h3>\n\n\n\n<p>httpd\u7684\u8bbf\u95ee\u65e5\u5fd7\u4e2d\uff0c\u6709\u4e00\u4e9b\u5f02\u5e38\u7684\u8bbf\u95ee\uff0c\u4f1a\u5bfc\u81f4httpd\u538b\u529b\u6bd4\u8f83\u5927\uff0c\u4f46\u662f\u8fd9\u4e9bIP\u770b\u8d77\u6765\u662f\u67d0\u4e2a\u81ea\u52a8\u5316\u7684\u7a0b\u5e8f\u53d1\u9001\u8fc7\u6765\u7684\uff0c\u800c\u4e14\u6301\u7eed\u53d8\u5316\uff0c\u65e0\u6cd5\u624b\u52a8ban\uff0c\u53ea\u80fd\u627e\u4e00\u4e2a\u81ea\u52a8\u5316\u7684\u7a0b\u5e8f\uff0c\u8fd9\u91cc\u4f7f\u7528fail2ban\uff0c\u770b\u8d77\u6765\u5de5\u4f5c\u7684\u8fd8\u53ef\u4ee5\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">sudo yum install fail2ban\n\n\u65e5\u5fd7\u4fe1\u606f\n112.111.185.113 - - [23\/Jul\/2018:02:23:34 +0000] \"GET \/index.php\/2011\/09\/thanks-percona-response-time-distribution HTTP\/1.1\" 301 -\n112.111.185.113 - - [23\/Jul\/2018:02:23:34 +0000] \"GET \/index.php\/2011\/09\/thanks-percona-response-time-distribution\/ HTTP\/1.1\" 200 28759\n112.111.185.113 - - [23\/Jul\/2018:02:23:44 +0000] \"GET \/index.php\/2011\/09\/thanks-percona-response-time-distribution HTTP\/1.1\" 301 -\n112.111.185.113 - - [23\/Jul\/2018:02:23:45 +0000] \"GET \/index.php\/2011\/09\/thanks-percona-response-time-distribution HTTP\/1.1\" 301 -\n112.111.185.113 - - [23\/Jul\/2018:02:23:45 +0000] \"GET \/index.php\/2011\/09\/thanks-percona-response-time-distribution HTTP\/1.1\" 301 -\n112.111.185.113 - - [23\/Jul\/2018:02:23:45 +0000] \"GET \/index.php\/2011\/09\/thanks-percona-response-time-distribution HTTP\/1.1\" 301 -\n112.111.185.113 - - [23\/Jul\/2018:02:23:46 +0000] \"GET \/index.php\/2011\/09\/thanks-percona-response-time-distribution HTTP\/1.1\" 301 -\n\n\u914d\u7f6e\uff1a\njail.conf\n[apache-my-1]\nenabled  = true\nfilter   = apache-my-1\nlogpath  = \/var\/log\/httpd\/orczhou.com-access_log\naction   = iptables[name=fail2banapach, port=http, protocol=tcp]\nbantime  = 172800 ; 2 days\nfindtime = 300; 1 day\nmaxretry = 5\n\n$ cat filter.d\/apache-my-1.conf\n# Fail2Ban configuration file\n#\n#\n#\n\n[Definition]\n\n#\n# failregex = ^&lt;HOST&gt;  -.*\"(GET|POST).*HTTP.*\"(?:%(badbots)s|%(badbotscustom)s)\"$\n# 112.111.185.113 - - [23\/Jul\/2018:02:15:11 +0000] \"GET \/index.php\/2011\/09\/thanks-percona-response-time-distribution\/ HTTP\/1.1\" 200 28725\nfailregex = ^&lt;HOST&gt; -.*thanks-percona-response-time-distribution.*$\n\n# Option:  ignoreregex\n# Notes.:  regex to ignore. If this regex matches, the line is ignored.\n# Values:  TEXT\n#\nignoreregex =\n\n\u67e5\u770b\u662f\u5426ban\u6210\u529f\uff1a\nsudo tail -f -n 100 \/var\/log\/messages|grep \"fail2ban\"\nJul 23 02:26:00 ip-172-31-31-180 fail2ban.filter : INFO   Added logfile = \/var\/log\/httpd\/orczhou.com-access_log\nJul 23 02:26:00 ip-172-31-31-180 fail2ban.filter : INFO   Set maxRetry = 5\nJul 23 02:26:00 ip-172-31-31-180 fail2ban.filter : INFO   Set findtime = 600\nJul 23 02:26:00 ip-172-31-31-180 fail2ban.actions: INFO   Set banTime = 172800\nJul 23 02:26:00 ip-172-31-31-180 fail2ban.jail   : INFO   Jail 'ssh-iptables' started\nJul 23 02:26:00 ip-172-31-31-180 fail2ban.jail   : INFO   Jail 'apache-my-1' started\nJul 23 02:26:22 ip-172-31-31-180 fail2ban.actions: WARNING [apache-my-1] Ban 112.111.185.113<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2018\u5e7406\u670820\u65e5 Ban\u4e00\u4e9bIP<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">Ban: \nsudo iptables -A INPUT -s 175.44.8.219 -j DROP\nUn-ban:\nsudo iptables -D INPUT -s 42.120.74.101 -j DROP<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2018\u5e7401\u670821\u65e5 \u7b80\u5355\u7684\u535a\u5ba2\u5907\u4efd\u811a\u672c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">#!\/bin\/bash\nbdir=\"backup.blog.\"date +%y%m%d\nmkdir $bdir &amp;&amp; cd $bdir\nmysqldump -uroot wp_orczhou &gt; wp_orczhou.date +%y%m%d.sql\ntar zcf orczhou.com.date +%y%m%d.tar.gz \/var\/www\/orczhou.com\ncd .. &amp;&amp; tar zcf $bdir.tar.gz $bdir<\/code><\/pre>\n\n\n\n<p>\u8fd9\u4e2a\u811a\u672c\u9700\u8981\u4f7f\u7528sudo\u8fd0\u884c\uff0c\u539f\u56e0\u662fwp-config.php\u4ece\u5b89\u5168\u7684\u89d2\u5ea6\uff0c\u7ed9\u51fa\u5c3d\u53ef\u80fd\u5c11\u7684\u6743\u9650\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">-rw------- 1 apache apache 3.2K Jan 23 03:33 \/var\/www\/orczhou.com\/wp-config.php<\/code><\/pre>\n\n\n\n<p>\u53ef\u4ee5\u770b\u5230\uff0c\u53ea\u6709owner\u6709rw\u6743\u9650\uff0cgroup\u548cother\u90fd\u6ca1\u6709\u6743\u9650\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2018\u5e7401\u670821\u65e5 \u4ecedigitalocean\u8fc1\u79fb\u5230EC2<\/h3>\n\n\n\n<figure class=\"wp-block-image alignright\"><a href=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2017\/12\/Snip20180123_99.png\" rel=\"attachment wp-att-5484\"><img loading=\"lazy\" decoding=\"async\" width=\"655\" height=\"103\" src=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2017\/12\/Snip20180123_99.png\" alt=\"Snip20180123_99\" class=\"wp-image-5484\"\/><\/a><\/figure>\n\n\n\n<p>\u4e4b\u524d\u4f7f\u7528digitalocean\u4e3b\u8981\u662f\u56e0\u4e3a\u4ef7\u683c\u4fbf\u5b9c\uff085$\/\u6708\uff09\uff0c\u4f7f\u7528\u4f53\u9a8c\u4e5f\u975e\u5e38\u4e0d\u9519\uff0c\u754c\u9762\u4e5f\u7b80\u5355\uff08\u5927\u6982\u662f\u56e0\u4e3a\u4ea7\u54c1\u7ebf\u5c11\u5427\uff09\uff0c\u6240\u4ee5\u4ece13\u5e74\u4f7f\u7528\u81f3\u4eca\uff1a<br><\/p>\n\n\n\n<p>\u5bf9\u6bd4\u4e86\u4e00\u4e0b\uff0c\u73b0\u5728AWS\u7684\u4ef7\u683c\u4e5f\u5f88\u4fbf\u5b9c\u4e86\uff083\u5e74tokyo t2.micro ec2\u662f$174\uff09\uff0c\u800c\u4e14\u4e1c\u4eac\u5b9e\u4f8b\u7f51\u7edc\u5ef6\u8fdf\u4e5f\u6bd4\u6b27\u7f8e\u5730\u533a\u597d\u975e\u5e38\u591a\u3002\u6240\u4ee5\uff0c\u679c\u65ad\u642c\u8fc1\u3002<\/p>\n\n\n\n<p>\u8d2d\u4e70\u7684\u662ftokyo\u5730\u533a\u7684EC2\uff0c\u53ef\u7528\u533aap-northeast-1a\uff0c\u7528\u7684Amazon Linux\uff0c\u7528\u7684\u666e\u901a\u786c\u76d8\u3002\u73af\u5883\u642d\u5efa\u4e5f\u6bd4\u8f83\u7b80\u5355\uff0c\u8fd9\u91cc\u7b80\u5355\u8bb0\u5f55\u4e00\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">sudo yum install mysql57-server\nsudo service mysqld start \n\n# MySQL innodb buffer pool size\u6539\u4e3a50MB\uff0cmy.cnf\u4e2d\u65b0\u589e\uff1a\ninnodb_buffer_pool_size = 50M\nsudo service mysqld restart\n\nsudo yum httpd install\nsudo service httpd start\n\n# \u914d\u7f6ehttpd\uff1a \u76d1\u542c80\u7aef\u53e3\uff0c\u914d\u7f6eVirtualHost\n&lt;VirtualHost *:80&gt;\n    ServerAdmin orczhou@gmail.com\n    DocumentRoot \/var\/www\/orczhou.com\n    ServerName www.orczhou.com\n    ErrorLog logs\/orczhou.com-error_log\n    CustomLog logs\/orczhou.com-access_log common\n&lt;\/VirtualHost&gt;\n\n&lt;Directory \"\/var\/www\/orczhou.com\"&gt;\n    Options Indexes FollowSymLinks\n    AllowOverride None\n    Order allow,deny\n    Allow from all\n&lt;\/Directory&gt;\n\n# \u5b89\u88c5php\uff1a\nsudo yum install php\nsudo yum install php-mysql\nsudo service httpd restart\n\n# \u914d\u7f6ehttpd\uff0c\u51cf\u5c11\u670d\u52a1\u8fdb\u7a0b\u6570\u91cf\uff0c\u51cf\u5c11\u5185\u5b58\n&lt;IfModule prefork.c&gt;\nStartServers       4\nMinSpareServers    3\nMaxSpareServers    6\nServerLimit        20\nMaxClients         20\nMaxRequestsPerChild  4000\n&lt;\/IfModule&gt;\n\n# \u5bfc\u51fa\u5bfc\u5165\u6570\u636e\u5e93\nmysqldump -uroot wp_orczhou &gt; wp_orczhou.sql\n\nmysql -uroot wp_orczhou &lt; wp_orczhou.sql\n\n#\u8d26\u53f7\u6388\u6743\ngrant all ON wp_orczhou.* TO 'wp_orczhou'@'localhost' IDENTIFIED BY PASSWORD 'xxxxxxx\u2019;<\/code><\/pre>\n\n\n\n<p>\u57fa\u672c\u4e0a\uff0c\u4e0a\u9762\u7684\u547d\u4ee4\u5c31\u53ef\u4ee5\u5b8c\u6210\u6574\u4e2a\u5b89\u88c5\u4e86\u3002\u5176\u4ed6\u4e00\u4e9b\u8bb0\u5f55\u7684\uff1a(1) MySQL5.7\u7684\u9ed8\u8ba4\u914d\u7f6e\u57fa\u672c\u4e0a\u6ee1\u8db3\u9700\u6c42\uff0c\u9ed8\u8ba4bp\u662f128MB\uff0c\u5bf9\u5927\u4e00\u70b9\u7684EC2\u5e94\u8be5\u4e5f\u662fOK\u7684\uff0c\u6211\u8fd9\u4e2a\u4e3b\u673a\u7531\u4e8ehttpd\u5360\u7528\u5185\u5b58\u8f83\u591a\uff0c\u51fa\u73b0\u4e86OOM\u628amysqld kill\u6389\u7684\u60c5\u51b5\uff0c\u6240\u4ee5\u8c03\u5c0f\u523050MB\u3002 (2) EC2\u5f00\u901a\u7684\u65f6\u5019\uff0c\u9700\u8981\u6ce8\u610f\u9009\u5e26\u516c\u7f51IP\u7684\u9009\u9879\uff1b\u53e6\u5916\uff0c\u9ed8\u8ba4\u5e94\u8be5\u662f\u53ea\u5141\u8bb822\u7aef\u53e3\u5f00\u653e\uff0c\u6ce8\u610f\u8981\u5728\u5b89\u5168\u7ec4\u65b0\u589e80\u7aef\u53e3\u7684\u5f00\u653e\u3002 (3) \u63d2\u66f2\uff0c\u4e4b\u524d\u8fd8\u9009\u4e86\u4e00\u6b21REDHAT Linux\uff0c\u540e\u6765\u53d1\u73b0RH Linux\u8981\u6bd4Amazon Linux\u8d35\u975e\u5e38\u591a\uff0c\u5c31\u6362\u4e86\u3002\u4e0d\u8fc7\uff0c\u4e5f\u53ef\u4ee5\u770b\u5230Amazon\u4e0a\u751f\u6001\u975e\u5e38\u5b8c\u5584\uff0c\u5982\u679c\u662f\u4f01\u4e1a\u7ea7\u5e94\u7528\uff0c\u5bf9\u7a33\u5b9a\u6027\u8bc9\u6c42\u66f4\u9ad8\uff0c\u53ef\u4ee5\u9009\u62e9RH Linux\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2017\u5e7412\u670827\u65e5 \u8c03\u6574\u4e0a\u4f20\u6587\u4ef6\u5927\u5c0f\u7684\u9650\u5236<\/h3>\n\n\n\n<p>\u4e3a\u4e86\u4e0a\u4f20\u66f4\u5927\u7684\u6587\u4ef6\uff08PDF\uff09\uff0c\u4e8e\u662f\u8c03\u6574\u4e86\u4e0a\u4f20\u6587\u4ef6\u5927\u5c0f\u9650\u5236\u3002\u53c2\u8003\u4e86\u8fd9\u7bc7\u6587\u7ae0\uff1a<a href=\"https:\/\/www.elegantthemes.com\/blog\/tips-tricks\/is-the-wordpress-upload-limit-giving-you-trouble-heres-how-to-change-it\" target=\"_blank\" rel=\"noopener noreferrer\">Is The WordPress Upload Limit Giving You Trouble? Here\u2019s How To Change It<\/a>\uff0c\u64cd\u4f5c\u5305\u62ec\uff1a<\/p>\n\n\n\n<p>\u66f4\u6539\u4e86\/etc\/php.ini\u7684\u914d\u7f6e\uff1aupload_max_filesize = 5M \u91cd\u65b0\u542f\u52a8httpd\u4e4b\u540e\uff0c\u914d\u7f6e\u751f\u6548\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2016\u5e7403\u670814\u65e5 \u5173\u95edgravatar\u670d\u52a1<\/h3>\n\n\n\n<p>\u9274\u4e8e\u901f\u5ea6\u592a\u6162\uff0c\u5173\u95edgravatar\u5934\u50cf\u670d\u52a1<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2016\u5e7403\u670814\u65e5 \u5220\u9664Google Reader\u63d2\u4ef6<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">2016\u5e7403\u670803\u65e5 \u5220\u9664xmlrpc.php<\/h3>\n\n\n\n<p>\u56e0\u4e3a\u6709\u4e2aIP\u4e00\u76f4\u4e0d\u65ad\u53d1\u9001POST\u8bf7\u6c42\u5230xmlrpc.php\uff0c\u6240\u4ee5\u5c06xmlrpc.php\u91cd\u547d\u540d\u4e3axmlrpc.php.bak\uff0c\u5f53\u7136\u76f8\u5e94\u529f\u80fd\u4e5f\u5c31\u6ca1\u4e86\u3002\u540c\u65f6\u4f7f\u7528iptable\u7981\u7528\u76f8\u5e94IP<a rel=\"noopener noreferrer\" href=\"https:\/\/wordpress.org\/support\/topic\/xmlrpcphp-attack-on-wordpress-38\" target=\"_blank\">\u53c2\u8003<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup\">iptables -A INPUT -s 185.130.5.243 -j DROP<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2011\u5e7403\u670813\u65e5 \u4fee\u6539\u4e3b\u9898 \u589e\u52a0\u76ee\u5f55\u63d2\u4ef6<\/h3>\n\n\n\n<p>\u4fee\u6539\u4e3b\u9898\uff0c\u5220\u9664\u9876\u7aef\u7684\u84dd\u8272\u7684\u6761\u7eb9\uff0c\u7f29\u5c0f\u4e86banner\u7684\u9ad8\u5ea6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"css\" class=\"language-css\">\/*--- Blog Pic ---*\/\n#blogImg {\nbackground:#368be6 url(images\/blogImg.gif) repeat-x;\n\/*height:109px;*\/\nheight:4px;\nwidth:100%;\n}\n#blogPic {\n\/*background:#368be6 url(images\/blogPic.jpg);*\/\n\/*height:109px;*\/\nwidth:960px;\nmargin:0 auto;\n}<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u76ee\u5f55\u4f7f\u7528\u63d2\u4ef6<a href=\"http:\/\/wordpress.org\/extend\/plugins\/table-of-contents-plus\/screenshots\/\" target=\"_blank\" rel=\"noopener noreferrer\">Table of Contents Plus<\/a>\u5b9e\u73b0<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2010\u5e7410\u670808\u65e5 \u65b0\u589eQuotmarks Replacer<\/h3>\n\n\n\n<p>\u4f7f\u7528\u63d2\u4ef6<a href=\"http:\/\/wordpress.org\/extend\/plugins\/quotmarks-replacer\/\">Quotmarks Replacer<\/a>\u6765\u89e3\u51b3\u534a\u89d2\u5f15\u53f7\u4f1a\u88ab\u81ea\u52a8\u66ff\u6362\u6210\u5168\u89d2\u5f15\u53f7\u7684\u95ee\u9898<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2009\u5e7412\u670802\u65e5 \u65b0\u589e\u4e86mycode\u6837\u5f0f\u7684\u4ee3\u7801<\/h3>\n\n\n\n<p>CSS\u6837\u5f0f\u5982\u4e0b:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"css\" class=\"language-css\">\/*------added by orczhou@gmail.com-------*\/\n.mycode {\n  -moz-background-clip:border;\n  -moz-background-inline-policy:continuous;\n  -moz-background-origin:padding;\n  -x-system-font:none;\n  background:#222222 url(..\/image\/code.gif) repeat scroll 0 0;\n  border-left:6px solid #1664D9;\n  color:#00CC00;\n  display:block;\n  font-family:\"Courier New\",Courier,monospace;\n  font-size:1em;\n  font-size-adjust:none;\n  font-stretch:normal;\n  font-style:normal;\n  font-variant:normal;\n  font-weight:normal;\n  line-height:normal;\n  margin-bottom:12px;\n  overflow:auto;\n  padding:10px;\n  width:95%;\n}\n\/*------added by orczhou@gmail.com-------*\/\n.myt1{\n    color: red;\n    margin-left: 30px;\n    margin-bottom: 5px;\n}\n\n\/*------modified by orczhou@gmail.com-------------*\/\nblockquote{\n    margin:0,28px,0,28px;\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2009\u5e7408\u670809\u65e5 \u6dfb\u52a0\u63d2\u4ef6&#8221;<a href=\"http:\/\/wordpress.org\/extend\/plugins\/wp-cumulus\/\">WP-Cumulus<\/a>&#8220;<\/h3>\n\n\n\n<p>\u4ee3\u7801\u66f4\u6539\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">&lt;!--Modified by orczhou for Plugin-wp-cumulus--&gt;\n&lt;?\/php wp_tag_cloud('unit=px&amp;smallest=12&amp;largest=22&amp;number=20'); \/\nwp_cumulus_insert();?&gt;<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u4e2a\u535a\u5ba2\u575a\u6301\u4e86\u597d\u591a\u5e74\u4e86\uff0c\u7ecf\u5e38\u4f1a\u6d89\u53ca\u5230\u4e00\u4e9b\u7b80\u5355\u7ef4\u62a4\uff0c\u56e0\u4e3a\u9891\u7387\u4f4e\uff0c\u5f88\u591a\u64cd\u4f5c\u4f1a\u5fd8\u8bb0\uff0c\u6545\u7279\u6b64\u8bb0\u5f55\u3002 2025\u5e7411\u6708 \u4fee\u6539\u5b57\u4f53\/\u76ee\u5f55 \u5c06\u5b57\u4f53\u6539\u4e3aRoman\/\u5b8b\u4f53 \u5728\u4e3b\u9898\u4e2d\uff0c\u6dfb\u52a0\u4e86\u5982\u4e0b\u7684 CSS\uff1a \u4fee\u6539ToC\u63d2\u4ef6\uff0c\u63a7\u5236\u76ee\u5f55\u5360\u5bbd \u6709\u65f6\u5019\u6807\u9898\u592a\u957f\uff0c\u5728\u76ee\u5f55\u5c55\u793a\u4e2d\u4f1a\u6298\u884c\uff0c\u6bd4\u8f83\u5f71\u54cd\u6574\u4f53\u89c6\u89c9\u7b80\u6d01\u7684\u6548\u679c\uff0c\u6240\u4ee5\uff0c\u5f53\u201c\u5360\u5bbd\u201d\u9884\u4f30\u8d85\u8fc730\u7684\u65f6\u5019\uff0c\u5c31\u8fdb\u884c\u6298\u65ad\u3002 \u56e0\u4e3a\u770b\u8d77\u6765\u6709\u70b9\u590d\u6742\uff0c\u6240\u4ee5\u505a\u4e2a\u8bf4\u660e\uff1a(a) \u5bf9\u4e8e\u4e2d\u82f1\u6587\u6df7\u5408\u7684\u5b57\u7b26\u4e32strlen\u8ba1\u7b97byte\u6570\u91cf\uff0cmb_strlen\uff08\u5219\u6309utf8\u5b57\u7b26\u6570\u91cf (b) \u5360\u5bbd\u4e0a\u8fd9\u91cc\u7b80\u5355\u8ba4\u4e3a\uff0c\u4e00\u4e2a\u4e2d\u6587\u5b57\u7b26\u5360\u4e24\u4e2a\u5bbd\u4f4d\uff1b\u4e00\u4e2a\u82f1\u6587\u5b57\u7b26\u4e00\u4e2a\u5bbd\u4f4d\u3002\u4e8e\u662f\u5c31\u6709\u4e86\u4e0a\u8ff0\u7684\u8ba1\u7b97\u3002 \u5b9e\u9645\u6548\u679c\u5bf9\u6bd4\uff1a 2025\u5e7410\u6708 \u5f3a\u5236 Mathjax-Latex \u5b57\u4f53 \u5728\u66f4\u65b0\u5230\u6700\u65b0\u7684 Mac OS X \u4e4b\u540e\uff0c\u7a81\u53d1\u53d1\u73b0Latex\u7684\u90e8\u5206\u5b57\u4f53\u53d1\u751f\u4e86\u53d8\u5316\u3002\u8fd9\u91cc\u4fee\u6539\u4e86 Mathjax-Latex \u5c06\u5b57\u4f53\u5f3a\u5236\u4e3a\u201cTex\u201d\uff0c\u5177\u4f53\u4fee\u6539\u5982\u4e0b\uff1a \u88ab\u4fee\u6539\u7684\u6587\u4ef6\u4e3a\uff1awp-content\/plugins\/mathjax-latex\/class-mathjax-latex.php 2025\u5e7407\u6708 Ban\u4e86\u4e00\u4e9bIP \u5728 .htaccess \u4e2d\u65b0\u589e\uff1a &#8221; Options -Indexes &#8221; \uff0c\u907f\u514d\u5217\u8868\u76ee\u5f55\uff0c\u4ece\u800c\u653b\u51fb\u7ad9\u70b9\u3002 \u7a81\u53d1\u53d1\u73b0\u7ad9\u70b9\u6709\u70b9\u6162\uff0c\u7136\u540e\u89c2\u5bdf\u4e86\u4e00\u4e0b\u8bbf\u95ee\u65e5\u5fd7\uff0c\u6ce8\u610f\u67d0\u4e2aIP\u4e00\u76f4\u5728\u5c1d\u8bd5\u8bbf\u95eelogin\u9875\u9762\uff0c\u5927\u6982\u662f\u9047\u5230\u4e86\u66b4\u529b\u7834\u89e3\u3002\u8fd9\u6b21\uff0c\u901a\u8fc7\u5728.htaccess\u4e2d\u65b0\u589e\u4e86\u5982\u4e0b\u5185\u5bb9\uff0c\u7981\u7528\u4e86\u8be5IP\u5730\u5740\uff1a \u6ce8\uff0c\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u624b\u52a8\u7684\u89c2\u5bdf\u7ad9\u70b9\u7684\u8bbf\u95ee\u60c5\u51b5\uff1a 2024\u5e7410\u6708 \u65b0\u589e\u4e86\u82f1\u6587\u5b50\u7ad9\u70b9 \u5728\u7ad9\u70b9\u7684\/en\u76ee\u5f55\u4e0b\u65b0\u589e\u4e86\u4e00\u4e2aWordPress\u7684\u7ad9\u70b9\uff0c\u8fd9\u662f\u4e00\u4e2a\u82f1\u6587\u7ad9\u70b9\uff0c\u7528\u4e8e\u5b58\u653e\u4e00\u4e9b\u82f1\u6587\u5185\u5bb9\uff0c\u4ee5\u4fbf\u4e8e\u641c\u7d22\u5f15\u64ce\u6536\u5f55\u4e00\u4e9b\u82f1\u6587\u7684\u5185\u5bb9\u3002 \u4e3a\u4e86\u9002\u914dWordPress\u7684Permalink\u529f\u80fd\uff0c\u8c03\u6574\u4e86\u7ad9\u70b9\u5728httpd\u4e2d\u7684\u90e8\u5206\u914d\u7f6e\uff1a \u5c06AllowOverride\u66f4\u6539\u4e3aALL\uff0c\u8ba9WordPress\u4e0b\u7684.htaccess\u6587\u4ef6\u751f\u6548\u3002 2024\u5e7410\u6708 \u5c06\u81ea\u5b9a\u4e49\u7684CSS\u5728\u53ef\u89c6\u5316\u7f16\u8f91\u5668\u4e2d \u5728\u73b0\u5728\u7248\u672c\u7684WordPress\u7684\u4e3b\u9898\u7f16\u8f91\u5668\u4e2d\uff0c\u63d0\u4f9b\u4e86\u975e\u5e38\u597d\u7684\u81ea\u5b9a\u4e49CSS\u6dfb\u52a0\u529f\u80fd\uff0c\u800c\u4e0d\u518d\u9700\u8981\u76f4\u63a5\u5728\u63a7\u5236\u53f0\u4fee\u6539style.css\u6587\u4ef6\u3002\u6545\u8003\u8651\u628a\u4e4b\u524d\u5728style.css\u4e2d\u6240\u505a\u7684\u4fee\u6539\uff0c\u7edf\u4e00\u653e\u5230\u4e3b\u9898\u7f16\u8f91\u5668\u4e2d\u3002\u8fd9\u91cc\u5148\u5c1d\u8bd5\u4e00\u90e8\u5206\u4fee\u6539\uff0c\u6682\u65f6\u8003\u8651\u65b0\u589e\u5982\u4e0bcss\uff1a \u7136\u540e\u518d\uff0c\u9700\u8981\u7684Block\u4e2d\u4f7f\u7528\u8fd9\u4e9bCSS\u3002 2024\u5e7406\u6708 \u63d2\u4ef6\u4e2d\u65b0\u589ePure.css \u4e3a\u4e86\u5b9e\u73b0\u8f83\u4e3a\u7b80\u5355\u7684MySQL\u6027\u80fd\u6d4b\u8bd5\u6570\u636e\u5c55\u793a\uff0c\u6240\u4ee5\u5728\u535a\u5ba2\uff08WordPress\uff09\u4e2d\u65b0\u589e\u4e86cdb-perf\u63d2\u4ef6\uff0c\u7528\u4e8e\u81ea\u52a8\u5316\u7684\u6027\u80fd\u6d4b\u8bd5\u7ed3\u679c\u6570\u636e\u8bfb\u53d6\u5e76\u5c55\u793a\u3002\u5728\u5c55\u793a\u4e2d\uff0c\u4f7f\u7528\u4e86pure.css\u5c55\u793a\u8868\u683c\u3002\u539f\u672c\u53ea\u662f\u5728\u9875\u9762\u4e2d\u65b0\u589e\u4e86\u4e00\u4e2acss\uff08\u6765\u81ea\u7b2c\u4e09\u65b9CDN\uff09\u5f15\u7528\uff0c\u4f46\u662f\u5374\u53d1\u73b0\uff0c\u5728\u56fd\u5185\uff0c\u6709\u65f6\u5019\u9996\u6b21\u4e0b\u8f7d\u8be5CSS\u9700\u8981\u51e0\u5341\u79d2\u3002\u6545\uff0c\u8fd9\u91cc\u8003\u8651\u5c06\u8be5CSS\u672c\u5730\u5316\u3002 \u672c\u5730\u6784\u5efa\u8be5css \u53c2\u8003\u9875\u9762\u7684build\u547d\u4ee4\uff1a \u7136\u540e\u5c06\u6784\u5efa\u7684build\/pure.css\uff0c\u6545\uff0c\u9700\u8981\u5c06\u8be5\u6587\u4ef6\u62f7\u8d1d\u5230\u63d2\u4ef6\u4e2d\uff0c\u5e76\u53c2\u8003\u5efa\u8bae\u7684\u6587\u4ef6\u76ee\u5f55\u653e\u5728public\/css\u4e0b\u3002 \u5728\u63d2\u4ef6cdb-perf\u4e2d\u5f15\u7528\u8be5css \u63d2\u4ef6\u4ee3\u7801\u4fee\u6539\u5982\u4e0b\uff08\u53c2\u8003\uff09\uff1a \u4e3b\u8981\u53c2\u8003\u94fe\u63a5\uff1a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":22152,"parent":0,"menu_order":3,"comment_status":"open","ping_status":"closed","template":"wp-custom-template-page-without-date","meta":{"_eb_attr":"","inline_featured_image":false,"_tocer_settings":[],"footnotes":""},"class_list":["post-5391","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/pages\/5391","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/comments?post=5391"}],"version-history":[{"count":116,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/pages\/5391\/revisions"}],"predecessor-version":[{"id":23027,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/pages\/5391\/revisions\/23027"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/media\/22152"}],"wp:attachment":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/media?parent=5391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}