{"id":12,"date":"2026-02-02T21:21:59","date_gmt":"2026-02-02T13:21:59","guid":{"rendered":"https:\/\/word.ronrin.cn\/?p=12"},"modified":"2026-02-02T21:27:52","modified_gmt":"2026-02-02T13:27:52","slug":"web-%e5%ba%94%e7%94%a8%e6%a1%86%e6%9e%b6","status":"publish","type":"post","link":"https:\/\/word.ronrin.cn\/index.php\/2026\/02\/02\/web-%e5%ba%94%e7%94%a8%e6%a1%86%e6%9e%b6\/","title":{"rendered":"Web \u5e94\u7528\u6846\u67b6"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\"><strong>\u2705 \u7b2c 1 \u6b65\uff1a\u5b89\u88c5\u7cfb\u7edf\u7ea7\u8f6f\u4ef6\u5305\uff08\u901a\u8fc7&nbsp;<\/strong><code>apt<\/code><strong>\uff09<\/strong><\/h4>\n\n\n\n<p>bash<\/p>\n\n\n\n<p>\u7f16\u8f91<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install -y python3 python3-pip nginx curl jq<\/code><\/pre>\n\n\n\n<p>\u8868\u683c<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u8f6f\u4ef6<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u4f5c\u7528<\/th><\/tr><\/thead><tbody><tr><td><code>python3<\/code><\/td><td>\u8fd0\u884c Python \u811a\u672c\u7684\u57fa\u7840\u89e3\u91ca\u5668<\/td><\/tr><tr><td><code>python3-pip<\/code><\/td><td>\u5b89\u88c5 Python \u7b2c\u4e09\u65b9\u5e93\u7684\u5de5\u5177\uff08\u6bd4\u5982 flask\uff09<\/td><\/tr><tr><td><code>nginx<\/code><\/td><td>\u751f\u4ea7\u7ea7 Web \u670d\u52a1\u5668\uff0c\u7528\u4e8e\u53cd\u5411\u4ee3\u7406\u4f60\u7684 Flask \u5e94\u7528<\/td><\/tr><tr><td><code>curl<\/code><\/td><td>\u6d4b\u8bd5 API\u3001\u4e0b\u8f7d\u6587\u4ef6\u7684\u547d\u4ee4\u884c\u5de5\u5177<\/td><\/tr><tr><td><code>jq<\/code><\/td><td>\u683c\u5f0f\u5316\u548c\u89e3\u6790 JSON\uff0c\u65b9\u4fbf\u8c03\u8bd5\u63a5\u53e3\u8fd4\u56de<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ud83d\udca1 \u8fd9\u4e9b\u90fd\u662f&nbsp;<strong>\u7cfb\u7edf\u5c42\u9762\u7684\u4f9d\u8d56<\/strong>\uff0c\u5fc5\u987b\u5148\u88c5\u597d\u3002<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u2705 \u7b2c 2 \u6b65\uff1a\u5b89\u88c5 Python \u5e94\u7528\u4f9d\u8d56\uff08\u901a\u8fc7&nbsp;<\/strong><code>pip3<\/code><strong>\uff09<\/strong><\/h4>\n\n\n\n<p>bash<\/p>\n\n\n\n<p>\u7f16\u8f91<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo pip3 install flask flask-cors<\/code><\/pre>\n\n\n\n<p>\u8868\u683c<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">\u5e93<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u4f5c\u7528<\/th><\/tr><\/thead><tbody><tr><td><code>flask<\/code><\/td><td>\u4f60\u7684 Web \u5e94\u7528\u6846\u67b6\uff08\u6838\u5fc3\uff01\uff09<\/td><\/tr><tr><td><code>flask-cors<\/code><\/td><td>\u5141\u8bb8\u524d\u7aef\u7f51\u9875\u8de8\u57df\u8bbf\u95ee\u4f60\u7684 API\uff08\u5f00\u53d1\u5fc5\u5907\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u26a0\ufe0f \u6ce8\u610f\uff1a\u867d\u7136\u8fd9\u91cc\u7528\u4e86&nbsp;<code>sudo pip3<\/code>\uff0c<strong>\u66f4\u63a8\u8350\u7528\u865a\u62df\u73af\u5883<\/strong>\uff08\u540e\u9762\u53ef\u4ee5\u4f18\u5316\uff09\uff0c\u4f46\u4f5c\u4e3a\u5feb\u901f\u8d77\u6b65\uff0c\u8fd9\u6837\u4e5f\u80fd\u5de5\u4f5c\u3002<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\ud83d\udccc \u6240\u4ee5\u7ed3\u8bba\u662f\uff1a<\/strong><\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u2705&nbsp;<strong>\u662f\u7684\uff0c\u8fd9\u5c31\u662f\u6807\u51c6\u90e8\u7f72\u6d41\u7a0b\u7684\u7b2c\u4e00\u6b65 \u2014\u2014 \u201c\u5b89\u88c5\u5fc5\u8981\u7ec4\u4ef6\u201d\u3002<\/strong><br>\u540e\u7eed\u6b65\u9aa4\u901a\u5e38\u5305\u62ec\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u7f16\u5199 Flask \u5e94\u7528\uff08\u6bd4\u5982\u4f60\u7684\u76d1\u63a7\u811a\u672c\uff09<\/li>\n\n\n\n<li>\u914d\u7f6e Nginx \u53cd\u5411\u4ee3\u7406<\/li>\n\n\n\n<li>\u8bbe\u7f6e\u5f00\u673a\u81ea\u542f\uff08\u7528 systemd\uff09<\/li>\n\n\n\n<li>\uff08\u53ef\u9009\uff09\u914d\u7f6e HTTPS\uff08Let&#8217;s Encrypt\uff09<\/li>\n<\/ol>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\ud83d\udd1c \u63a5\u4e0b\u6765\u4f60\u53ef\u4ee5\u505a\u4ec0\u4e48\uff1f<\/strong><\/h3>\n\n\n\n<p>\u5982\u679c\u4f60\u786e\u8ba4\u8fd9\u4e00\u6b65\u5df2\u7ecf\u6210\u529f\u8fd0\u884c\uff08\u6ca1\u6709\u62a5\u9519\uff09\uff0c\u4e0b\u4e00\u6b65\u5c31\u662f\uff1a<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u2705 \u7b2c\u4e8c\u6b65\uff1a\u521b\u5efa\u4f60\u7684 Flask \u76d1\u63a7\u5e94\u7528<\/strong><\/h4>\n\n\n\n<p>\u4f8b\u5982\u4fdd\u5b58\u4e3a&nbsp;<code>\/home\/youruser\/app.py<\/code>\uff1a<\/p>\n\n\n\n<p>python<\/p>\n\n\n\n<p>\u7f16\u8f91<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from flask import Flask, jsonify\nimport psutil\n\napp = Flask(__name__)\n\n@app.route('\/metrics')\ndef metrics():\n    return jsonify({\n        'cpu_percent': psutil.cpu_percent(),\n        'memory_percent': psutil.virtual_memory().percent,\n        'disk_percent': psutil.disk_usage('\/').percent\n    })\n\nif __name__ == '__main__':\n    app.run(host='0.0.0.0', port=5000)<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u26a0\ufe0f \u522b\u5fd8\u4e86\u5148\u88c5&nbsp;<code>psutil<\/code>\uff1a<\/p>\n<\/blockquote>\n\n\n\n<p>bash<\/p>\n\n\n\n<p>\u7f16\u8f91<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo pip3 install psutil<\/code><\/pre>\n\n\n\n<p>\u7136\u540e\u6d4b\u8bd5\uff1a<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<p>\u7f16\u8f91<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 app.py\n<em># \u65b0\u7ec8\u7aef\u4e2d\uff1a<\/em>\ncurl http:\/\/localhost:5000\/metrics | jq .<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u2705 \u7b2c 1 \u6b65\uff1a\u5b89\u88c5\u7cfb\u7edf\u7ea7\u8f6f\u4ef6\u5305\uff08\u901a\u8fc7&#038; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[3],"tags":[],"class_list":["post-12","post","type-post","status-publish","format-standard","hentry","category-linux-"],"_links":{"self":[{"href":"https:\/\/word.ronrin.cn\/index.php\/wp-json\/wp\/v2\/posts\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/word.ronrin.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/word.ronrin.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/word.ronrin.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/word.ronrin.cn\/index.php\/wp-json\/wp\/v2\/comments?post=12"}],"version-history":[{"count":1,"href":"https:\/\/word.ronrin.cn\/index.php\/wp-json\/wp\/v2\/posts\/12\/revisions"}],"predecessor-version":[{"id":13,"href":"https:\/\/word.ronrin.cn\/index.php\/wp-json\/wp\/v2\/posts\/12\/revisions\/13"}],"wp:attachment":[{"href":"https:\/\/word.ronrin.cn\/index.php\/wp-json\/wp\/v2\/media?parent=12"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/word.ronrin.cn\/index.php\/wp-json\/wp\/v2\/categories?post=12"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/word.ronrin.cn\/index.php\/wp-json\/wp\/v2\/tags?post=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}