{"id":33402,"date":"2022-12-08T08:19:14","date_gmt":"2023-03-06T11:35:48","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/"},"modified":"2024-04-29T04:17:41","modified_gmt":"2024-04-28T20:17:41","slug":"%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/","title":{"rendered":"\u542f\u7528NGINX\u7684CGI\u8bbe\u7f6e\uff08\u9002\u7528\u4e8eRHEL7\u53ca\u4e4b\u540e\u7248\u672c\uff09"},"content":{"rendered":"<h1>\u9996\u5148<\/h1>\n<p>\u4e3a\u4e86\u80fd\u591f\u4f7f\u7528CGI\uff0c\u5728\u672c\u6b21\u642d\u5efa\u4e2d\uff0c\u6211\u4eec\u5c06\u4f7f\u7528NGINX\u6765\u642d\u5efa\u7531GNU GLOBAL\u521b\u5efa\u7684\u7f51\u9875\u641c\u7d22\u680f\u3002<\/p>\n<h1>\u5efa\u7acbWeb\u670d\u52a1\u5668<\/h1>\n<h2>\u4f7f\u7528\u547d\u4ee4\u5b89\u88c5NGINX\u3002<\/h2>\n<p>\u4ee5\u4e0b\u662f\u6211\u7528\u6bcd\u8bed\u4e2d\u6587\u7684\u4e00\u79cd\u91ca\u4e49\u9009\u62e9\uff1a<br \/>\n\u6211\u6240\u53c2\u8003\u7684\u7f51\u7ad9\u662f\u5173\u4e8e\u5982\u4f55\u5728Red Hat\u4f01\u4e1aLinux\u4e2d\u5b89\u88c5NGINX\u7684\u3002<br \/>\n\u53c2\u8003\u8d44\u6599\u94fe\u63a5\uff1ahttps:\/\/access.redhat.com\/solutions\/1211673<\/p>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u5b89\u88c5NGINX\u3002<\/p>\n<pre class=\"post-pre\"><code>dnf install -y nginx\r\n<\/code><\/pre>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u68c0\u67e5NGINX\u7684\u72b6\u6001\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl status nginx\r\n<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c\u3002<\/p>\n<pre class=\"post-pre\"><code>\u25cf nginx.service - The nginx HTTP and reverse proxy server\r\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/nginx.service; disabled; vendor preset: disabled)\r\n   Active: inactive (dead)\r\n<\/code><\/pre>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u542f\u52a8NGINX\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl start nginx\r\n<\/code><\/pre>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u68c0\u67e5\u72b6\u6001\u3002<br \/>\n\u5f53\u786e\u8ba4\u770b\u5230\u661f\u6807\u65f6\uff0c\u53ef\u4ee5\u786e\u8ba4\u72b6\u6001\u5df2\u53d8\u4e3a&#8221;active (running)&#8221;\u3002<\/p>\n<pre class=\"post-pre\"><code># systemctl status nginx\r\n<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c<\/p>\n<pre class=\"post-pre\"><code>\u25cf nginx.service - The nginx HTTP and reverse proxy server\r\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/nginx.service; disabled; vendor preset: disabled)\r\n   Active: active (running) since Sun 2020-11-29 22:57:15 JST; 5s ago\u3000\u2605\r\n  Process: 1553 ExecStart=\/usr\/sbin\/nginx (code=exited, status=0\/SUCCESS)\r\n  Process: 1551 ExecStartPre=\/usr\/sbin\/nginx -t (code=exited, status=0\/SUCCESS)\r\n  Process: 1549 ExecStartPre=\/usr\/bin\/rm -f \/run\/nginx.pid (code=exited, status=0\/SUCCESS)\r\n Main PID: 1554 (nginx)\r\n    Tasks: 3 (limit: 23529)\r\n   Memory: 14.6M\r\n   CGroup: \/system.slice\/nginx.service\r\n           tq1554 nginx: master process \/usr\/sbin\/nginx\r\n           tq1555 nginx: worker process\r\n           mq1556 nginx: worker process\r\n<\/code><\/pre>\n<h2>\u786e\u8ba4NGINX\u670d\u52a1\u7684\u81ea\u52a8\u542f\u52a8\u8bbe\u7f6e\u3002<\/h2>\n<p>\u6211\u6765\u786e\u8ba4\u4ee5\u4e0b\u547d\u4ee4\uff0c\u786e\u8ba4NGINX\u662f\u5426\u5df2\u88ab\u8bbe\u7f6e\u4e3a\u81ea\u52a8\u542f\u52a8\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl list-unit-files | grep nginx\r\n<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c<\/p>\n<pre class=\"post-pre\"><code>nginx.service                              disabled\r\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u786e\u8ba4\u672a\u8bbe\u7f6e\u81ea\u52a8\u542f\u52a8\u3002<\/p>\n<h2>\u542f\u7528NGINX\u7684\u81ea\u52a8\u542f\u52a8\u670d\u52a1<\/h2>\n<p>\u6267\u884c\u4e0b\u5217\u547d\u4ee4\u4ee5\u542f\u7528NGINX\u7684\u81ea\u52a8\u542f\u52a8\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl enable nginx\r\n<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c<\/p>\n<pre class=\"post-pre\"><code>Created symlink \/etc\/systemd\/system\/multi-user.target.wants\/nginx.service \u2192 \/usr\/lib\/systemd\/system\/nginx.service.\r\n<\/code><\/pre>\n<h2>\u786e\u8ba4\u542f\u7528NGINX\u7684\u670d\u52a1\u81ea\u52a8\u542f\u52a8\u3002<\/h2>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u786e\u8ba4\u5df2\u542f\u7528NGINX\u7684\u81ea\u52a8\u542f\u52a8\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl list-unit-files | grep nginx\r\n<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c (sh\u00ed ji\u00e9 gu\u01d2)<\/p>\n<pre class=\"post-pre\"><code>nginx.service                              enabled\r\n<\/code><\/pre>\n<h2>\u8bf7\u786e\u8ba4\u5728\u7f51\u7edc\u6d4f\u89c8\u5668\u4e2d\u662f\u5426\u663e\u793a\u4e86\u6d4b\u8bd5\u9875\u9762\u3002<\/h2>\n<p>\u8bf7\u5728Web\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u4ee5\u4e0b\u5730\u5740\u4ee5\u786e\u8ba4\u6d4b\u8bd5\u9875\u9762\u662f\u5426\u663e\u793a\u3002<\/p>\n<pre class=\"post-pre\"><code>http:\/\/\u30b5\u30fc\u30d0\u306eIP\u30a2\u30c9\u30ec\u30b9\/\r\n<\/code><\/pre>\n<p>\u9996\u9875\u90e8\u5206\u6458\u5f55<\/p>\n<blockquote><p>\u4f60\u73b0\u5728\u5e94\u8be5\u5c06\u4f60\u7684\u5185\u5bb9\u653e\u5230\u4f60\u9009\u62e9\u7684\u4f4d\u7f6e\uff0c\u5e76\u4e14\u5728 nginx \u914d\u7f6e\u6587\u4ef6 \/etc\/nginx\/nginx.conf \u4e2d\u7f16\u8f91\u6839\u914d\u7f6e\u6307\u4ee4\u3002<\/p><\/blockquote>\n<p>\u7531\u65bc\u4e0a\u8ff0\u63cf\u8ff0\uff0c\u53ef\u4ee5\u78ba\u8a8d&#8221;\/etc\/nginx\/nginx.conf&#8221;\u662f\u8a2d\u5b9a\u6587\u4ef6\u3002<\/p>\n<h1>\u8ba1\u7b97\u673a\u751f\u6210\u56fe\u50cf\u5177\u6709\u5b9e\u73b0\u56fe\u50cf\u5316\u7684\u80fd\u529b\u3002<\/h1>\n<h2>\u542f\u7528NGINX\u7684CGI\u8bbe\u7f6e\u3002<\/h2>\n<p>\u56e0\u4e3a\u4f7f\u7528CGI\u521b\u5efa\u7684GNU GLOBAL Web\u9875\u9762\u641c\u7d22\u6846\uff0c\u9700\u8981\u542f\u7528NGINX\u7684CGI\u3002\u8fd9\u6b21\u6211\u4eec\u4f7f\u7528\u7684\u662ffcgiwrap\u3002<\/p>\n<p>\u4ee5\u4e0b\u662f\u6211\u53c2\u8003\u7684 URL\u3002<\/p>\n<p>FCGI Wrap<br \/>\nhttps:\/\/mogile.web.fc2.com\/nginx_wiki\/start\/topics\/examples\/fcgiwrap\/<\/p>\n<p>FCGI Wrap \u662f\u4e00\u4e2a\u4f7f\u7528\u793a\u4f8b\uff0c\u53ef\u7528\u4e8e\u5728 Nginx \u670d\u52a1\u5668\u4e0a\u5b9e\u73b0 FCGI \u5305\u88c5\u3002<\/p>\n<p>Arch Linux\u7ef4\u57fa\u767e\u79d1<br \/>\nhttps:\/\/wiki.archlinux.jp\/index.php\/Nginx#\u6dfb\u52a0CGI<\/p>\n<p>\u8d64\u5e3d\u5de5\u7a0b\u5e08\u535a\u5ba2<br \/>\nhttps:\/\/rheb.hatenablog.com\/entry\/2019\/08\/16\/EPEL8%E5%88%9D%E6%AD%A5%E5%BC%80%E5%A7%8B%E4%BD%BF%E7%94%A8<\/p>\n<p>\u4f7f\u7528SYSTEMD\u8fdb\u884c\u670d\u52a1\u7ba1\u7406\u7684\u7b2c3\u7ae0<br \/>\nhttps:\/\/access.redhat.com\/documentation\/ja-jp\/red_hat_enterprise_linux\/8\/html\/configuring_basic_system_settings\/managing-services-with-systemd_configuring-basic-system-settings<\/p>\n<h3>\u542f\u7528EPEL\u5b58\u50a8\u5e93<\/h3>\n<p>\u7531\u4e8efcgiwrap\u5305\u5df2\u5305\u542b\u5728EPEL\u5305\u4e2d\uff0c\u56e0\u6b64\u9700\u8981\u542f\u7528EPEL\u5b58\u50a8\u5e93\u3002<\/p>\n<p>\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u6dfb\u52a0EPEL\u4ed3\u5e93\u3002<\/p>\n<pre class=\"post-pre\"><code>dnf install -y https:\/\/dl.fedoraproject.org\/pub\/epel\/epel-release-latest-8.noarch.rpm\r\n<\/code><\/pre>\n<h2>\u641c\u7d22fcgiwrap\u8f6f\u4ef6\u5305\u3002<\/h2>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u641c\u7d22fcgiwrap\u8f6f\u4ef6\u5305\u3002<\/p>\n<pre class=\"post-pre\"><code>dnf search fcgiwrap\r\n<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c<\/p>\n<pre class=\"post-pre\"><code>Updating Subscription Management repositories.\r\n\u30e1\u30bf\u30c7\u30fc\u30bf\u306e\u671f\u9650\u5207\u308c\u306e\u6700\u7d42\u78ba\u8a8d: 0:16:32 \u6642\u9593\u524d\u306e 2020\u5e7411\u670829\u65e5 23\u664206\u520619\u79d2 \u306b\u5b9f\u65bd\u3057\u307e\u3057\u305f\u3002\r\n========================================================== \u540d\u524d \u5b8c\u5168\u4e00\u81f4: fcgiwrap ==========================================================\r\nfcgiwrap.x86_64 : Simple FastCGI wrapper for CGI scripts\r\n<\/code><\/pre>\n<h2>\u786e\u8ba4fcgiwrap\u8f6f\u4ef6\u5305\u63d0\u4f9b\u7684\u5b58\u50a8\u5e93\u3002<\/h2>\n<p>\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u786e\u8ba4fcgiwrap\u8f6f\u4ef6\u5305\u7684\u63d0\u4f9b\u6e90\u3002<\/p>\n<pre class=\"post-pre\"><code>dnf list fcgiwrap\r\n<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c<\/p>\n<pre class=\"post-pre\"><code>Updating Subscription Management repositories.\r\n\u30e1\u30bf\u30c7\u30fc\u30bf\u306e\u671f\u9650\u5207\u308c\u306e\u6700\u7d42\u78ba\u8a8d: 0:16:20 \u6642\u9593\u524d\u306e 2020\u5e7411\u670829\u65e5 23\u664206\u520619\u79d2 \u306b\u5b9f\u65bd\u3057\u307e\u3057\u305f\u3002\r\n\u5229\u7528\u53ef\u80fd\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\r\nfcgiwrap.x86_64                                             1.1.0-12.20181108git99c942c.el8                                              epel\r\n<\/code><\/pre>\n<h2>\u5b89\u88c5fcgiwrap\u8f6f\u4ef6\u5305\u3002<\/h2>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u5b89\u88c5fcgiwrap\u8f6f\u4ef6\u5305\u3002<\/p>\n<pre class=\"post-pre\"><code>dnf install -y fcgiwrap\r\n<\/code><\/pre>\n<p>fcgiwrap\u5305\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u68c0\u67e5\/usr\/share\/doc\/fcgiwrap\/SETUP\uff0c\u56e0\u4e3a\u4ee5\u4e0b\u7684\u63cf\u8ff0\uff0c\u6211\u4eec\u5c06\u4e3aNGINX\u521b\u5efa\u4e00\u4e2a\u5b9a\u5236\u7684unit\u6587\u4ef6\u3002<\/p>\n<p>\u786e\u8ba4\u4ee5\u4e0b\u547d\u4ee4\uff0c\u67e5\u770bfcgiwrap\u76f8\u5173\u6587\u6863\u7684\u5185\u5bb9\u3002<\/p>\n<pre class=\"post-pre\"><code>cat \/usr\/share\/doc\/fcgiwrap\/SETUP\r\n<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff08\u90e8\u5206\u6458\u5f55\uff09<\/p>\n<pre class=\"post-pre\"><code>2. The systemd unit files provided with this package are instantiated and must\r\n   be started by specifiying the desired web server user account. For example,\r\n   when using nginx, the fgciwrap service is enabled then started like so:\r\n\r\n      systemctl enable fcgiwrap@nginx.socket\r\n      systemctl start fcgiwrap@nginx.socket\r\n<\/code><\/pre>\n<h2>\u590d\u5236fcgiwrap\u7684unit\u6587\u4ef6<\/h2>\n<p>\u56e0\u4e3a\u6709\u57fa\u4e8efcgiwrap\u7684unit\u6587\u4ef6\uff0c\u6240\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u590d\u5236unit\u6587\u4ef6\u3002<\/p>\n<pre class=\"post-pre\"><code>cp -p \/usr\/lib\/systemd\/system\/fcgiwrap@.service \/etc\/systemd\/system\/fcgiwrap.service\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>cp -p \/usr\/lib\/systemd\/system\/fcgiwrap@.socket \/etc\/systemd\/system\/fcgiwrap.socket\r\n<\/code><\/pre>\n<p>\u6267\u884c\u4e0b\u9762\u7684\u547d\u4ee4\u6765\u7f16\u8f91 fcgiwrap.socket \u7684 Unit \u6587\u4ef6\u3002<\/p>\n<pre class=\"post-pre\"><code>vi \/etc\/systemd\/system\/fcgiwrap.socket\r\n<\/code><\/pre>\n<h2>fcgiwrap.socket\u5909\u66f4\u524d<\/h2>\n<pre class=\"post-pre\"><code>[Unit]\r\nDescription=fcgiwrap Socket\r\n\r\n[Socket]\r\nListenStream=\/run\/fcgiwrap\/fcgiwrap-%i.sock\r\nRuntimeDirectory=fcgiwrap\r\nSocketUser=%i\r\nSocketMode=0660\r\n\r\n[Install]\r\nWantedBy=sockets.target\r\n<\/code><\/pre>\n<p>\u2605\u90e8\u5206\u5728\u54ea\u91cc\u53d1\u751f\u4e86\u53d8\u5316\u3002<\/p>\n<h2>\u66f4\u6539 fcgiwrap.socket \u540e\u7684\u60c5\u51b5\u3002<\/h2>\n<pre class=\"post-pre\"><code>[Unit]\r\nDescription=fcgiwrap Socket\r\n\r\n[Socket]\r\nListenStream=\/run\/fcgiwrap\/fcgiwrap.sock\u3000\u2605\u540d\u524d\u5909\u66f4\r\nRuntimeDirectory=fcgiwrap\r\nSocketUser=nginx\u3000\u2605\u540d\u524d\u5909\u66f4\r\nSocketMode=0660\r\n\r\n[Install]\r\nWantedBy=sockets.target\r\n<\/code><\/pre>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u7f16\u8f91 fcgiwrap.service \u7684 Unit \u6587\u4ef6\u3002<\/p>\n<pre class=\"post-pre\"><code>vi \/etc\/systemd\/system\/fcgiwrap.service\r\n<\/code><\/pre>\n<h2>fcgiwrap.service\u4e4b\u524d\u7684\u66f4\u6539<\/h2>\n<pre class=\"post-pre\"><code>[Unit]\r\nDescription=Simple CGI Server\r\nAfter=nss-user-lookup.target\r\n\r\n[Service]\r\nEnvironmentFile=\/etc\/sysconfig\/fcgiwrap\r\nExecStart=\/usr\/sbin\/fcgiwrap ${DAEMON_OPTS} -c ${DAEMON_PROCS}\r\nUser=%i\r\n\r\n[Install]\r\nAlso=fcgiwrap@%i.socket\r\n<\/code><\/pre>\n<p>\u2605\u9019\u90e8\u5206\u662f\u9700\u8981\u4fee\u6539\u7684\u5730\u65b9\u3002<\/p>\n<h2>fcgiwrap.service\u4fee\u6539\u4e4b\u540e<\/h2>\n<pre class=\"post-pre\"><code>[Unit]\r\nDescription=Simple CGI Server\r\nAfter=nss-user-lookup.target\r\nRequires=fcgiwrap.socket \u2605\u8ffd\u8a18\r\n\r\n[Service]\r\nEnvironmentFile=\/etc\/sysconfig\/fcgiwrap\r\nExecStart=\/usr\/sbin\/fcgiwrap ${DAEMON_OPTS} -c ${DAEMON_PROCS}\r\nUser=nginx\u3000\u2605\u540d\u524d\u5909\u66f4\r\n\r\n[Install]\r\nAlso=fcgiwrap.socket\u3000\u2605\u540d\u524d\u5909\u66f4\r\n<\/code><\/pre>\n<h2>\u68c0\u67e5fcgiwrap\u670d\u52a1\u7684\u81ea\u52a8\u542f\u52a8\u8bbe\u7f6e\u3002<\/h2>\n<p>\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u786e\u8ba4fcgiwrap\u7684\u81ea\u52a8\u542f\u52a8\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl list-unit-files | grep fcgiwrap\r\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u786e\u8ba4 fcgiwrap \u76f8\u5173\u7684\u81ea\u52a8\u542f\u52a8\u8bbe\u7f6e\u6ca1\u6709\u88ab\u914d\u7f6e\u3002<\/p>\n<pre class=\"post-pre\"><code>fcgiwrap.service                           indirect\r\nfcgiwrap@.service                          indirect\r\nfcgiwrap.socket                            disabled\r\nfcgiwrap@.socket                           disabled\r\n<\/code><\/pre>\n<h2>\u542f\u7528\u4e0efcgiwrap\u76f8\u5173\u7684\u670d\u52a1\u81ea\u52a8\u542f\u52a8\u3002<\/h2>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u542f\u7528fcgiwrap\u7684\u81ea\u52a8\u542f\u52a8\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl enable fcgiwrap\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>Created symlink \/etc\/systemd\/system\/sockets.target.wants\/fcgiwrap.socket \u2192 \/etc\/systemd\/system\/fcgiwrap.socket.\r\n<\/code><\/pre>\n<h2>\u786e\u8ba4\u662f\u5426\u542f\u7528\u4e86\u4e0efcgiwrap\u76f8\u5173\u7684\u81ea\u52a8\u542f\u52a8\u670d\u52a1\u3002<\/h2>\n<p>\u8bf7\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u786e\u8ba4fcgiwrap\u5df2\u542f\u7528\u81ea\u52a8\u542f\u52a8\u529f\u80fd\u7684\u8bbe\u7f6e\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl list-unit-files | grep fcgiwrap\r\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u786e\u8ba4fcgiwrap.socket\u5df2\u542f\u7528\u3002<br \/>\nfcgiwrap.socket\u662ffcgiwrap.service\u542f\u52a8\u7684\u5148\u51b3\u6761\u4ef6\uff0c\u56e0\u6b64\u53ea\u9700\u542f\u7528fcgiwrap.socket\u800c\u65e0\u9700\u95ee\u9898\u3002<\/p>\n<pre class=\"post-pre\"><code>fcgiwrap.service                           indirect\r\nfcgiwrap@.service                          indirect\r\nfcgiwrap.socket                            enabled\r\nfcgiwrap@.socket                           disabled\r\n<\/code><\/pre>\n<h2>\u5c06\u8bbe\u7f6e\u5e94\u7528\u4e8esystemd<\/h2>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u5c06\u65b0\u521b\u5efa\u7684Unit\u6587\u4ef6\u52a0\u8f7d\u5230systemd\u4e2d\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl daemon-reload\r\n<\/code><\/pre>\n<h2>\u542f\u52a8fcgiwrap\u670d\u52a1<\/h2>\n<p>\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u6765\u542f\u52a8fcgiwrap\u670d\u52a1\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl start fcgiwrap\r\n<\/code><\/pre>\n<h2>\u786e\u8ba4fcgiwrap\u670d\u52a1\u5df2\u542f\u52a8<\/h2>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u542f\u52a8\u548c\u786e\u8ba4fcgiwrap\u670d\u52a1\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl status fcgiwrap\r\n<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c<\/p>\n<pre class=\"post-pre\"><code>\u25cf fcgiwrap.service - Simple CGI Server\r\n   Loaded: loaded (\/etc\/systemd\/system\/fcgiwrap.service; indirect; vendor preset: disabled)\r\n   Active: active (running) since Sun 2020-11-29 23:51:49 JST; 5s ago\r\n Main PID: 2097 (fcgiwrap)\r\n    Tasks: 1 (limit: 23529)\r\n   Memory: 440.0K\r\n   CGroup: \/system.slice\/fcgiwrap.service\r\n           mq2097 \/usr\/sbin\/fcgiwrap -f -c 1\r\n<\/code><\/pre>\n<h2>\u542f\u7528NGINX\u7684CGI\u8bbe\u7f6e<\/h2>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u7f16\u8f91nginx.conf\u6587\u4ef6\u3002<\/p>\n<pre class=\"post-pre\"><code>vi \/etc\/nginx\/nginx.conf\r\n<\/code><\/pre>\n<h2>nginx.conf\u6539\u52a8\u4e4b\u524d<\/h2>\n<pre class=\"post-pre\"><code>    server {\r\n        listen       80 default_server;\r\n        listen       [::]:80 default_server;\r\n        server_name  _;\r\n        root         \/usr\/share\/nginx\/html;\r\n\r\n        # Load configuration files for the default server block.\r\n        include \/etc\/nginx\/default.d\/*.conf;\r\n\r\n        location \/ {\r\n        }\r\n\r\n        error_page 404 \/404.html;\r\n            location = \/40x.html {\r\n        }\r\n\r\n        error_page 500 502 503 504 \/50x.html;\r\n            location = \/50x.html {\r\n        }\r\n    }\r\n<\/code><\/pre>\n<h2>\u4fee\u6539\u4e86nginx.conf\u4e4b\u540e<\/h2>\n<pre class=\"post-pre\"><code>    server {\r\n        listen       80 default_server;\r\n        listen       [::]:80 default_server;\r\n        server_name  _;\r\n        root         \/usr\/share\/nginx\/html;\r\n\r\n----------  \u8ffd\u8a18\u3053\u3053\u304b\u3089  ----------\r\n        location ~ \\.cgi$ {\r\n        fastcgi_pass   unix:\/run\/fcgiwrap\/fcgiwrap.sock;\r\n        include        \/etc\/nginx\/fastcgi.conf;\r\n        }\r\n----------  \u8ffd\u8a18\u3053\u3053\u307e\u3067  ----------\r\n\r\n        # Load configuration files for the default server block.\r\n        include \/etc\/nginx\/default.d\/*.conf;\r\n\r\n        location \/ {\r\n        }\r\n\r\n        error_page 404 \/404.html;\r\n            location = \/40x.html {\r\n        }\r\n\r\n        error_page 500 502 503 504 \/50x.html;\r\n            location = \/50x.html {\r\n        }\r\n    }\r\n<\/code><\/pre>\n<h2>\u5728\u4e2d\u6587\u4e0a\uff0c\u53ef\u4ee5\u5c06&#8221;NGINX\u306e\u69cb\u6587\u30c1\u30a7\u30c3\u30af&#8221;\u7ffb\u8bd1\u4e3a&#8221;\u5bf9NGINX\u914d\u7f6e\u8fdb\u884c\u8bed\u6cd5\u68c0\u67e5&#8221;\u3002<\/h2>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u68c0\u67e5nginx.conf\u7684\u8bed\u6cd5\u3002<br \/>\n\u5982\u679c\u8bed\u6cd5\u6709\u95ee\u9898\uff0c\u5c06\u8fdb\u884c\u6545\u969c\u6392\u9664\uff0c\u76f4\u5230\u663e\u793a&#8221;syntax is ok&#8221;\u4e3a\u6b62\u901a\u8fc7&#8221;nginx -t&#8221;\u547d\u4ee4\u3002<\/p>\n<pre class=\"post-pre\"><code>nginx -t\r\n<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c<\/p>\n<pre class=\"post-pre\"><code>nginx: the configuration file \/etc\/nginx\/nginx.conf syntax is ok\r\nnginx: configuration file \/etc\/nginx\/nginx.conf test is successful\r\n<\/code><\/pre>\n<h2>\u5c06NGINX\u548cfcgiwrap\u7684\u914d\u7f6e\u5e94\u7528<\/h2>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u91cd\u65b0\u542f\u52a8\u548c\u786e\u8ba4NGINX\u548cfcgiwrap\u670d\u52a1\u3002<\/p>\n<pre class=\"post-pre\"><code>systemctl restart nginx\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>systemctl restart fcgiwrap\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>systemctl status nginx\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>systemctl status fcgiwrap\r\n<\/code><\/pre>\n<h2>\u786e\u8ba4\u542f\u7528\u4e86Web\u9875\u9762\u7684CGI<\/h2>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u521b\u5efa\u4e00\u4e2aCGI\u6267\u884c\u6d4b\u8bd5\u9875\u9762\u3002<\/p>\n<pre class=\"post-pre\"><code>vi test.cgi\r\n<\/code><\/pre>\n<p>\u6587\u4ef6\u7684\u5185\u5bb9\u5982\u4e0b\u3002<\/p>\n<pre class=\"post-pre\"><code>#!\/usr\/bin\/perl\r\nprint \"Content-type: text\/html \\n\\n\";\r\nprint \"Hello World\";\r\n<\/code><\/pre>\n<p>\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u5728\u6d4b\u8bd5\u9875\u9762\u4e0a\u8d4b\u4e88\u8bfb\u53d6\u548c\u6267\u884c\u6743\u9650\u3002<\/p>\n<pre class=\"post-pre\"><code>chmod 755 test.cgi\r\n<\/code><\/pre>\n<p>\u8bf7\u5728\u6d4f\u89c8\u5668\u4e2d\u8bbf\u95ee\u4ee5\u4e0b\u5730\u5740\uff0c\u786e\u8ba4\u662f\u5426\u663e\u793a\u4e86&#8221;\u4f60\u597d\uff0c\u4e16\u754c&#8221;\u3002<\/p>\n<pre class=\"post-pre\"><code>http:\/\/\u30b5\u30fc\u30d0IP\/test.cgi\r\n<\/code><\/pre>\n<h1>\u603b\u7ed3<\/h1>\n<p>\u6211\u7b2c\u4e00\u6b21\u77e5\u9053\u76f8\u6bd4\u4e8eApache\uff0c\u542f\u7528CGI\u5728NGINX\u4e0a\u9700\u8981\u6295\u5165\u4e00\u4e9b\u989d\u5916\u7684\u52aa\u529b\u3002\u867d\u7136\u672c\u6b21\u7684\u7814\u7a76\u548c\u5b9e\u673a\u9a8c\u8bc1\u82b1\u8d39\u7684\u65f6\u95f4\u8d85\u51fa\u9884\u671f\uff0c\u4f46\u6700\u7ec8\u8fd8\u662f\u6210\u529f\u5b8c\u6210\u4e86\u8bbe\u7f6e\uff0c\u6211\u8ba4\u4e3a\u8fd9\u5f88\u4e0d\u9519\u3002\u4e0b\u6b21\uff0c\u6211\u5e0c\u671b\u80fd\u591f\u4f7f\u7528\u6e90\u4ee3\u7801\u5305\uff0c\u5728GNU GLOBAL\u4e2d\u521b\u5efaHTML\u6587\u4ef6\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u4e3a\u4e86\u80fd\u591f\u4f7f\u7528CGI\uff0c\u5728\u672c\u6b21\u642d\u5efa\u4e2d\uff0c\u6211\u4eec\u5c06\u4f7f\u7528NGINX\u6765\u642d\u5efa\u7531GNU GLOBAL\u521b\u5efa\u7684\u7f51\u9875\u641c\u7d22\u680f\u3002 \u5efa [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-33402","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u542f\u7528NGINX\u7684CGI\u8bbe\u7f6e\uff08\u9002\u7528\u4e8eRHEL7\u53ca\u4e4b\u540e\u7248\u672c\uff09 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u542f\u7528nginx\u7684cgi\u8bbe\u7f6e\uff08\u9002\u7528\u4e8erhel7\u53ca\u4e4b\u540e\u7248\u672c\uff09\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u542f\u7528NGINX\u7684CGI\u8bbe\u7f6e\uff08\u9002\u7528\u4e8eRHEL7\u53ca\u4e4b\u540e\u7248\u672c\uff09\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 \u4e3a\u4e86\u80fd\u591f\u4f7f\u7528CGI\uff0c\u5728\u672c\u6b21\u642d\u5efa\u4e2d\uff0c\u6211\u4eec\u5c06\u4f7f\u7528NGINX\u6765\u642d\u5efa\u7531GNU GLOBAL\u521b\u5efa\u7684\u7f51\u9875\u641c\u7d22\u680f\u3002 \u5efa [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u542f\u7528nginx\u7684cgi\u8bbe\u7f6e\uff08\u9002\u7528\u4e8erhel7\u53ca\u4e4b\u540e\u7248\u672c\uff09\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-06T11:35:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-28T20:17:41+00:00\" \/>\n<meta name=\"author\" content=\"\u79d1, \u9896\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u79d1, \u9896\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/\",\"name\":\"\u542f\u7528NGINX\u7684CGI\u8bbe\u7f6e\uff08\u9002\u7528\u4e8eRHEL7\u53ca\u4e4b\u540e\u7248\u672c\uff09 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-03-06T11:35:48+00:00\",\"dateModified\":\"2024-04-28T20:17:41+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/8ca01ba7f7362ad4edb7da206a12f29e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u542f\u7528NGINX\u7684CGI\u8bbe\u7f6e\uff08\u9002\u7528\u4e8eRHEL7\u53ca\u4e4b\u540e\u7248\u672c\uff09\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/8ca01ba7f7362ad4edb7da206a12f29e\",\"name\":\"\u79d1, \u9896\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8a6fb3cc7ba2f69d2189ba532aec4633ea7ed75ac0af162ec367cb3abc0fb2af?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8a6fb3cc7ba2f69d2189ba532aec4633ea7ed75ac0af162ec367cb3abc0fb2af?s=96&d=mm&r=g\",\"caption\":\"\u79d1, \u9896\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keying\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u542f\u7528NGINX\u7684CGI\u8bbe\u7f6e\uff08\u9002\u7528\u4e8eRHEL7\u53ca\u4e4b\u540e\u7248\u672c\uff09 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u542f\u7528nginx\u7684cgi\u8bbe\u7f6e\uff08\u9002\u7528\u4e8erhel7\u53ca\u4e4b\u540e\u7248\u672c\uff09\/","og_locale":"zh_CN","og_type":"article","og_title":"\u542f\u7528NGINX\u7684CGI\u8bbe\u7f6e\uff08\u9002\u7528\u4e8eRHEL7\u53ca\u4e4b\u540e\u7248\u672c\uff09","og_description":"\u9996\u5148 \u4e3a\u4e86\u80fd\u591f\u4f7f\u7528CGI\uff0c\u5728\u672c\u6b21\u642d\u5efa\u4e2d\uff0c\u6211\u4eec\u5c06\u4f7f\u7528NGINX\u6765\u642d\u5efa\u7531GNU GLOBAL\u521b\u5efa\u7684\u7f51\u9875\u641c\u7d22\u680f\u3002 \u5efa [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u542f\u7528nginx\u7684cgi\u8bbe\u7f6e\uff08\u9002\u7528\u4e8erhel7\u53ca\u4e4b\u540e\u7248\u672c\uff09\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-03-06T11:35:48+00:00","article_modified_time":"2024-04-28T20:17:41+00:00","author":"\u79d1, \u9896","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u79d1, \u9896","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/","name":"\u542f\u7528NGINX\u7684CGI\u8bbe\u7f6e\uff08\u9002\u7528\u4e8eRHEL7\u53ca\u4e4b\u540e\u7248\u672c\uff09 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-03-06T11:35:48+00:00","dateModified":"2024-04-28T20:17:41+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/8ca01ba7f7362ad4edb7da206a12f29e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u542f\u7528NGINX\u7684CGI\u8bbe\u7f6e\uff08\u9002\u7528\u4e8eRHEL7\u53ca\u4e4b\u540e\u7248\u672c\uff09"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/8ca01ba7f7362ad4edb7da206a12f29e","name":"\u79d1, \u9896","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8a6fb3cc7ba2f69d2189ba532aec4633ea7ed75ac0af162ec367cb3abc0fb2af?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8a6fb3cc7ba2f69d2189ba532aec4633ea7ed75ac0af162ec367cb3abc0fb2af?s=96&d=mm&r=g","caption":"\u79d1, \u9896"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keying\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%90%af%e7%94%a8nginx%e7%9a%84cgi%e8%ae%be%e7%bd%ae%ef%bc%88%e9%80%82%e7%94%a8%e4%ba%8erhel7%e5%8f%8a%e4%b9%8b%e5%90%8e%e7%89%88%e6%9c%ac%ef%bc%89\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/33402","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=33402"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/33402\/revisions"}],"predecessor-version":[{"id":81211,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/33402\/revisions\/81211"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=33402"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=33402"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=33402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}