{"id":527,"date":"2019-11-19T11:42:37","date_gmt":"2019-11-19T03:42:37","guid":{"rendered":"https:\/\/cloudbool.com\/archive\/?p=527"},"modified":"2019-11-19T11:42:37","modified_gmt":"2019-11-19T03:42:37","slug":"centos-8-nginx-php-mysql","status":"publish","type":"post","link":"https:\/\/cloudbool.com\/archive\/centos-8-nginx-php-mysql.html","title":{"rendered":"CentOS 8\u914d\u7f6eNginx+PHP+MySQL"},"content":{"rendered":"<p>\u4f5c\u4e3a\u670d\u52a1\u5668\u7cfb\u7edf\u518d\u52a0\u4e0a\u4e00\u4e2aPHP\u5f00\u53d1\u8005\uff0c\u4f7f\u7528CentOS8\u7cfb\u7edf\u8fd0\u884cLNMP\u6280\u672f\u6808\u662f\u4ef6\u5f88\u6b63\u5e38\u7684\u4e8b\uff0c\u518d\u52a0\u4e0a\u4f5c\u4e3a\u4e00\u4e2a\u5f3a\u8feb\u75c7\uff0c\u6709\u4e86\u8fd9\u79cd\u65b0\u7cfb\u7edf\u8f6f\u4ef6\u65b0\u7248\u672c\uff0c\u5fcd\u4e0d\u4f4f\u60f3\u8981\u6298\u817e\u4e0b\uff0c\u8fd9\u91cc\u628a\u6211\u5728CentOS8\u4e0a\u7684\u914d\u7f6eNginx+PHP+MySQL\u8fc7\u7a0b\u53ca\u9047\u5230\u7684\u5751\u8bb0\u5f55\u4e00\u4e0b\uff0c\u987a\u4fbf\u5907\u4efd\u4e0b\u76f8\u5173\u914d\u7f6e\u6587\u4ef6\uff0c\u65b9\u4fbf\u81ea\u5df1\u6709\u9700\u8981\u7684\u670b\u53cb\u67e5\u627e\u3002<br \/>\n<!--more--><\/p>\n<h2>\u5f00\u59cb\u4e4b\u524d<\/h2>\n<p>\u5f00\u59cb\u914d\u7f6e\u4e4b\u524d\uff0c\u8bf4\u8bf4\u51e0\u4e2a\u524d\u63d0\u6761\u4ef6\uff1a<\/p>\n<ul>\n<li>\u5982\u679c\u662f\u65b0\u624b\u4e0a\u8def\uff0c\u9700\u8981\u4e00\u4e2a\u6d4b\u8bd5\u73af\u5883\u6765\u719f\u6089CentOS8\u7cfb\u7edf\uff0c\u5efa\u8bae\u53c2\u8003\u8fd9\u91cc\uff1a<a href=\"https:\/\/cloudbool.com\/archive\/vultr.html\">Vultr-\u6708\u4ed82.5\u7f8e\u5143\u8d77\u9ad8\u6027\u4ef7\u6bd4VPS \u65b0\u6ce8\u518c\u8d60\u900150\u7f8e\u5143<\/a><\/li>\n<li>\u56e0\u4e3aCentOS8\u7cfb\u7edf\u4e5f\u521a\u53d1\u5e03\u4e0d\u4e45\uff0c\u90e8\u5206\u4e3b\u673a\u5546\u63d0\u4f9b\u7684\u7cfb\u7edf\u6a21\u677f\u8fd8\u6ca1\u6709\u5305\u62ecCentOS8\uff0c\u6216\u8005\u81ea\u5df1\u60f3\u5c1d\u8bd5\u6700\u5c0f\u5316\/\u7eaf\u51c0\u5b89\u88c5CentOS8\u7cfb\u7edf\uff0c\u53ef\u4ee5\u53c2\u8003\u8fd9\u91cc\uff1a<a href=\"https:\/\/cloudbool.com\/archive\/centos8-iso-install.html\">\u5229\u7528ISO\u6587\u4ef6\u5b89\u88c5CentOS8<\/a><\/li>\n<li>\u6709\u4e86CentOS8\u7cfb\u7edf\u7684\uff0c\u4f46\u662f\u5f53\u524d\u73af\u5883\u4e0d\u65b9\u4fbf\u8fde\u63a5\u5230CentOS8\u7cfb\u7edf\uff0c\u53ef\u4ee5\u53c2\u8003\u8fd9\u91cc\u8fdb\u884cWeb\u7ba1\u7406\uff1a<a href=\"https:\/\/cloudbool.com\/archive\/centos8-cockpit.html\">CentOS8\u4f7f\u7528Cockpit\u8fdb\u884cWeb\u7ba1\u7406\u670d\u52a1\u5668<\/a><\/li>\n<li>\u9664\u4e86\u5305\u7ba1\u7406\u5668\uff0cCentOS8\u7cfb\u7edf\u8fd8\u53ef\u4ee5\u4f7f\u7528AppStream\u5b89\u88c5\u8f6f\u4ef6\u5305\uff1a<a href=\"https:\/\/cloudbool.com\/archive\/centos-8-appstream.html\">CentOS 8 \u7cfb\u7edfAppStream\u4f7f\u7528<\/a><\/li>\n<\/ul>\n<p>\u672c\u6587\u662f\u57fa\u4e8eCentOS8\u7cfb\u7edf\u8fdb\u884c\u914d\u7f6eNginx+PHP+MySQL\uff0c\u5982\u679c\u662f\u5bf9Linux\u4e0d\u719f\u6089\u7684\u670b\u53cb\uff0c\u5efa\u8bae\u5907\u4efd\u6570\u636e\u91cd\u65b0\u5b89\u88c5\u4e00\u4e2a\u7eaf\u51c0\u7248\u7684\u7cfb\u7edf\u518d\u8ddf\u7740\u6b65\u9aa4\u8d70\uff0c\u4ee5\u514d\u9047\u5230\u4e00\u4e9b\u672a\u9884\u671f\u7684\u95ee\u9898\u3002<br \/>\n\u867d\u7136CentOS8\u652f\u6301\u4f7f\u7528AppStream\u5b89\u88c5\u8f6f\u4ef6\uff0c\u4f46\u662f\u56e0\u4e3a\u6709\u4e9bmodule\u4e0d\u80fd\u628a\u6240\u6709\u9700\u8981\u7684\u8f6f\u4ef6\u7ec4\u4ef6\u5b89\u88c5\u4e0a\uff0c\u6240\u4ee5\u6211\u8fd9\u91cc\u8fd8\u662f\u4f7f\u7528\u7684\u4f20\u7edf\u7684\u5305\u7ba1\u7406\u5668\u8fdb\u884c\u5b89\u88c5\u3002<\/p>\n<h2>\u4e3aPHP-FPM\u53caNginx\u521b\u5efa\u4e13\u95e8\u7684\u7528\u6237<\/h2>\n<p>\u8003\u8651\u5230\u5b89\u5168\u95ee\u9898\uff0c\u6211\u5efa\u8bae\u4e3aPHP-FPM\u53caNginx\u4e13\u95e8\u521b\u5efa\u4e00\u4e2a\u53ea\u7528\u6765\u8dd1Web\u670d\u52a1\u3001\u6ca1\u6709home\u76ee\u5f55\u4e5f\u4e0d\u5141\u8bb8\u767b\u5f55\u7684\u7528\u6237\uff0c\u6211\u8fd9\u91cc\u662f\u521b\u5efa\u4e00\u4e2awww\u7528\u6237\u7ec4\uff0c\u7136\u540e\u521b\u5efa\u4e00\u4e2awww\u7528\u6237\u5e76\u5206\u914d\u5230www\u7ec4\uff0c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n<pre><code>groupadd www\nuseradd -s \/sbin\/nologin www -g www -M\n<\/code><\/pre>\n<p><strong>-s<\/strong>\u53c2\u6570\u662f\u8868\u793a\u4e0d\u5141\u8bb8\u767b\u5f55\uff0c<strong>-g<\/strong>\u53c2\u6570\u662f\u5206\u914d\u5230www\u7ec4\uff0c<strong>-M<\/strong>\u8868\u793a\u4e0d\u521b\u5efa\u7528\u6237\u76ee\u5f55\u3002<br \/>\n\u540e\u9762\u6211\u4eec\u7edf\u4e00\u7528www\u7528\u6237\u7ec4\u4e0b\u9762\u7684www\u7528\u6237\u6765\u8fd0\u884cNginx\u53caPHP-FPM\uff0c\u8fd9\u6837\u5c31\u80fd\u89e3\u51b3\u6587\u4ef6\u8bfb\u5199\u6743\u9650\u95ee\u9898\u3002<\/p>\n<h2>\u5b89\u88c5PHP<\/h2>\n<p>CentOS8\u81ea\u5e26\u4e86PHP7.2\u7248\u672c\uff0c\u76f8\u5bf9\u6765\u8bf4\u6bd4\u8f83\u65b0\uff0c\u6682\u65f6\u4e0d\u9700\u8981\u501f\u52a9\u7b2c\u4e09\u65b9\u7684\u6e90\u6765\u5b89\u88c5\uff0c\u800c\u4e14CentOS8\u81ea\u5e26\u7684PHP\u7684\u6a21\u5757\u4e5f\u76f8\u5bf9\u6765\u8bf4\u591f\u7528\uff0c\u4f7f\u7528\u4e0b\u9762\u547d\u4ee4\u53ef\u4ee5\u770b\u5230\u6240\u6709PHP\u76f8\u5173\u7684\u5305\uff1a<\/p>\n<pre><code>[root@cloudbool-Vultr ~]# yum search php\nLast metadata expiration check: 0:01:07 ago on Thu 07 Nov 2019 12:39:59 PM UTC.\n============================================================================================ Name &amp; Summary Matched: php =============================================================================================\nphp.x86_64 : PHP scripting language for creating dynamic web sites\nphp-common.x86_64 : Common files for PHP\nphp-common.x86_64 : Common files for PHP\nphp-fpm.x86_64 : PHP FastCGI Process Manager\nphp-fpm.x86_64 : PHP FastCGI Process Manager\nphp-dbg.x86_64 : The interactive PHP debugger\nphp-cli.x86_64 : Command-line interface for PHP\nphp-cli.x86_64 : Command-line interface for PHP\nphp-pgsql.x86_64 : A PostgreSQL database module for PHP\nphp-devel.x86_64 : Files needed for building PHP extensions\nphp-xml.x86_64 : A module for PHP applications which use XML\nphp-xml.x86_64 : A module for PHP applications which use XML\nphp-ldap.x86_64 : A module for PHP applications that use LDAP\nphp-json.x86_64 : JavaScript Object Notation extension for PHP\nphp-json.x86_64 : JavaScript Object Notation extension for PHP\nphp-embedded.x86_64 : PHP library for embedding in applications\nphp-enchant.x86_64 : Enchant spelling extension for PHP applications\nphp-pear.noarch : PHP Extension and Application Repository framework\nphp-intl.x86_64 : Internationalization extension for PHP applications\nphp-pear-Cache-Lite.noarch : Fast and Safe little cache system for PHP\nphp-odbc.x86_64 : A module for PHP applications that use ODBC databases\nphp-dba.x86_64 : A database abstraction layer module for PHP applications\nphp-pdo.x86_64 : A database access abstraction module for PHP applications\nphp-soap.x86_64 : A module for PHP applications that use the SOAP protocol\nphp-gmp.x86_64 : A module for PHP applications for using the GNU MP library\nphp-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases\nphp-process.x86_64 : Modules for PHP script using system process interfaces\nphp-bcmath.x86_64 : A module for PHP applications for using the bcmath library\nphp-recode.x86_64 : A module for PHP applications for using the recode library\nphp-gd.x86_64 : A module for PHP applications for using the gd graphics library\nphp-snmp.x86_64 : A module for PHP applications that query SNMP-managed devices\nphp-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol\nphp-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling\nphp-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling\nperl-PHP-Serialization.noarch : Converts between PHP's serialize() output and the equivalent Perl structure\n================================================================================================= Name Matched: php ==================================================================================================\nphp-opcache.x86_64 : The Zend OPcache\nphp-pecl-zip.x86_64 : A ZIP archive management extension\nphp-pecl-apcu.x86_64 : APC User Cache\nphp-pear-Date.noarch : Date and Time Zone Classes\nphp-pear-Mail.noarch : Class that provides multiple interfaces for sending emails\nphp-pear-Net-URL.noarch : Easy parsing of URLs\nphp-pear-Net-SMTP.noarch : Provides an implementation of the SMTP protocol\nphp-pear-Auth-SASL.noarch : Abstraction of various SASL mechanism responses\nphp-pecl-apcu-devel.x86_64 : APCu developer files (header)\nphp-pear-Net-Socket.noarch : Network Socket Interface\nphp-pear-HTTP-Request.noarch : Provides an easy way to perform HTTP requests\n<\/code><\/pre>\n<p>\u5176\u4e2d\uff0cphp-cli\u662f\u6211\u4eec\u547d\u4ee4\u8fd0\u884cPHP\u6240\u9700\u8981\u7684\uff0cphp-fpm\u662f\u7528\u6765\u914d\u5408Nginx\u4f7f\u7528\u7684\uff0cphp-mysqlnd\u662f\u8fde\u63a5MySQL\u4f7f\u7528\u7684\uff0cphp-pear\u5728\u5b89\u88c5\u4e00\u4e9b\u7279\u5b9a\u7684\u6a21\u5757\u6bd4\u5982\u8bf4Redis\u3001MongoDB\u3001Swoole\u7b49\u9700\u8981\u7528\u5230\uff0cphp-mbstring\u5305\u542b\u4e86\u4e00\u4e9b\u52a0\u5bc6\u89e3\u5bc6\u51fd\u6570\uff0cphp-gd\u662f\u56fe\u5f62\u5e93\uff0c\u751f\u6210\u56fe\u5f62\u9a8c\u8bc1\u7801\u53ef\u80fd\u9700\u8981\u7528\u5230\uff0cphp-opcache\u662f\u7528\u6765\u52a0\u901fPHP\u8fd0\u884c\u7684\uff0cphp-process\u5728Swoole\u76f8\u5173\u8fdb\u884c\u9700\u8981\u7528\u5230\u7b49\u7b49\u3002<\/p>\n<h3>\u5b89\u88c5PHP\u76f8\u5173\u5305<\/h3>\n<p>PHP\u7684\u6a21\u5757\u6211\u4eec\u4e0d\u9700\u8981\u5168\u90e8\u5b89\u88c5\uff0c\u4ec5\u9700\u8981\u5b89\u88c5\u4e00\u4e9b\u5fc5\u987b\u7684\uff0c\u4ee5\u5e38\u7528\u7684WordPress\u53caLaravel\u6765\u8bf4\uff0c\u6211\u4eec\u53ea\u9700\u8981\u5b89\u88c5\u5982\u4e0b\u51e0\u4e2a\u5305\u5c31\u884c\uff1a<\/p>\n<blockquote><p>\n  yum install php-cli php-fpm php-gd php-mysqlnd php-mbstring php-opcache php-pdo\n<\/p><\/blockquote>\n<h3>\u914d\u7f6ePHP-FPM<\/h3>\n<p>\u5b89\u88c5\u597d\u4e86\u4e4b\u540e\uff0c\u6211\u4eec\u8fd8\u9700\u8981\u7a0d\u7a0d\u914d\u7f6e\u4e00\u4e0bPHP-FPM\uff0c\u4ee5\u8ba9\u5176\u66f4\u597d\u7684\u4e0eNginx\u8fdb\u884c\u914d\u5408\u5de5\u4f5c\u3002<br \/>\n\u7f16\u8f91**\/etc\/php-fpm.d\/www.conf **\u6587\u4ef6\uff0c\u8fd9\u4e2a\u6587\u4ef6\u6709\u4e24\u4e2a\u9700\u8981\u6ce8\u610f\u7684\u5730\u65b9\uff0c\u5176\u4e2d\u4e00\u4e2a\u5c31\u662f\u8fd0\u884cPHP-FPM\u7684\u7528\u6237\u53ca\u5bf9\u5e94\u7684\u7528\u6237\u7ec4\uff1a<\/p>\n<pre><code>vim \/etc\/php-fpm.d\/www.conf\n:%s\/apache\/www\/g\n<\/code><\/pre>\n<p>\u4fee\u6539\u4e0a\u8ff0\u6587\u4ef6\uff0c\u5c06\u5176\u4e2d\u7684<strong>user<\/strong>\u53ca<strong>group<\/strong>\u5b57\u6bb5\u7531apache\u66f4\u6539\u6210\u4e0a\u8ff0\u6211\u4eec\u521b\u5efa\u7684<strong>www<\/strong>\u3002<br \/>\n\u53e6\u5916\u4e00\u4e2a\u5c31\u662f**listen = \/run\/php-fpm\/www.sock **\u8fd9\u4e2a\u914d\u7f6e\u9879\uff0c\u8fd9\u4e00\u884c\u914d\u7f6e\u4e86PHP-FPM\u8fd0\u884c\u6a21\u5f0f\u53ca\u5bf9\u5e94\u7684\u6587\u4ef6\u76ee\u5f55\uff0c\u6211\u4eec\u540e\u9762\u914d\u7f6eNginx\u65f6\u4f1a\u7528\u5230\u5b83\u3002<br \/>\n\u542f\u52a8\uff1a<\/p>\n<blockquote><p>\n  systemctl start php-fpm\n<\/p><\/blockquote>\n<h2>Nginx\u5b89\u88c5\u53ca\u914d\u7f6e<\/h2>\n<p>\u5b89\u88c5Nginx\u5f88\u7b80\u5355\uff0cCentOS8\u7cfb\u7edf\u6e90\u81ea\u5e26\uff0c\u53ea\u9700\u8981\u4e00\u884c\u547d\u4ee4\u5c31\u80fd\u5b89\u88c5\u597d\uff1a<\/p>\n<blockquote><p>\n  yum install nginx\n<\/p><\/blockquote>\n<p>\u542f\u52a8\uff1a<\/p>\n<blockquote><p>\n  systemctl start nginx\n<\/p><\/blockquote>\n<p>\u57fa\u7840\u914d\u7f6e\u4e5f\u5f88\u7b80\u5355\uff0c\u5230\u8fd9\u4e00\u6b65\uff0c\u6211\u4eec\u53ea\u9700\u8981\u7a0d\u7a0d\u6539\u52a8\u4e00\u4e0bNginx\u7684\u914d\u7f6e\u6587\u4ef6\u5c31\u884c\uff0cNginx\u7684\u914d\u7f6e\u6587\u4ef6\u5728<strong>\/etc\/nginx\/nginx.conf<\/strong>\uff0c\u8fd9\u4e2a\u914d\u7f6e\u6587\u4ef6\u80fd\u914d\u7f6eNginx\u6240\u6709\u7684\u529f\u80fd\uff0c\u5305\u62ec\u5176\u4ed6\u7684\u914d\u7f6e\u6587\u4ef6\u4e5f\u662f\u901a\u8fc7\u8fd9\u4e2a\u6587\u4ef6\u8fdb\u884c\u52a0\u8f7d\u3002\u6253\u5f00\u5176\u914d\u7f6e\u6587\u4ef6\uff0c\u4fee\u6539<strong>user<\/strong>\u5b57\u6bb5\uff0c\u5e76\u589e\u52a0\u51e0\u884c\u53ef\u80fd\u4f1a\u7528\u4e0a\u7684\u914d\u7f6e\uff1a<\/p>\n<pre><code>vim \/etc\/nginx\/nginx.conf\nuser = www www;\n\/\/\u5f00\u542fgzip\u538b\u7f29\ngzip  on;\n\/\/\u5173\u95edNginx\u7248\u672c\u53f7\u663e\u793a\nserver_tokens off;\n\/\/\u589e\u52a0\u6700\u5927\u4e0a\u4f20\u6587\u4ef6\u5927\u5c0f\nclient_max_body_size 8M;\n<\/code><\/pre>\n<p>\u4e3b\u8981\u662f\u66f4\u6539user\u54ea\u4e00\u884c\uff0c\u540e\u9762\u51e0\u4e2a\u914d\u7f6e\u53ef\u4ee5\u9009\u62e9\u6027\u589e\u52a0\uff0c\u5982\u679c\u4e0d\u77e5\u9053\u5176\u4ec0\u4e48\u610f\u601d\u4e5f\u53ef\u4ee5\u6682\u65f6\u4e0d\u52a0\u3002<br \/>\n\u81f3\u4e8e\u914d\u7f6e\u6587\u4ef6\u4e2d\u9ed8\u8ba4\u7684<strong>default_server<\/strong>\u90a3\u4e00\u90e8\u5206\uff0c\u662f\u81ea\u5e26\u7684\u9ed8\u8ba4host\uff0c\u5982\u679c\u4e0d\u9700\u8981\u7684\u53ef\u4ee5\u5220\u9664\uff0c\u6216\u8005\u76f4\u63a5\u8fd4\u56de404\u3002<br \/>\n\u5230\u76ee\u524d\u4e3a\u6b62\uff0cNginx\u7684\u672c\u8eab\u914d\u7f6e\u5df2\u7ecf\u5b8c\u6210\u3002<\/p>\n<h2>MySQL 8\u5b89\u88c5<\/h2>\n<p>\u5176\u5b9eCentOS8\u7cfb\u7edf\u81ea\u5e26\u4e86MySQL8\u548cMariaDB 10.3.11\uff0c\u5982\u679c\u662f\u4eceCentOS7\u5347\u7ea7\u4e0a\u6765\u7684\u670b\u53cb\uff0c\u53ef\u80fd\u66f4\u4e60\u60efMariaDB\uff0c\u867d\u7136\u8bf4MySQL\u548cMariaDB\u672c\u8eab\u533a\u522b\u4e0d\u5927\uff0c\u4f46\u662f\u51fa\u4e8e\u517c\u5bb9\u6027\u7684\u8003\u8651\uff0c\u6211\u8fd8\u662f\u66f4\u503e\u5411\u4e8e\u9009\u62e9MySQL\uff0c\u6bd5\u7adf\u4f7f\u7528MariaDB\u6570\u636e\u5e93\u6709\u7684\u65f6\u5019\u51fa\u73b0\u4e00\u4e9b\u548cMySQL\u5dee\u522b\u95ee\u9898\u5176\u5b9e\u633a\u70e6\u7684\uff0c\u800c\u4e14\u5f88\u591a\u8f6f\u4ef6\u4e5f\u662f\u5b89\u88c5MySQL\u672c\u8eab\u6765\u9002\u914d\u7684\uff0c\u6240\u4ee5\u6211\u8fd9\u91cc\u4f7f\u7528MySQL 8\u3002<br \/>\n\u5b89\u88c5MySQL8\u53ca\u5bf9\u5e94\u5de5\u5177\uff1a<\/p>\n<blockquote><p>\n  yum install mysql mysql-server\n<\/p><\/blockquote>\n<p>\u542f\u52a8MySQL\u670d\u52a1\u5668\uff1a<\/p>\n<blockquote><p>\n  systemctl start mysqld\n<\/p><\/blockquote>\n<p>\u7136\u540e\u662f\u521d\u59cb\u5316MySQL\uff0c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n<pre><code>[root@cloudbool-Vultr ~]# mysql_secure_installation\nSecuring the MySQL server deployment.\nConnecting to MySQL using a blank password.\nVALIDATE PASSWORD COMPONENT can be used to test passwords\nand improve security. It checks the strength of password\nand allows the users to set only those passwords which are\nsecure enough. Would you like to setup VALIDATE PASSWORD component?\nPress y|Y for Yes, any other key for No:  \/\/\u662f\u5426\u8bbe\u7f6e\u5bc6\u7801\nPlease set the password for root here.\nNew password:  \/\/\u8bbe\u7f6e\u65b0\u5bc6\u7801\nRe-enter new password:  \/\/\u91cd\u590d\u5bc6\u7801\nBy default, a MySQL installation has an anonymous user,\nallowing anyone to log into MySQL without having to have\na user account created for them. This is intended only for\ntesting, and to make the installation go a bit smoother.\nYou should remove them before moving into a production\nenvironment.\nRemove anonymous users? (Press y|Y for Yes, any other key for No) : y \/\/\u662f\u5426\u79fb\u51fa\u533f\u540d\u7528\u6237\nSuccess.\nNormally, root should only be allowed to connect from\n'localhost'. This ensures that someone cannot guess at\nthe root password from the network.\nDisallow root login remotely? (Press y|Y for Yes, any other key for No) : y \/\/\u662f\u5426\u7981\u6b62root\u8fdc\u7a0b\u767b\u5f55\nSuccess.\nBy default, MySQL comes with a database named 'test' that\nanyone can access. This is also intended only for testing,\nand should be removed before moving into a production\nenvironment.\nRemove test database and access to it? (Press y|Y for Yes, any other key for No) : y \/\/\u662f\u5426\u5220\u9664\u6d4b\u8bd5\u6570\u636e\u5e93\n - Dropping test database...\nSuccess.\n - Removing privileges on test database...\nSuccess.\nReloading the privilege tables will ensure that all changes\nmade so far will take effect immediately.\nReload privilege tables now? (Press y|Y for Yes, any other key for No) : y \/\/\u662f\u5426\u7acb\u5373\u91cd\u65b0\u52a0\u8f7d\u6743\u9650\u8868\nSuccess.\nAll done!\n<\/code><\/pre>\n<p>\u6211\u4e5f\u4e0d\u77e5\u9053\u4ece\u54ea\u4e2a\u7248\u672c\u5f00\u59cb\uff0cMySQL\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7a0b\u5e8f<strong>mysql_secure_installation<\/strong>\u7528\u6765\u521d\u59cb\u5316MySQL\u4fe1\u606f\uff0c\u901a\u8fc7\u8fd9\u4e2a\u7a0b\u5e8f\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u884c\u5982\u4e0b\u64cd\u4f5c\uff1a<\/p>\n<ul>\n<li>\u8bbe\u7f6eroot\u5bc6\u7801<\/li>\n<li>\u66f4\u6362root\u5bc6\u7801<\/li>\n<li>\u79fb\u9664\u533f\u540d\u7528\u6237<\/li>\n<li>\u7981\u7528root\u7528\u6237\u8fdc\u7a0b\u767b\u5f55<\/li>\n<li>\u5220\u9664\u6d4b\u8bd5\u6570\u636e\u5e93<\/li>\n<li>\u91cd\u65b0\u52a0\u8f7d\u6743\u9650\u8868<\/li>\n<\/ul>\n<p>\u6839\u672c\u4e0d\u7528\u81ea\u5df1\u5199SQL\u8bed\u53e5\u53bb\u66f4\u6539MySQL\u7684root\u5bc6\u7801\uff0c\u901a\u8fc7\u8fd9\u4e2a\u5c0f\u7a0b\u5e8f\u5c31\u80fd\u76f4\u63a5\u8bbe\u7f6e\/\u66f4\u6539root\u5bc6\u7801\uff0c\u975e\u5e38\u65b9\u4fbf\u3002<br \/>\n\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u4ece\u67d0\u4e2a\u7248\u672c\u5f00\u59cb\uff0cMySQL\u9ed8\u8ba4\u52a0\u8f7d\u4e86<strong>VALIDATE PASSWORD<\/strong>\u63d2\u4ef6\uff0c\u4f46\u662fCentOS8\u81ea\u5e26\u7684MySQL\u5e76\u6ca1\u6709\u9ed8\u8ba4\u542f\u7528\uff0c\u5982\u679c\u60f3\u8981\u542f\u7528\u53ef\u4ee5\u5728\u6267\u884c\u4e0a\u4e00\u4e2a\u547d\u4ee4\u7684\u65f6\u5019\u5f00\u542f\u3002\u8fd9\u4e2a\u63d2\u4ef6\u8bbe\u7f6e\/\u66f4\u6539\u5bc6\u7801\u5206\u4e3a\u4f4e\u4e2d\u9ad8\u4e09\u4e2a\u7b56\u7565\uff0c\u7b80\u5355\u7684\u8bf4\u5c31\u662f\u5305\u542b\u5927\u5c0f\u5199\u5b57\u6bcd\u53ca\u6570\u5b57\u548c\u6807\u70b9\u7b26\u53f7\u7b49\uff0c\u8be6\u7ec6\u8d44\u6599\u53ef\u4ee5\u53c2\u8003\u8fd9\u91cc\uff1a https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/validate-password.html<br \/>\n\u5176\u5b9e\u5230\u8fd9\u4e00\u6b65\uff0cLNMP\u6574\u4f53\u5c31\u914d\u7f6e\u597d\u4e86\uff0c\u4e0b\u9762\u7684\u6b65\u9aa4\u5c31\u662f\u4e3a\u6dfb\u52a0\u7f51\u7ad9\u800c\u505a\u7684\uff0c\u6bd4\u5982\u8bf4\u6dfb\u52a0Nginx\u7684\u914d\u7f6e\u6587\u4ef6\u4ee5\u589e\u52a0\u7f51\u7ad9\uff0c\u4e3a\u6bcf\u4e2a\u7f51\u7ad9\u521b\u5efa\u5355\u72ec\u7684\u6570\u636e\u5e93\u7b49\u3002<\/p>\n<h2>\u4e3a\u7f51\u7ad9\u6dfb\u52a0\u5355\u72ec\u7684Nginx\u914d\u7f6e\u6587\u4ef6<\/h2>\n<p>\u5176\u5b9e\u653e\u7f6e\u7f51\u7ad9\u7684Nginx\u914d\u7f6e\u6587\u4ef6\u5404\u4e2a\u53d1\u884c\u7248\u90fd\u6709\u81ea\u5df1\u7684\u505a\u6cd5\uff0c\u6709\u4e9b\u662f\u653e\u5728<strong>\/etc\/nginx\/conf.d\/<\/strong>\uff0c\u6709\u4e9b\u662f\u653e\u5728<strong>\/etc\/nginx\/site-avaliable<\/strong>\uff0c\u4f46\u662f\u6211\u4e3a\u4e86\u7edf\u4e00\uff0c\u4e00\u822c\u90fd\u662f\u653e\u5728\u524d\u8005\uff0c\u8fd9\u6837\u5c31\u4e0d\u7528\u7ba1\u4ec0\u4e48\u53d1\u884c\u7248\uff0c\u66f4\u52a0\u65b9\u4fbf\u53bb\u67e5\u627e\u3002<br \/>\n\u4ee5\u57df\u540d<strong>cloudbool.com<\/strong>\u4e3a\u4f8b\uff0c\u5047\u5982\u7f51\u7ad9\u6587\u4ef6\u653e\u5728<strong>\/var\/www\/cloudbool<\/strong>\uff0c\u76f8\u5173\u914d\u7f6e\u6587\u4ef6\u4e3e\u4f8b\u5982\u4e0b\uff1a<\/p>\n<pre><code>vim \/etc\/nginx\/conf.d\/cloudbool.conf\nserver {\n    listen       80;\n    listen       [::]:80;\n    server_name  cloudbool.com;\n    root         \/var\/www\/cloudbool;\n    include \/etc\/nginx\/default.d\/*.conf;\n    location \/ {\n                try_files $uri $uri\/ \/index.php?$args;\n    }\n    error_page 404 \/404.html;\n        location = \/40x.html {\n    }\n    error_page 500 502 503 504 \/50x.html;\n        location = \/50x.html {\n    }\n    access_log \/var\/log\/nginx\/cloudbool.log;\n    error_log \/var\/log\/nginx\/cloudbool-error.log;\n}\n<\/code><\/pre>\n<h3>CentOS8\u7cfb\u7edfNginx\u914d\u7f6eHTTPS<\/h3>\n<p>\u5f53\u7136\uff0c\u4e0a\u9762\u53ea\u662f\u6700\u7b80\u5355\u7684\u4e00\u4e2a\u5b9e\u4f8b\u6587\u4ef6\uff0c\u5982\u679c\u6211\u4eec\u53ea\u662f\u672c\u5730\u5f00\u53d1\u6216\u8005\u4e0d\u9700\u8981\u8003\u8651HTTPS\u7684\u60c5\u51b5\u4e0b\u53ef\u4ee5\u8fd9\u4e48\u4f7f\u7528\uff0c\u5982\u679c\u662f\u6b63\u5f0f\u73af\u5883\u6216\u8005\u9700\u8981HTTPS\u7684\u60c5\u51b5\u4e0b\uff0c\u8fd8\u9700\u8981\u52a0\u4e0aHTTPS\u76f8\u5173\u914d\u7f6e\uff0c\u4e0b\u9762\u662f\u5305\u542bHTTPS\u7684\u914d\u7f6e\u6587\u4ef6\uff1a<\/p>\n<pre><code>vim \/etc\/nginx\/conf.d\/cloudbool-ssl.conf\nserver{\n        listen 443 ssl http2;\n        listen [::]:443 ssl http2;\n        server_name  cloudbool.com;\n        index index.html index.php;\n        root  \/var\/www\/cloudbool\/public;\n        ssl_certificate \/var\/www\/ssl\/cloudbool.crt;\n        ssl_certificate_key \/var\/www\/ssl\/cloudbool.key;\n        ssl_session_cache        shared:SSL:10m;\n        ssl_session_timeout      10m;\n        ssl_session_tickets      on;\n        ssl_session_cache builtin:1000 shared:SSL:10m;\n        ssl_dhparam \/var\/www\/ssl\/dhparam.pem;\n        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;\n        add_header Strict-Transport-Security \"max-age=63072000; includeSubDomains; preload\" always;\n                include \/etc\/nginx\/default.d\/*.conf;\n        location \/ {\n                try_files $uri $uri\/ \/index.php?$args;\n        }\n        access_log \/var\/log\/nginx\/cloudbool.log;\n        error_log \/var\/log\/nginx\/cloudbool-error.log;\n        error_page 404 \/404.html;\n        error_page 500 502 503 504 \/50x.html;\n        location = \/50x.html {\n                root \/usr\/share\/nginx\/html;\n        }\n}\nserver\n{\n        listen          80;\n        server_name cloudbool.com;\n        location \/ {\n                rewrite ^\/(.*)$ https:\/\/cloudbool.com\/archive\/$1 permanent;\n        }\n}\n<\/code><\/pre>\n<p>\u662f\u7684\uff0c\u4e0a\u9762\u6ca1\u6709\u5305\u542b<strong>location ~ .php$ {}<\/strong> \u5757\uff0c\u56e0\u4e3aCentOS8\u6e90\u4ed3\u5e93\u91cc\u7684Nginx\u9ed8\u8ba4\u63d0\u4f9b\u4e86PHP\u90e8\u5206\u76f8\u5173\u914d\u7f6e\u3002PHP\u76f8\u5173\u90e8\u5206\u914d\u7f6e\u6587\u4ef6\u4f4d\u4e8e<strong>\/etc\/nginx\/default.d\/php.conf<\/strong>\uff0c\u6587\u4ef6\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n<pre><code>index index.php index.html index.htm;\nlocation ~ \\.(php|phar)(\/.*)?$ {\n    fastcgi_split_path_info ^(.+\\.(?:php|phar))(\/.*)$;\n    fastcgi_intercept_errors on;\n    fastcgi_index  index.php;\n    include        fastcgi_params;\n    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;\n    fastcgi_param  PATH_INFO $fastcgi_path_info;\n    fastcgi_pass   php-fpm;\n}\n<\/code><\/pre>\n<p>\u4e0a\u9762\u90e8\u5206\u7684Server\u5757\u662f\u7528\u6765\u914d\u7f6e\u5bf9\u5e94\u7f51\u7ad9\u7684HTTPS\u90e8\u5206\u529f\u80fd\uff0c\u4e0b\u9762Server\u5757\u662f\u7528\u6765\u5f3a\u5236\u5c06HTTP\u8bf7\u6c42\u539f\u5c01\u4e0d\u52a8\u7684\u91cd\u5b9a\u5411\u5230\u5bf9\u5e94\u7684HTTPS\u94fe\u63a5\u5730\u5740\uff0c\u6bd4\u5982\u8bf4\u5c06<strong>http:\/\/cloudbool.com\/about<\/strong> \u91cd\u5b9a\u5411\u5230 <strong>https:\/\/cloudbool.com\/archive\/about<\/strong> \u3002<\/p>\n<h2>\u7f51\u7ad9\u6587\u4ef6\u76ee\u5f55\u8d4b\u4e88\u53ef\u8bfb\u5199\u6743\u9650<\/h2>\n<p>\u9664\u4e86\u5728Nginx\u914d\u7f6e\u6587\u4ef6\u4e2d\u6307\u5b9a\u7f51\u7ad9\u6587\u4ef6\u76ee\u5f55\uff0c\u8fd8\u9700\u8981\u5728\u8d4b\u4e88\u5bf9\u5e94\u7684\u7528\u6237\u53ef\u8bfb\u5199\u6743\u9650\uff0c\u4e0a\u9762\u662f\u6307\u5b9a\u4f7f\u7528<strong>www<\/strong>\u7528\u6237\u7ec4\u7684<strong>www<\/strong>\u7528\u6237\uff0c\u6307\u5b9a\u7684\u7f51\u7ad9\u6587\u4ef6\u76ee\u5f55\u4e3a<strong>\/var\/www\/cloudbool\/<\/strong>\uff0c\u5bf9\u5e94\u7684\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n<blockquote><p>\n  chown -R www.www \/var\/www\/cloudbool\n<\/p><\/blockquote>\n<h2>\u4e3a\u7f51\u7ad9\u521b\u5efa\u5355\u72ec\u7684MySQL\u6570\u636e\u5e93<\/h2>\n<p>\u51fa\u4e8e\u5b89\u5168\u8003\u8651\uff0c\u4e0d\u5efa\u8bae\u4f7f\u7528root\u7528\u6237\u6765\u8fd0\u884c\u7f51\u7ad9\u4f7f\u7528\u7684MySQL\u6570\u636e\u5e93\uff0c\u6211\u66f4\u5efa\u8bae\u521b\u5efa\u5355\u72ec\u7684\u6570\u636e\u5e93\u53ca\u5bf9\u5e94\u7684\u7528\u6237\u6765\u8fd0\u884c\u5bf9\u5e94\u7684\u6570\u636e\u5e93\uff0c\u5bf9\u5e94\u7684\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n<pre><code>mysql -p\n\/\/root\u5bc6\u7801\ncreate database if not exists cloudbool default character set utf8mb4 collate utf8mb4_unicode_ci;\ncreate user cloudbool_user@'localhost' IDENTIFIED BY 'cloudbool_password';\ngrant all privileges on cloudbool.* to cloudbool_user@localhost identified by 'cloudbool_password';\nflush privileges;\n<\/code><\/pre>\n<p>\u5176\u4e2d\uff0c\u4e0a\u9762cloudbool\u5c31\u662f\u6570\u636e\u5e93\u540d\u79f0\uff0c<strong>cloudbool_user<\/strong>\u4e3a\u521b\u5efa\u7684\u7528\u6237\u540d\uff0c<strong>cloudbool_password<\/strong>\u662f\u5bf9\u5e94\u7684\u5bc6\u7801\uff0c\u5b9e\u9645\u521b\u5efa\u7684\u65f6\u5019\u6839\u636e\u60c5\u51b5\u66f4\u6539\u5c31\u597d\u3002<\/p>\n<h2>\u5e38\u89c1\u95ee\u9898<\/h2>\n<h3>\u7f51\u7ad9\/\u670d\u52a1\u5668\u4e0d\u80fd\u8bbf\u95ee<\/h3>\n<p>\u521a\u5b89\u88c5\u7684Nginx\u9ed8\u8ba4\u662f\u4e0d\u542f\u52a8\u7684\uff0c\u5982\u679c\u9047\u5230\u6d4f\u89c8\u5668\u51fa\u73b0<strong>ERR_CONNECTION_REFUSED<\/strong>\u6216\u8005<strong>\u65e0\u6cd5\u8bbf\u95ee\u6b64\u7f51\u7ad9<\/strong>\u53ca<strong>xxxxxx \u62d2\u7edd\u4e86\u6211\u4eec\u7684\u8fde\u63a5\u8bf7\u6c42\u3002<\/strong>\uff0c\u53ef\u80fd\u662fNginx\u8fd8\u6ca1\u6709\u542f\u52a8\uff0c\u9700\u8981\u624b\u52a8\u542f\u52a8\uff0c\u547d\u4ee4\u4e3a<strong>systemctl start nginx<\/strong>\u3002<br \/>\n\u5982\u679cNginx\u542f\u52a8\u4e4b\u540e\u8fd8\u662f\u65e0\u6cd5\u8bbf\u95ee\uff0c\u5219\u53ef\u80fd\u662f\u9632\u706b\u5899\u6216\u8005\u5b89\u5168\u7ec4\u6ca1\u6709\u653e\u884c\uff0c\u5982\u679c\u662f\u6d77\u5916\u7684\u670d\u52a1\u5668\uff0c\u8fd8\u53ef\u80fd\u662f\u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u53ef\u80fd\u5728\u56fd\u5185\u65e0\u6cd5\u8bbf\u95ee\uff0c\u8be6\u7ec6\u7684\u89e3\u51b3\u601d\u8def\u53ca\u529e\u6cd5\u53ef\u4ee5\u79fb\u6b65\u8fd9\u91cc\uff1a<a href=\"https:\/\/cloudbool.com\/archive\/server-port-access.html\">\u670d\u52a1\u5668\u7aef\u53e3\u6216\u670d\u52a1\u65e0\u6cd5\u8bbf\u95ee\u89e3\u51b3\u529e\u6cd5<br \/>\n<\/a><\/p>\n<h3>\u7f51\u7ad9\u6253\u5f00\u9875\u9762\u7a7a\u767d<\/h3>\n<p>\u4e00\u822c\u6765\u8bf4\uff0c\u7f51\u7ad9\u9875\u9762\u7a7a\u767d\u662fNginx\u6ca1\u6709\u914d\u7f6e\u6b63\u786e\uff0c\u5982\u679c\u540e\u7aef\u662fPHP\u76f8\u5173\u7a0b\u5e8f\uff0c\u8bf7\u4f9d\u7167\u4e0a\u8ff0\u914d\u7f6e\u8fc7\u7a0b\u68c0\u67e5\u662f\u5426\u6709\u9057\u6f0f\u7684\u6b65\u9aa4\u3002<\/p>\n<h3>\u8bbf\u95eePHP\u6587\u4ef6\u5f39\u51fa\u4e0b\u8f7d\u7a97\u53e3\u6216\u8005\u76f4\u63a5\u4e0b\u8f7d\u4e86\u6587\u4ef6<\/h3>\n<p>\u8fd9\u79cd\u60c5\u51b5\u662f\u56e0\u4e3aNginx\u4e0ePHP-FPM\u7a0b\u5e8f\u6ca1\u6709\u914d\u5408\u597d\uff0c\u5177\u4f53\u5c31\u662f<strong>location ~ .php$ {}<\/strong>\u8fd9\u4e00\u4e2a\u914d\u7f6e\u5757\u3002\u5982\u679c\u662f<strong>CentOS8\u7cfb\u7edf\uff0c\u4e14\u4f7f\u7528\u7684\u662f\u6e90\u81ea\u5e26\u7684Nginx<\/strong>\uff0c\u76f4\u63a5\u5728Nginx\u7684\u7f51\u7ad9\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\u4e0b\u8ff0\u4e00\u884c\u5c31\u884c\uff1a<\/p>\n<pre><code>include \/etc\/nginx\/default.d\/*.conf;\n<\/code><\/pre>\n<p>\u6216\u8005\u4e5f\u53ef\u4ee5\u76f4\u63a5\u6dfb\u52a0\u8fd9\u4e00\u90e8\u5206\u4ee3\u7801\u5757\uff1a<\/p>\n<pre><code>index index.php index.html index.htm;\nlocation ~ \\.(php|phar)(\/.*)?$ {\n    fastcgi_split_path_info ^(.+\\.(?:php|phar))(\/.*)$;\n    fastcgi_intercept_errors on;\n    fastcgi_index  index.php;\n    include        fastcgi_params;\n    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;\n    fastcgi_param  PATH_INFO $fastcgi_path_info;\n    fastcgi_pass   php-fpm;\n}\n<\/code><\/pre>\n<p>\u6dfb\u52a0\u4e4b\u540e\u91cd\u542fNginx\u5c31\u597d\u4e86\u3002<\/p>\n<h3>\u7f51\u7ad9\u7a0b\u5e8f\u63d0\u793a\u6ca1\u6709\u5199\u5165\u6743\u9650<\/h3>\n<p>\u7f51\u7ad9\u7a0b\u5e8f\u6ca1\u6709\u5199\u5165\u6743\u9650\uff0c\u4e00\u822c\u6709\u4e24\u4e2a\u95ee\u9898\uff0c\u4e00\u4e2a\u662fNginx\u548cPHP-FPM\u4f7f\u7528\u7684\u8fd0\u884c\u7528\u6237\u4e0d\u4e00\u6837\uff0c\u8fd9\u79cd\u60c5\u51b5\u53ea\u9700\u8981\u5c06\u4e24\u4e2a\u7a0b\u5e8f\u7684\u8fd0\u884c\u7528\u6237\u8bbe\u7f6e\u6210\u4e00\u6837\u5c31\u597d\u4e86\uff0c\u6bd4\u5982\u8bbe\u7f6e\u6210\u4e0a\u9762\u4e13\u95e8\u6dfb\u52a0\u7684www\u7528\u6237\u7ec4\u7684www\u7528\u6237\u3002<br \/>\n\u5982\u679c\u8bbe\u7f6e\u6210\u4e86\u76f8\u540c\u7528\u6237\uff0c\u8fd8\u662f\u63d0\u793a\u6ca1\u6709\u5199\u5165\u6743\u9650\uff0c\u90a3\u53ef\u80fd\u662f\u6ca1\u6709\u66f4\u6539\u7f51\u7ad9\u6587\u4ef6\u6240\u5728\u76ee\u5f55\u7684\u6743\u9650\uff0c\u547d\u4ee4\u683c\u5f0f\u5982\u4e0b\uff1a<\/p>\n<blockquote><p>\n  chown -R www.www \/var\/www\/cloudbool\n<\/p><\/blockquote>\n<p>\u5176\u4e2d\u4e24\u4e2awww\u662f\u8fd0\u884cNginx\u548cPHP-FPM\u7684\u7528\u6237\u7ec4\u548c\u7528\u6237\u540d\uff0c\u540e\u9762\u7684\u8def\u5f84\u662f\u7f51\u7ad9\u6587\u4ef6\u6240\u5728\u76ee\u5f55\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4f5c\u4e3a\u670d\u52a1\u5668\u7cfb\u7edf\u518d\u52a0\u4e0a\u4e00\u4e2aPHP\u5f00\u53d1\u8005\uff0c\u4f7f\u7528CentOS8\u7cfb\u7edf\u8fd0\u884cLNMP\u6280\u672f\u6808\u662f\u4ef6\u5f88\u6b63\u5e38\u7684\u4e8b\uff0c\u518d\u52a0\u4e0a\u4f5c\u4e3a\u4e00\u4e2a\u5f3a &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/cloudbool.com\/archive\/centos-8-nginx-php-mysql.html\"> <span class=\"screen-reader-text\">CentOS 8\u914d\u7f6eNginx+PHP+MySQL<\/span> \u67e5\u770b\u5168\u6587 &raquo;<\/a><\/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":"","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":"","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":"","ast-page-background-enabled":"default","ast-page-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-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-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-gradient":""}},"ast-content-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-gradient":""},"tablet":{"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-gradient":""},"mobile":{"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-gradient":""}},"footnotes":""},"categories":[8],"tags":[17,149,75,76,79],"class_list":["post-527","post","type-post","status-publish","format-standard","hentry","category-tech","tag-centos","tag-centos-8","tag-mysql","tag-nginx","tag-php"],"_links":{"self":[{"href":"https:\/\/cloudbool.com\/archive\/wp-json\/wp\/v2\/posts\/527","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudbool.com\/archive\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudbool.com\/archive\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudbool.com\/archive\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudbool.com\/archive\/wp-json\/wp\/v2\/comments?post=527"}],"version-history":[{"count":0,"href":"https:\/\/cloudbool.com\/archive\/wp-json\/wp\/v2\/posts\/527\/revisions"}],"wp:attachment":[{"href":"https:\/\/cloudbool.com\/archive\/wp-json\/wp\/v2\/media?parent=527"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudbool.com\/archive\/wp-json\/wp\/v2\/categories?post=527"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudbool.com\/archive\/wp-json\/wp\/v2\/tags?post=527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}