{"id":648,"date":"2023-08-25T22:16:38","date_gmt":"2023-08-25T14:16:38","guid":{"rendered":"https:\/\/me.corpse.top\/?p=648"},"modified":"2024-03-16T17:11:44","modified_gmt":"2024-03-16T09:11:44","slug":"%e5%ae%89%e8%a3%85flarum%e5%bf%85%e9%a1%bb%e6%b3%a8%e6%84%8f%e7%9a%84%e6%ad%a5%e9%aa%a4","status":"publish","type":"post","link":"https:\/\/me.spacelite.top\/?p=648","title":{"rendered":"\u5b89\u88c5flarum\u5fc5\u987b\u6ce8\u610f\u7684\u6b65\u9aa4"},"content":{"rendered":"<h2 id=\"h_499677300_16\" data-into-catalog-status=\"\">\u4e00\u3001\u4fee\u6539\u7f51\u7ad9 nginx \u914d\u7f6e<\/h2>\n<p data-pid=\"YrzVY8Gk\">\u8fdb\u5165\u5b9d\u5854\u9762\u677f\uff0c\u627e\u5230\u7f51\u7ad9\u8bbe\u7f6e\u5e76\u9009\u62e9\u914d\u7f6e\u6587\u4ef6\uff0c\u6309\u7167\u4e0b\u9762\u914d\u7f6e\u8fdb\u884c\u4fee\u6539\uff08\u53c2\u8003\u4e0b\u56fe\uff09\uff0c\u5177\u4f53\u57df\u540d\u5730\u5740\u8bf7\u6309\u7167\u81ea\u5df1\u7684\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u4fee\u6539\u3002<\/p>\n<ol>\n<li data-pid=\"8dw6HgvI\">\u5c06 \u201croot \/www\/wwwroot\/flarum.shixingceping.com;\u201d \u4fee\u6539\u4e3a \u201droot \/www\/wwwroot\/<a class=\" external\" href=\"https:\/\/link.zhihu.com\/?target=http%3A\/\/flarum.shixingceping.com\/public%3B\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" data-za-detail-view-id=\"1043\"><span class=\"invisible\">http:\/\/<\/span><span class=\"visible\">flarum.shixingceping.com<\/span><span class=\"invisible\">\/public;<\/span><\/a>\u201c<\/li>\n<\/ol>\n<p>\u4e8c\u3001NGINX\u8bbe\u7f6e\u4f2a\u9759\u6001\uff0c\u5426\u5219\u4f1a\u62a5\u9519\u65e0\u6cd5\u8bf7\u6c42\u8d44\u6e90\uff08\u5b9d\u5854\u53ef\u4ee5\u9009\u62e9wordpress\u4f2a\u9759\u6001\u6a21\u677f\u5c31\u884c\u4e86\uff09<\/p>\n<h2>Nginx<\/h2>\n<div class=\"vditor-copy\"><\/div>\n<pre><code class=\"hljs nginx vditor-linenumber small-scroll-bar overflow-y-auto\"><span class=\"hljs-comment\"># Pass requests that don't refer directly to files in the filesystem to index.php<\/span>\r\n<span class=\"hljs-attribute\">location<\/span> \/ {\r\n  <span class=\"hljs-attribute\">try_files<\/span> $uri $uri\/ \/index.php?$query_string;\r\n}\r\n\r\n<span class=\"hljs-comment\"># The following directives are based on best practices from H5BP Nginx Server Configs<\/span>\r\n<span class=\"hljs-comment\"># https:\/\/github.com\/h5bp\/server-configs-nginx<\/span>\r\n\r\n<span class=\"hljs-comment\"># Expire rules for static content<\/span>\r\n<span class=\"hljs-attribute\">location<\/span> <span class=\"hljs-regexp\">~* .(?:manifest|appcache|html?|xml|json)$<\/span> {\r\n  <span class=\"hljs-attribute\">add_header<\/span> Cache-Control <span class=\"hljs-string\">\"max-age=0\"<\/span>;\r\n}\r\n\r\n<span class=\"hljs-attribute\">location<\/span> <span class=\"hljs-regexp\">~* .(?:rss|atom)$<\/span> {\r\n  <span class=\"hljs-attribute\">add_header<\/span> Cache-Control <span class=\"hljs-string\">\"max-age=3600\"<\/span>;\r\n}\r\n\r\n<span class=\"hljs-attribute\">location<\/span> <span class=\"hljs-regexp\">~* .(?:jpg|jpeg|gif|png|ico|cur|gz|svg|mp4|ogg|ogv|webm|htc)$<\/span> {\r\n  <span class=\"hljs-attribute\">add_header<\/span> Cache-Control <span class=\"hljs-string\">\"max-age=2592000\"<\/span>;\r\n  <span class=\"hljs-attribute\">access_log<\/span> <span class=\"hljs-literal\">off<\/span>;\r\n}\r\n\r\n<span class=\"hljs-attribute\">location<\/span> <span class=\"hljs-regexp\">~* .(?:css|js)$<\/span> {\r\n  <span class=\"hljs-attribute\">add_header<\/span> Cache-Control <span class=\"hljs-string\">\"max-age=31536000\"<\/span>;\r\n  <span class=\"hljs-attribute\">access_log<\/span> <span class=\"hljs-literal\">off<\/span>;\r\n}\r\n\r\n<span class=\"hljs-attribute\">location<\/span> <span class=\"hljs-regexp\">~* .(?:ttf|ttc|otf|eot|woff|woff2)$<\/span> {\r\n  <span class=\"hljs-attribute\">add_header<\/span> Cache-Control <span class=\"hljs-string\">\"max-age=2592000\"<\/span>;\r\n  <span class=\"hljs-attribute\">access_log<\/span> <span class=\"hljs-literal\">off<\/span>;\r\n}\r\n\r\n<span class=\"hljs-comment\"># Gzip compression<\/span>\r\n<span class=\"hljs-attribute\">gzip<\/span> <span class=\"hljs-literal\">on<\/span>;\r\n<span class=\"hljs-attribute\">gzip_comp_level<\/span> <span class=\"hljs-number\">5<\/span>;\r\n<span class=\"hljs-attribute\">gzip_min_length<\/span> <span class=\"hljs-number\">256<\/span>;\r\n<span class=\"hljs-attribute\">gzip_proxied<\/span> any;\r\n<span class=\"hljs-attribute\">gzip_vary<\/span> <span class=\"hljs-literal\">on<\/span>;\r\n<span class=\"hljs-attribute\">gzip_types<\/span>\r\n    application\/atom+xml\r\n    application\/javascript\r\n    application\/json\r\n    application\/ld+json\r\n    application\/manifest+json\r\n    application\/rss+xml\r\n    application\/vnd.geo+json\r\n    application\/vnd.ms-fontobject\r\n    application\/x-font-ttf\r\n    application\/x-web-app-manifest+json\r\n    application\/xhtml+xml\r\n    application\/xml\r\n    font\/opentype\r\n    image\/bmp\r\n    image\/svg+xml\r\n    image\/x-icon\r\n    text\/cache-manifest\r\n    text\/css\r\n    text\/plain\r\n    text\/vcard\r\n    text\/vnd.rim.location.xloc\r\n    text\/vtt\r\n    text\/x-component\r\n    text\/x-cross-domain-policy;\r\n<\/code><\/pre>\n<h2><\/h2>\n<p>\u4e09\u3001<\/p>\n<h3 id=\"h_499677300_7\" data-into-catalog-status=\"\">2.3 \u914d\u7f6e PHP \u62d3\u5c55<\/h3>\n<p data-pid=\"ka0q7k9F\">\u8fdb\u5165\u8f6f\u4ef6\u5546\u5e97\u627e\u5230 PHP \u5e76\u6253\u5f00\u8bbe\u7f6e\uff0c\u9009\u62e9 \u201d\u5b89\u88c5\u6269\u5c55\u201c \u5b89\u88c5 fileinfo\uff08opcache\u3001exif \u975e\u5fc5\u9009\uff09<\/p>\n<figure data-size=\"normal\">\n<div><img loading=\"lazy\" decoding=\"async\" class=\"origin_image zh-lightbox-thumb lazy\" src=\"\/wp-content\/uploads\/replace\/91b5c0829f56fba58652b49d5e87f602.png\" alt=\"\u5b89\u88c5flarum\u5fc5\u987b\u6ce8\u610f\u7684\u6b65\u9aa4\" width=\"767\" height=\"709\" data-caption=\"\" data-size=\"normal\" data-rawwidth=\"767\" data-rawheight=\"709\" data-original=\"https:\/\/pic4.zhimg.com\/v2-0546cc64ffc41644f28f1ffd620fa1b7_r.jpg\" data-actualsrc=\"https:\/\/me.corpse.top\/wp-content\/uploads\/2024\/03\/v2-0546cc64ffc41644f28f1ffd620fa1b7_b.jpg\" data-original-token=\"v2-2f8b330950ab07d8922ddadf031db4e0\" data-lazy-status=\"ok\" \/><\/div>\n<\/figure>\n<h3 id=\"h_499677300_8\" data-into-catalog-status=\"\"><b>2.4 \u89e3\u9664 PHP \u51fd\u6570\u7981\u7528<\/b><\/h3>\n<p data-pid=\"MbPkaWGu\">\u63a5\u4e0b\u6765\u6211\u4eec\u9700\u8981\u5bf9 3 \u4e2a\u51fd\u6570\u8fdb\u884c\u7981\u7528\u89e3\u9664\uff0c\u5728 PHP \u8bbe\u7f6e\u9875\u9762\u9009\u62e9 \u201d\u7981\u7528\u51fd\u6570\u201c\uff0c\u5220\u9664\u6389 \u201dputenv\u201c\u3001\u201dpcntl_signal\u201c\u3001\u201dproc_open\u201c \u8fd9\u4e09\u4e2a\u51fd\u6570\u3002<\/p>\n<figure data-size=\"normal\">\n<div><img loading=\"lazy\" decoding=\"async\" class=\"origin_image zh-lightbox-thumb lazy\" src=\"\/wp-content\/uploads\/replace\/305edc10f8b4d1d90c846cc1100ffdbd.png\" alt=\"\u5b89\u88c5flarum\u5fc5\u987b\u6ce8\u610f\u7684\u6b65\u9aa4\" width=\"1280\" height=\"1182\" data-caption=\"\" data-size=\"normal\" data-rawwidth=\"1280\" data-rawheight=\"1182\" data-original=\"https:\/\/pic2.zhimg.com\/v2-f57d9f60a51529e652be78265da7b4e9_r.jpg\" data-actualsrc=\"https:\/\/me.corpse.top\/wp-content\/uploads\/2024\/03\/v2-f57d9f60a51529e652be78265da7b4e9_b.jpg\" data-original-token=\"v2-7caf072b9d295b551d880ec568674126\" data-lazy-status=\"ok\" \/><\/div>\n<\/figure>\n<h3 id=\"h_499677300_9\" data-into-catalog-status=\"\">2.5 \u914d\u7f6e\u4fee\u6539<\/h3>\n<p data-pid=\"hcKK1aIU\">\u8fd8\u662f\u5728 PHP \u8bbe\u7f6e\u7ba1\u7406\u9875\u9762\uff0c\u9009\u62e9 \u201d\u914d\u7f6e\u4fee\u6539\u201c\uff0c\u5bf9 \u201d\u6700\u5927\u811a\u672c\u8fd0\u884c\u65f6\u95f4\u201c \u548c \u201d\u811a\u672c\u5185\u5b58\u9650\u5236\u201c \u8fd9\u4e24\u9879\u914d\u7f6e\u8fdb\u884c\u4fee\u6539\uff0c\u5177\u4f53\u4fee\u6539\u7684\u503c\u8bf7\u53c2\u8003\u4e0b\u65b9\uff1a<\/p>\n<p data-pid=\"gEMzL_9z\">\u6700\u5927\u811a\u672c\u8fd0\u884c\u65f6\u95f4\uff08max_execution_time\uff09\uff1a600<br \/>\n\u811a\u672c\u5185\u5b58\u9650\u5236\uff08memory_limit\uff09\uff1a512M \u6216 1024M<\/p>\n<figure data-size=\"normal\">\n<div><img loading=\"lazy\" decoding=\"async\" class=\"origin_image zh-lightbox-thumb lazy\" src=\"\/wp-content\/uploads\/replace\/acfb75bbfa46a519914eadd2a634a31a.png\" alt=\"\u5b89\u88c5flarum\u5fc5\u987b\u6ce8\u610f\u7684\u6b65\u9aa4\" width=\"1282\" height=\"1180\" data-caption=\"\" data-size=\"normal\" data-rawwidth=\"1282\" data-rawheight=\"1180\" data-original=\"https:\/\/pic2.zhimg.com\/v2-d42fbb7452b4eca64e54698901ebdf1d_r.jpg\" data-actualsrc=\"https:\/\/me.corpse.top\/wp-content\/uploads\/2024\/03\/v2-d42fbb7452b4eca64e54698901ebdf1d_b.jpg\" data-original-token=\"v2-335ddd21c586885e4005fd00196e8a59\" data-lazy-status=\"ok\" \/><\/div>\n<\/figure>\n<div>\n<p>\u56db\u3001<\/p>\n<h3 id=\"h_499677300_11\" data-into-catalog-status=\"\">2.7 \u5b89\u88c5 Composer<\/h3>\n<blockquote data-pid=\"jER62Yx7\"><p><i>\u4e3a\u4ec0\u4e48\u9700\u8981\u5b89\u88c5 Composer\uff1f\u56e0\u4e3a Flarum \u4f7f\u7528 Composer \u6765\u7ba1\u7406\u5b83\u7684\u76ee\u5f55\u548c\u6269\u5c55\uff0c\u6240\u4ee5\u5728\u5b89\u88c5 Flarum \u4e4b\u524d\uff0c\u60a8\u9700\u8981\u5b89\u88c5\u4e0b\u8f7d Composer \u5728\u60a8\u7684\u4e3b\u673a\u4e0a\u3002<\/i><\/p><\/blockquote>\n<p data-pid=\"OALvQ2rn\">\u8fdb\u5165\u7528\u6237\u5bb6\u76ee\u5f55<\/p>\n<div class=\"highlight\">\n<pre><code class=\"language-text\">cd ~<\/code><\/pre>\n<\/div>\n<p data-pid=\"UaOwvJya\">\u5c06\u5b89\u88c5\u811a\u672c\u4e0b\u8f7d\u5230\u5f53\u524d\u76ee\u5f55<\/p>\n<div class=\"highlight\">\n<pre><code class=\"language-text\">php -r \"copy('https:\/\/install.phpcomposer.com\/installer', 'composer-setup.php');\"<\/code><\/pre>\n<\/div>\n<p data-pid=\"fvF3sQli\">\u8fd0\u884c\u5b89\u88c5\u811a\u672c<\/p>\n<div class=\"highlight\">\n<pre><code class=\"language-text\">php composer-setup.php<\/code><\/pre>\n<\/div>\n<figure data-size=\"normal\">\n<div><img loading=\"lazy\" decoding=\"async\" class=\"origin_image zh-lightbox-thumb lazy\" src=\"\/wp-content\/uploads\/replace\/ad61d9697877a431a04ef2ee078b4a40.png\" alt=\"\u5b89\u88c5flarum\u5fc5\u987b\u6ce8\u610f\u7684\u6b65\u9aa4\" width=\"1154\" height=\"292\" data-caption=\"\" data-size=\"normal\" data-rawwidth=\"1154\" data-rawheight=\"292\" data-original=\"https:\/\/pic2.zhimg.com\/v2-509d892a1b6f4d9b183ad94df934d2c1_r.jpg\" data-actualsrc=\"https:\/\/me.corpse.top\/wp-content\/uploads\/2024\/03\/v2-509d892a1b6f4d9b183ad94df934d2c1_b.jpg\" data-original-token=\"v2-5ac743c69e4c2004201c349cc683e65d\" data-lazy-status=\"ok\" \/><\/div>\n<\/figure>\n<p data-pid=\"TRZSdx6U\">\u5220\u9664\u5b89\u88c5\u811a\u672c<\/p>\n<div class=\"highlight\">\n<pre><code class=\"language-text\">php -r \"unlink('composer-setup.php');\"<\/code><\/pre>\n<\/div>\n<p data-pid=\"E4zkQdLX\">\u5168\u5c40\u5b89\u88c5 composer\uff08\u914d\u7f6e\u7cfb\u7edf\u73af\u5883\u53d8\u91cf\uff09<\/p>\n<div class=\"highlight\">\n<pre><code class=\"language-text\">mv composer.phar \/usr\/local\/bin\/composer\r\n\r\n\u4e94\u3001\u5982\u679c\u7f51\u7ad9\u6539\u4e86\u65b0\u57df\u540d\u540e\u56fe\u7247\u4e0d\u663e\u793a\u600e\u4e48\u89e3\u51b3\r\n\r\n\u8fdb\u5165\u5b9d\u5854PHPmyadmin\uff0c\u5728\u6570\u636e\u5e93\u91cc\u641c\u7d22\u65e7\u57df\u540d\uff0c\u7136\u540e\u5168\u90e8\u66ff\u6362\u6210\u65b0\u57df\u540d<\/code><\/pre>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001\u4fee\u6539\u7f51\u7ad9 nginx \u914d\u7f6e \u8fdb\u5165\u5b9d\u5854\u9762\u677f\uff0c\u627e\u5230\u7f51\u7ad9\u8bbe\u7f6e\u5e76\u9009\u62e9\u914d\u7f6e\u6587\u4ef6\uff0c\u6309\u7167\u4e0b\u9762\u914d\u7f6e\u8fdb\u884c\u4fee\u6539\uff08\u53c2\u8003&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-648","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/me.spacelite.top\/index.php?rest_route=\/wp\/v2\/posts\/648","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/me.spacelite.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/me.spacelite.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/me.spacelite.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/me.spacelite.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=648"}],"version-history":[{"count":17,"href":"https:\/\/me.spacelite.top\/index.php?rest_route=\/wp\/v2\/posts\/648\/revisions"}],"predecessor-version":[{"id":754,"href":"https:\/\/me.spacelite.top\/index.php?rest_route=\/wp\/v2\/posts\/648\/revisions\/754"}],"wp:attachment":[{"href":"https:\/\/me.spacelite.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=648"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/me.spacelite.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=648"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/me.spacelite.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=648"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}