{"id":1813,"date":"2023-06-29T12:33:41","date_gmt":"2023-06-29T12:33:41","guid":{"rendered":"https:\/\/oimi.me\/?p=1813"},"modified":"2023-06-29T12:33:41","modified_gmt":"2023-06-29T12:33:41","slug":"linux-caddy-mariadb-php","status":"publish","type":"post","link":"https:\/\/myya.net\/index.php\/2023\/06\/29\/linux-caddy-mariadb-php\/","title":{"rendered":"Linux + Caddy + MariaDB + PHP"},"content":{"rendered":"<p><a title=\"\" href=\"https:\/\/caddyserver.com\/\" target=\"_blank\" rel=\"noopener\" data-original-title=\"\">Caddy Web Server<\/a> \u81eav2.6 \u7248\u672c\u53d1\u5e03\u4ee5\u540e\uff0c\u5c31\u9ed8\u8ba4\u652f\u6301 HTTP\/3\u3002\u53ef\u4ee5\u8bf4\u662f\u6700\u65e9\u652f\u6301 HTTP\/3 \u7684 Web Server\uff0c\u800c Nginx \u76f4\u5230 2023 \u5e74 5 \u6708 23 \u65e5 1.25.0 \u7248\u672c\u624d\u5f00\u59cb\u4f53\u9a8c\u652f\u6301\u3002<br \/>\n\u81f3\u4e8e Apache httpd \u4e5f\u4e0d\u77e5\u9053\u8981\u5230\u7334\u5e74\u9a6c\u6708\u624d\u652f\u6301 HTTP\/3 \u4e86\u3002<br \/>\n\u5728 CentOS 7 \u6216 CentOS Stream 8 \/ Rocky Linux 8 \/ AlmaLinux 8 \u6216 CentOS Stream 9 \/ Rocky Linux 9 \/ AlmaLinux 9 \u7b49\u7cfb\u7edf\u4e0b\uff0c\u6309\u7167\u672c\u6587\u6559\u7a0b\uff0c\u5373\u53ef\u642d\u5efa LCMP (Linux + Caddy + MariaDB + PHP) \u73af\u5883\u3002<\/p>\n<p><!--more--><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1815\" title=\"caddy-logo\" src=\"https:\/\/oimi.me\/wp-content\/uploads\/2023\/06\/caddy-logo.png\" alt=\"caddy-logo\" width=\"1200\" height=\"628\" \/><\/p>\n<h3><\/h3>\n<h3>1. \u4e8b\u524d\u51c6\u5907<\/h3>\n<p><strong>\u7981\u7528 SElinux<\/strong><\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">cat <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">selinux<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">config<\/span><\/pre>\n<p>\u5982\u679c\u6ca1\u6709\u53d1\u73b0 <code>SELINUX=disabled<\/code> \u8fd9\u4e00\u884c\uff0c\u5219\u9700\u8981\u7981\u7528\u3002<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">sed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">'s@^SELINUX.*@SELINUX=disabled@g'<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">selinux<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">config\nsetenforce <\/span><span class=\"lit\">0<\/span><\/pre>\n<p>\u5982\u679c\u7cfb\u7edf\u662f Enterprise Linux 9 (CentOS 9, RHEL 9, Rocky Linux 9, AlmaLinux 9)\uff0c\u5219\u9700\u8981\u7528\u5982\u4e0b\u65b9\u6cd5\u7981\u7528\u3002<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">grubby <\/span><span class=\"pun\">--<\/span><span class=\"pln\">update<\/span><span class=\"pun\">-<\/span><span class=\"pln\">kernel ALL <\/span><span class=\"pun\">--<\/span><span class=\"pln\">args selinux<\/span><span class=\"pun\">=<\/span><span class=\"lit\">0<\/span><\/pre>\n<p>\u7136\u540e\u6267\u884c <code>reboot<\/code> \u91cd\u542f\u7cfb\u7edf\u3002\u5f85\u5230\u91cd\u542f\u5b8c\u6210\u5373\u7981\u7528\u4e86 SElinux\u3002<br \/>\n<strong>\u8bbe\u7f6e\u9632\u706b\u5899 firewall<\/strong><\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">firewall<\/span><span class=\"pun\">-<\/span><span class=\"pln\">cmd <\/span><span class=\"pun\">--<\/span><span class=\"pln\">state<\/span><\/pre>\n<p>\u5982\u679c\u663e\u793a\u662f <code>running<\/code> \u72b6\u6001\uff0c\u5219\u9700\u8981\u653e\u884c 80 \u548c 443 \u7aef\u53e3\uff0c\u4e5f\u5c31\u662f http \u548c https \u670d\u52a1\u3002<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">default_zone<\/span><span class=\"pun\">=<\/span><span class=\"pln\">$<\/span><span class=\"pun\">(<\/span><span class=\"pln\">firewall<\/span><span class=\"pun\">-<\/span><span class=\"pln\">cmd <\/span><span class=\"pun\">--<\/span><span class=\"pln\">get<\/span><span class=\"pun\">-<\/span><span class=\"pln\">default<\/span><span class=\"pun\">-<\/span><span class=\"pln\">zone<\/span><span class=\"pun\">)<\/span><span class=\"pln\">\nfirewall<\/span><span class=\"pun\">-<\/span><span class=\"pln\">cmd <\/span><span class=\"pun\">--<\/span><span class=\"pln\">permanent <\/span><span class=\"pun\">--<\/span><span class=\"pln\">add<\/span><span class=\"pun\">-<\/span><span class=\"pln\">service<\/span><span class=\"pun\">=<\/span><span class=\"pln\">https <\/span><span class=\"pun\">--<\/span><span class=\"pln\">zone<\/span><span class=\"pun\">=<\/span><span class=\"pln\">$<\/span><span class=\"pun\">{<\/span><span class=\"pln\">default_zone<\/span><span class=\"pun\">}<\/span><span class=\"pln\">\nfirewall<\/span><span class=\"pun\">-<\/span><span class=\"pln\">cmd <\/span><span class=\"pun\">--<\/span><span class=\"pln\">permanent <\/span><span class=\"pun\">--<\/span><span class=\"pln\">add<\/span><span class=\"pun\">-<\/span><span class=\"pln\">service<\/span><span class=\"pun\">=<\/span><span class=\"pln\">http <\/span><span class=\"pun\">--<\/span><span class=\"pln\">zone<\/span><span class=\"pun\">=<\/span><span class=\"pln\">$<\/span><span class=\"pun\">{<\/span><span class=\"pln\">default_zone<\/span><span class=\"pun\">}<\/span><span class=\"pln\">\nfirewall<\/span><span class=\"pun\">-<\/span><span class=\"pln\">cmd <\/span><span class=\"pun\">--<\/span><span class=\"pln\">permanent <\/span><span class=\"pun\">--<\/span><span class=\"pln\">add<\/span><span class=\"pun\">-<\/span><span class=\"pln\">masquerade\nfirewall<\/span><span class=\"pun\">-<\/span><span class=\"pln\">cmd <\/span><span class=\"pun\">--<\/span><span class=\"pln\">reload\nfirewall<\/span><span class=\"pun\">-<\/span><span class=\"pln\">cmd <\/span><span class=\"pun\">--<\/span><span class=\"pln\">list<\/span><span class=\"pun\">-<\/span><span class=\"pln\">all<\/span><\/pre>\n<p>&nbsp;<\/p>\n<h3>2. \u5b89\u88c5\u548c\u8bbe\u7f6e Caddy Web Server<\/h3>\n<p><strong>\u5f15\u5165 caddy repo \u4ee5\u53ca\u5b89\u88c5 caddy<\/strong><br \/>\n\u5982\u679c\u7cfb\u7edf\u662f Enterprise Linux 9 (CentOS 9, RHEL 9, Rocky Linux 9, AlmaLinux 9)\uff0c Enterprise Linux 8 (CentOS 8, RHEL 8, Rocky Linux 8, AlmaLinux 8)<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">dnf install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y dnf<\/span><span class=\"pun\">-<\/span><span class=\"pln\">plugins<\/span><span class=\"pun\">-<\/span><span class=\"pln\">core\ndnf copr enable <\/span><span class=\"lit\">@caddy<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">caddy <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y <\/span><span class=\"pun\">&amp;&amp;<\/span><span class=\"pln\"> dnf install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y caddy <\/span><span class=\"pun\">&amp;&amp;<\/span><span class=\"pln\"> caddy version<\/span><\/pre>\n<p>\u5982\u679c\u7cfb\u7edf\u662f RHEL 7 \u6216 CentOS 7<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">yum install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y yum<\/span><span class=\"pun\">-<\/span><span class=\"pln\">plugin<\/span><span class=\"pun\">-<\/span><span class=\"pln\">copr <\/span><span class=\"pun\">&amp;&amp;<\/span><span class=\"pln\"> yum copr enable <\/span><span class=\"lit\">@caddy<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">caddy <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y <\/span><span class=\"pun\">&amp;&amp;<\/span><span class=\"pln\"> yum install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y caddy<\/span><\/pre>\n<p><strong>\u521b\u5efa\u5fc5\u8981\u7684\u76ee\u5f55\uff0c\u8bbe\u7f6e\u76ee\u5f55\u6743\u9650<\/strong><\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">mkdir <\/span><span class=\"pun\">-<\/span><span class=\"pln\">p <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">data<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">www<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">default\nmkdir <\/span><span class=\"pun\">-<\/span><span class=\"pln\">p <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">var<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">log<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">caddy<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">\nmkdir <\/span><span class=\"pun\">-<\/span><span class=\"pln\">p <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">caddy<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">conf<\/span><span class=\"pun\">.<\/span><span class=\"pln\">d<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">\nchown <\/span><span class=\"pun\">-<\/span><span class=\"pln\">R caddy<\/span><span class=\"pun\">.<\/span><span class=\"pln\">caddy <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">data<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">www<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">default\nchown <\/span><span class=\"pun\">-<\/span><span class=\"pln\">R caddy<\/span><span class=\"pun\">.<\/span><span class=\"pln\">caddy <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">var<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">log<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">caddy<\/span><span class=\"pun\">\/<\/span><\/pre>\n<p>\u7f51\u7ad9\u7684\u6839\u76ee\u5f55\u4e3a <code>\/data\/www\/default<\/code>\uff0c\u7b49\u5168\u90e8\u7684\u5b89\u88c5\u8fc7\u7a0b\u7ed3\u675f\u540e\uff0c\u4fbf\u53ef\u5c06\u5e94\u7528\u7a0b\u5e8f\u653e\u5230\u8be5\u76ee\u5f55\u4e0b\u8fd0\u884c\u4e86\u3002<br \/>\n<strong>\u7f16\u8f91 caddy \u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6 \/etc\/caddy\/Caddyfile<\/strong><\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pun\">{<\/span><span class=\"pln\">\n\tadmin off\n<\/span><span class=\"pun\">}<\/span>\n<span class=\"pun\">:<\/span><span class=\"lit\">80<\/span> <span class=\"pun\">{<\/span>\n\t<span class=\"com\"># Set this path to your site's directory.<\/span><span class=\"pln\">\n\troot <\/span><span class=\"pun\">*<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">data<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">www<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">default\n\tencode gzip\n\t<\/span><span class=\"com\"># Enable the static file server.<\/span><span class=\"pln\">\n\tfile_server <\/span><span class=\"pun\">{<\/span><span class=\"pln\">\n\t\tindex index<\/span><span class=\"pun\">.<\/span><span class=\"pln\">html\n\t<\/span><span class=\"pun\">}<\/span>\n\t<span class=\"com\"># Serve a PHP site through php-fpm:<\/span><span class=\"pln\">\n\tphp_fastcgi unix<\/span><span class=\"pun\">\/\/<\/span><span class=\"pln\">run<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">fpm<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">www<\/span><span class=\"pun\">.<\/span><span class=\"pln\">sock <\/span><span class=\"pun\">{<\/span><span class=\"pln\">\n\t\tsplit <\/span><span class=\"pun\">.<\/span><span class=\"pln\">php\n\t\tindex index<\/span><span class=\"pun\">.<\/span><span class=\"pln\">php\n\t<\/span><span class=\"pun\">}<\/span><span class=\"pln\">\n\tlog <\/span><span class=\"pun\">{<\/span><span class=\"pln\">\n\t\toutput file <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">var<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">log<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">caddy<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">access<\/span><span class=\"pun\">.<\/span><span class=\"pln\">log\n\t<\/span><span class=\"pun\">}<\/span>\n<span class=\"pun\">}<\/span><span class=\"pln\">\nimport <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">caddy<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">conf<\/span><span class=\"pun\">.<\/span><span class=\"pln\">d<\/span><span class=\"pun\">\/*.<\/span><span class=\"pln\">conf<\/span><\/pre>\n<p>caddy \u9ed8\u8ba4\u53ea\u5f00\u542f\u4e86 80 \u7aef\u53e3\uff0c\u5982\u679c\u60f3\u8981\u642d\u5efa\u81ea\u5df1\u7684\u7f51\u7ad9\uff0c\u5219\u9700\u8981\u624b\u52a8\u521b\u5efa\u914d\u7f6e\u6587\u4ef6\u5e76\u91cd\u542f caddy \u670d\u52a1\u3002<br \/>\n\u521b\u5efa\u7f51\u7ad9\uff0c\u4ee5 <code>www.example.com<\/code> \u4e3a\u4f8b\u3002<br \/>\n\u521b\u5efa \/etc\/caddy\/conf.d\/www.example.com.conf \u914d\u7f6e\u6587\u4ef6\uff0c\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">www<\/span><span class=\"pun\">.<\/span><span class=\"pln\">example<\/span><span class=\"pun\">.<\/span><span class=\"pln\">com <\/span><span class=\"pun\">{<\/span><span class=\"pln\">\n\theader <\/span><span class=\"pun\">{<\/span>\n\t\t<span class=\"typ\">Strict<\/span><span class=\"pun\">-<\/span><span class=\"typ\">Transport<\/span><span class=\"pun\">-<\/span><span class=\"typ\">Security<\/span> <span class=\"str\">\"max-age=31536000; preload\"<\/span><span class=\"pln\">\n\t\tX<\/span><span class=\"pun\">-<\/span><span class=\"typ\">Content<\/span><span class=\"pun\">-<\/span><span class=\"typ\">Type<\/span><span class=\"pun\">-<\/span><span class=\"typ\">Options<\/span><span class=\"pln\"> nosniff\n\t\tX<\/span><span class=\"pun\">-<\/span><span class=\"typ\">Frame<\/span><span class=\"pun\">-<\/span><span class=\"typ\">Options<\/span><span class=\"pln\"> SAMEORIGIN\n\t<\/span><span class=\"pun\">}<\/span>\n\t<span class=\"com\"># Set this path to your site's directory.<\/span><span class=\"pln\">\n\troot <\/span><span class=\"pun\">*<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">data<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">www<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">default\n\tencode gzip\n\t<\/span><span class=\"com\"># Enable the static file server.<\/span><span class=\"pln\">\n\tfile_server <\/span><span class=\"pun\">{<\/span><span class=\"pln\">\n\t\tindex index<\/span><span class=\"pun\">.<\/span><span class=\"pln\">html\n\t<\/span><span class=\"pun\">}<\/span>\n\t<span class=\"com\"># Serve a PHP site through php-fpm:<\/span><span class=\"pln\">\n\tphp_fastcgi unix<\/span><span class=\"pun\">\/\/<\/span><span class=\"pln\">run<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">fpm<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">www<\/span><span class=\"pun\">.<\/span><span class=\"pln\">sock <\/span><span class=\"pun\">{<\/span><span class=\"pln\">\n\t\tsplit <\/span><span class=\"pun\">.<\/span><span class=\"pln\">php\n\t\tindex index<\/span><span class=\"pun\">.<\/span><span class=\"pln\">php\n\t<\/span><span class=\"pun\">}<\/span><span class=\"pln\">\n\tlog <\/span><span class=\"pun\">{<\/span><span class=\"pln\">\n\t\toutput file <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">var<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">log<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">caddy<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">ssl_access<\/span><span class=\"pun\">.<\/span><span class=\"pln\">log\n\t<\/span><span class=\"pun\">}<\/span>\n<span class=\"pun\">}<\/span><\/pre>\n<h3>3. \u5b89\u88c5\u548c\u8bbe\u7f6e MariaDB<\/h3>\n<p><strong>\u5f15\u5165 MariaDB repo \u4ee5\u53ca\u5b89\u88c5 MariaDB<\/strong><\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">wget <\/span><span class=\"pun\">-<\/span><span class=\"pln\">qO mariadb_repo_setup<\/span><span class=\"pun\">.<\/span><span class=\"pln\">sh https<\/span><span class=\"pun\">:\/\/<\/span><span class=\"pln\">downloads<\/span><span class=\"pun\">.<\/span><span class=\"pln\">mariadb<\/span><span class=\"pun\">.<\/span><span class=\"pln\">com<\/span><span class=\"pun\">\/<\/span><span class=\"typ\">MariaDB<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">mariadb_repo_setup\nchmod <\/span><span class=\"pun\">+<\/span><span class=\"pln\">x mariadb_repo_setup<\/span><span class=\"pun\">.<\/span><span class=\"pln\">sh<\/span><\/pre>\n<p>The current maintained versions are: 10.3, 10.4, 10.5, 10.6, 10.11 (maintained for 5 years), 10.8, 10.9, 10.10, 11.0 (maintained for one year)<br \/>\n\u5f53\u524d MariaDB \u7684\u957f\u671f\u652f\u6301\u7248\u672c\u4e3a 10.3, 10.4, 10.5, 10.6, 10.11\uff0c\u9009\u62e9 10.11 \u5373\u53ef\u3002<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pun\">.\/<\/span><span class=\"pln\">mariadb_repo_setup<\/span><span class=\"pun\">.<\/span><span class=\"pln\">sh <\/span><span class=\"pun\">--<\/span><span class=\"pln\">mariadb<\/span><span class=\"pun\">-<\/span><span class=\"pln\">server<\/span><span class=\"pun\">-<\/span><span class=\"pln\">version<\/span><span class=\"pun\">=<\/span><span class=\"pln\">mariadb<\/span><span class=\"pun\">-<\/span><span class=\"lit\">10.11<\/span><\/pre>\n<p>\u4e0a\u8ff0\u811a\u672c\u6267\u884c\u5b8c\u6bd5\u540e\uff0c\u5373\u5f15\u5165 MariaDB repo\uff0c\u4e0b\u9762\u5f00\u59cb\u5b89\u88c5 MariaDB\u3002<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">dnf install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y <\/span><span class=\"typ\">MariaDB<\/span><span class=\"pun\">-<\/span><span class=\"pln\">common <\/span><span class=\"typ\">MariaDB<\/span><span class=\"pun\">-<\/span><span class=\"pln\">server <\/span><span class=\"typ\">MariaDB<\/span><span class=\"pun\">-<\/span><span class=\"pln\">client <\/span><span class=\"typ\">MariaDB<\/span><span class=\"pun\">-<\/span><span class=\"pln\">shared <\/span><span class=\"typ\">MariaDB<\/span><span class=\"pun\">-<\/span><span class=\"pln\">backup<\/span><\/pre>\n<p>\u5b89\u88c5\u5b8c\u6bd5\u540e\uff0c\u7f16\u8f91 \/etc\/my.cnf.d\/server.cnf\uff0c\u4f7f\u5176\u9ed8\u8ba4\u7f16\u7801\u4e3a utf8mb4<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">lnum<\/span><span class=\"pun\">=<\/span><span class=\"pln\">$<\/span><span class=\"pun\">(<\/span><span class=\"pln\">sed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">n <\/span><span class=\"str\">'\/\\[mariadb\\]\/='<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">my<\/span><span class=\"pun\">.<\/span><span class=\"pln\">cnf<\/span><span class=\"pun\">.<\/span><span class=\"pln\">d<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">server<\/span><span class=\"pun\">.<\/span><span class=\"pln\">cnf<\/span><span class=\"pun\">)<\/span><span class=\"pln\">\nsed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"${lnum}acharacter-set-server = utf8mb4\\n\\n\\[client-mariadb\\]\\ndefault-character-set = utf8mb4\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">my<\/span><span class=\"pun\">.<\/span><span class=\"pln\">cnf<\/span><span class=\"pun\">.<\/span><span class=\"pln\">d<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">server<\/span><span class=\"pun\">.<\/span><span class=\"pln\">cnf<\/span><\/pre>\n<p>\u542f\u52a8 MariaDB<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">systemctl start mariadb<\/span><\/pre>\n<p>\u4fee\u6539\u7528\u6237 <code>root<\/code> \u7684\u5bc6\u7801\uff0c\u5220\u9664 test \u6570\u636e\u5e93\u53ca\u4e0d\u5fc5\u8981\u7684\u7528\u6237\u540d\u3002<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">db_pass<\/span><span class=\"pun\">=<\/span><span class=\"str\">\"Thisisdbrootpassword\"<\/span><span class=\"pln\">\nmysql <\/span><span class=\"pun\">-<\/span><span class=\"pln\">e <\/span><span class=\"str\">\"grant all privileges on *.* to root@'127.0.0.1' identified by \\\"${db_pass}\\\" with grant option;\"<\/span><span class=\"pln\">\nmysql <\/span><span class=\"pun\">-<\/span><span class=\"pln\">e <\/span><span class=\"str\">\"grant all privileges on *.* to root@'localhost' identified by \\\"${db_pass}\\\" with grant option;\"<\/span><span class=\"pln\">\nmysql <\/span><span class=\"pun\">-<\/span><span class=\"pln\">uroot <\/span><span class=\"pun\">-<\/span><span class=\"pln\">p$<\/span><span class=\"pun\">{<\/span><span class=\"pln\">db_pass<\/span><span class=\"pun\">}<\/span> <span class=\"lit\">2<\/span><span class=\"pun\">&gt;\/<\/span><span class=\"pln\">dev<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">null <\/span><span class=\"pun\">&lt;&lt;<\/span><span class=\"pln\">EOF\ndrop database <\/span><span class=\"kwd\">if<\/span><span class=\"pln\"> exists test<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\ndelete from mysql<\/span><span class=\"pun\">.<\/span><span class=\"pln\">db where user<\/span><span class=\"pun\">=<\/span><span class=\"str\">''<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\ndelete from mysql<\/span><span class=\"pun\">.<\/span><span class=\"pln\">db where user<\/span><span class=\"pun\">=<\/span><span class=\"str\">'PUBLIC'<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\ndelete from mysql<\/span><span class=\"pun\">.<\/span><span class=\"pln\">user where user<\/span><span class=\"pun\">=<\/span><span class=\"str\">''<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\ndelete from mysql<\/span><span class=\"pun\">.<\/span><span class=\"pln\">user where user<\/span><span class=\"pun\">=<\/span><span class=\"str\">'mysql'<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\ndelete from mysql<\/span><span class=\"pun\">.<\/span><span class=\"pln\">user where user<\/span><span class=\"pun\">=<\/span><span class=\"str\">'PUBLIC'<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\nflush privileges<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\nexit\nEOF<\/span><\/pre>\n<h3>4. \u5b89\u88c5\u548c\u8bbe\u7f6e PHP<\/h3>\n<p><strong>\u5f15\u5165 PHP repo<\/strong><br \/>\n\u5982\u679c\u7cfb\u7edf\u662f Enterprise Linux 9 (CentOS 9, RHEL 9, Rocky Linux 9, AlmaLinux 9) x86_64 aarch64<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">dnf config<\/span><span class=\"pun\">-<\/span><span class=\"pln\">manager <\/span><span class=\"pun\">--<\/span><span class=\"kwd\">set<\/span><span class=\"pun\">-<\/span><span class=\"pln\">enabled crb\ndnf install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y https<\/span><span class=\"pun\">:\/\/<\/span><span class=\"pln\">dl<\/span><span class=\"pun\">.<\/span><span class=\"pln\">fedoraproject<\/span><span class=\"pun\">.<\/span><span class=\"pln\">org<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">pub<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">epel<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">epel<\/span><span class=\"pun\">-<\/span><span class=\"pln\">release<\/span><span class=\"pun\">-<\/span><span class=\"pln\">latest<\/span><span class=\"pun\">-<\/span><span class=\"lit\">9.noarch<\/span><span class=\"pun\">.<\/span><span class=\"pln\">rpm\ndnf install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y https<\/span><span class=\"pun\">:\/\/<\/span><span class=\"pln\">rpms<\/span><span class=\"pun\">.<\/span><span class=\"pln\">remirepo<\/span><span class=\"pun\">.<\/span><span class=\"pln\">net<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">enterprise<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">remi<\/span><span class=\"pun\">-<\/span><span class=\"pln\">release<\/span><span class=\"pun\">-<\/span><span class=\"lit\">9.rpm<\/span><\/pre>\n<p>\u5982\u679c\u7cfb\u7edf\u662f Enterprise Linux 8 (CentOS 8, RHEL 8, Rocky Linux 8, AlmaLinux 8) x86_64<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">dnf config<\/span><span class=\"pun\">-<\/span><span class=\"pln\">manager <\/span><span class=\"pun\">--<\/span><span class=\"kwd\">set<\/span><span class=\"pun\">-<\/span><span class=\"pln\">enabled powertools\ndnf install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y https<\/span><span class=\"pun\">:\/\/<\/span><span class=\"pln\">dl<\/span><span class=\"pun\">.<\/span><span class=\"pln\">fedoraproject<\/span><span class=\"pun\">.<\/span><span class=\"pln\">org<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">pub<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">epel<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">epel<\/span><span class=\"pun\">-<\/span><span class=\"pln\">release<\/span><span class=\"pun\">-<\/span><span class=\"pln\">latest<\/span><span class=\"pun\">-<\/span><span class=\"lit\">8.noarch<\/span><span class=\"pun\">.<\/span><span class=\"pln\">rpm\ndnf install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y https<\/span><span class=\"pun\">:\/\/<\/span><span class=\"pln\">rpms<\/span><span class=\"pun\">.<\/span><span class=\"pln\">remirepo<\/span><span class=\"pun\">.<\/span><span class=\"pln\">net<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">enterprise<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">remi<\/span><span class=\"pun\">-<\/span><span class=\"pln\">release<\/span><span class=\"pun\">-<\/span><span class=\"lit\">8.rpm<\/span><\/pre>\n<p>\u5982\u679c\u7cfb\u7edf\u662f RHEL 7 or CentOS 7 x86_64<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">yum install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y https<\/span><span class=\"pun\">:\/\/<\/span><span class=\"pln\">dl<\/span><span class=\"pun\">.<\/span><span class=\"pln\">fedoraproject<\/span><span class=\"pun\">.<\/span><span class=\"pln\">org<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">pub<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">epel<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">epel<\/span><span class=\"pun\">-<\/span><span class=\"pln\">release<\/span><span class=\"pun\">-<\/span><span class=\"pln\">latest<\/span><span class=\"pun\">-<\/span><span class=\"lit\">7.noarch<\/span><span class=\"pun\">.<\/span><span class=\"pln\">rpm\nyum install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y https<\/span><span class=\"pun\">:\/\/<\/span><span class=\"pln\">rpms<\/span><span class=\"pun\">.<\/span><span class=\"pln\">remirepo<\/span><span class=\"pun\">.<\/span><span class=\"pln\">net<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">enterprise<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">remi<\/span><span class=\"pun\">-<\/span><span class=\"pln\">release<\/span><span class=\"pun\">-<\/span><span class=\"lit\">7.rpm<\/span><span class=\"pln\">\nyum install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y yum<\/span><span class=\"pun\">-<\/span><span class=\"pln\">utils<\/span><\/pre>\n<p><strong>\u5b89\u88c5 PHP<\/strong><br \/>\n\u5982\u679c\u7cfb\u7edf\u662f Enterprise Linux 9 (CentOS 9, RHEL 9, Rocky Linux 9, AlmaLinux 9)\uff0c Enterprise Linux 8 (CentOS 8, RHEL 8, Rocky Linux 8, AlmaLinux 8)<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">dnf module reset <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y php\ndnf module install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y php<\/span><span class=\"pun\">:<\/span><span class=\"pln\">remi<\/span><span class=\"pun\">-<\/span><span class=\"lit\">8.2<\/span><\/pre>\n<p>\u5982\u679c\u7cfb\u7edf\u662f RHEL 7 or CentOS 7 x86_64<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">yum<\/span><span class=\"pun\">-<\/span><span class=\"pln\">config<\/span><span class=\"pun\">-<\/span><span class=\"pln\">manager <\/span><span class=\"pun\">--<\/span><span class=\"pln\">disable <\/span><span class=\"str\">'remi-php*'<\/span><span class=\"pln\">\nyum<\/span><span class=\"pun\">-<\/span><span class=\"pln\">config<\/span><span class=\"pun\">-<\/span><span class=\"pln\">manager <\/span><span class=\"pun\">--<\/span><span class=\"pln\">enable remi<\/span><span class=\"pun\">-<\/span><span class=\"pln\">php82<\/span><\/pre>\n<p>\u63a5\u7740\u5b89\u88c5 PHP \u5176\u4ed6\u5fc5\u8981\u7684\u7ec4\u4ef6\u3002<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">dnf install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">cli php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">bcmath php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">embedded php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">gd php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">imap php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">mysqlnd php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dba php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">pdo php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">pdo<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dblib php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">pgsql php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">odbc php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">enchant php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">gmp php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">intl php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">ldap php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">snmp php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">soap php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">tidy php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">opcache php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">process php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">pspell php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">shmop php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">sodium php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">ffi php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">brotli php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">lz4 php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">xz php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">zstd\ndnf install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">pecl<\/span><span class=\"pun\">-<\/span><span class=\"pln\">imagick<\/span><span class=\"pun\">-<\/span><span class=\"pln\">im7 php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">pecl<\/span><span class=\"pun\">-<\/span><span class=\"pln\">zip php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">pecl<\/span><span class=\"pun\">-<\/span><span class=\"pln\">mongodb php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">pecl<\/span><span class=\"pun\">-<\/span><span class=\"pln\">swoole5 php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">pecl<\/span><span class=\"pun\">-<\/span><span class=\"pln\">grpc php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">pecl<\/span><span class=\"pun\">-<\/span><span class=\"pln\">yaml php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">pecl<\/span><span class=\"pun\">-<\/span><span class=\"pln\">uuid<\/span><\/pre>\n<p>\u786e\u8ba4\u5b89\u88c5 PHP \u7248\u672c\u53ca\u6a21\u5757\u3002<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">php <\/span><span class=\"pun\">-<\/span><span class=\"pln\">v\nphp <\/span><span class=\"pun\">-<\/span><span class=\"pln\">m<\/span><\/pre>\n<p>\u7f16\u8f91 PHP \u7684 php-fpm \u914d\u7f6e\u6587\u4ef6 \/etc\/php-fpm.d\/www.conf\uff0c\u4f7f\u5176\u652f\u6301 caddy<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">sed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"s@^user.*@user = caddy@\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">fpm<\/span><span class=\"pun\">.<\/span><span class=\"pln\">d<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">www<\/span><span class=\"pun\">.<\/span><span class=\"pln\">conf\nsed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"s@^group.*@group = caddy@\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">fpm<\/span><span class=\"pun\">.<\/span><span class=\"pln\">d<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">www<\/span><span class=\"pun\">.<\/span><span class=\"pln\">conf\nsed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"s@^listen.acl_users.*@listen.acl_users = apache,nginx,caddy@\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">fpm<\/span><span class=\"pun\">.<\/span><span class=\"pln\">d<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">www<\/span><span class=\"pun\">.<\/span><span class=\"pln\">conf\nsed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"s@^;php_value\\[opcache.file_cache\\].*@php_value\\[opcache.file_cache\\] = \/var\/lib\/php\/opcache@\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">fpm<\/span><span class=\"pun\">.<\/span><span class=\"pln\">d<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">www<\/span><span class=\"pun\">.<\/span><span class=\"pln\">conf<\/span><\/pre>\n<p>\u66f4\u6539 PHP \u7684\u76ee\u5f55\u6743\u9650\uff0c\u4f7f\u5176\u652f\u6301 caddy<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">chown root<\/span><span class=\"pun\">.<\/span><span class=\"pln\">caddy <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">var<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">lib<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">session\nchown root<\/span><span class=\"pun\">.<\/span><span class=\"pln\">caddy <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">var<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">lib<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">wsdlcache\nchown root<\/span><span class=\"pun\">.<\/span><span class=\"pln\">caddy <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">var<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">lib<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">opcache<\/span><\/pre>\n<p>\u7f16\u8f91 PHP \u7684\u914d\u7f6e\u6587\u4ef6 \/etc\/php.ini\uff0c\u4f7f\u5176\u66f4\u52a0\u7b26\u5408\u751f\u4ea7\u73af\u5883\uff0c\u4ee5\u53ca\u652f\u6301 MariaDB \u8fde\u63a5<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">sed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"s@^disable_functions.*@disable_functions = passthru,exec,shell_exec,system,chroot,chgrp,chown,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore@\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">.<\/span><span class=\"pln\">ini\nsed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"s@^max_execution_time.*@max_execution_time = 300@\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">.<\/span><span class=\"pln\">ini\nsed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"s@^max_input_time.*@max_input_time = 300@\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">.<\/span><span class=\"pln\">ini\nsed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"s@^post_max_size.*@post_max_size = 50M@\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">.<\/span><span class=\"pln\">ini\nsed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"s@^upload_max_filesize.*@upload_max_filesize = 50M@\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">.<\/span><span class=\"pln\">ini\nsed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"s@^expose_php.*@expose_php = Off@\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">.<\/span><span class=\"pln\">ini\nsed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"s@^short_open_tag.*@short_open_tag = On@\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">.<\/span><span class=\"pln\">ini\n\nsock_location<\/span><span class=\"pun\">=<\/span><span class=\"str\">\"\/var\/lib\/mysql\/mysql.sock\"<\/span><span class=\"pln\">\nsed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"s#mysqli.default_socket.*#mysqli.default_socket = ${sock_location}#\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">.<\/span><span class=\"pln\">ini\nsed <\/span><span class=\"pun\">-<\/span><span class=\"pln\">i <\/span><span class=\"str\">\"s#pdo_mysql.default_socket.*#pdo_mysql.default_socket = ${sock_location}#\"<\/span> <span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">.<\/span><span class=\"pln\">ini<\/span><\/pre>\n<p>&nbsp;<\/p>\n<h3>5. \u542f\u52a8 PHP \u548c caddy \u670d\u52a1<\/h3>\n<p>\u542f\u52a8 PHP \u7684 php-fpm \u670d\u52a1<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">systemctl start php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">fpm<\/span><\/pre>\n<p>\u542f\u52a8 caddy \u670d\u52a1<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">systemctl start caddy<\/span><\/pre>\n<p>\u5141\u8bb8 mariadb, php-fpm, caddy \u670d\u52a1\u5f00\u673a\u81ea\u542f\u52a8<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">systemctl enable mariadb\nsystemctl enable php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">fpm\nsystemctl enable caddy<\/span><\/pre>\n<p>\u786e\u8ba4 mariadb, php-fpm, caddy \u670d\u52a1\u72b6\u6001<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">systemctl status mariadb\nsystemctl status php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">fpm\nsystemctl status caddy<\/span><\/pre>\n<p>\u786e\u8ba4 mariadb, php-fpm, caddy \u670d\u52a1\u7684\u8fdb\u7a0b<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">ps <\/span><span class=\"pun\">-<\/span><span class=\"pln\">ef <\/span><span class=\"pun\">|<\/span><span class=\"pln\"> grep <\/span><span class=\"pun\">-<\/span><span class=\"pln\">v grep <\/span><span class=\"pun\">|<\/span><span class=\"pln\"> grep <\/span><span class=\"str\">\"\/usr\/bin\/caddy\"<\/span><span class=\"pln\">\nps <\/span><span class=\"pun\">-<\/span><span class=\"pln\">ef <\/span><span class=\"pun\">|<\/span><span class=\"pln\"> grep <\/span><span class=\"pun\">-<\/span><span class=\"pln\">v grep <\/span><span class=\"pun\">|<\/span><span class=\"pln\"> grep php<\/span><span class=\"pun\">-<\/span><span class=\"pln\">fpm\nps <\/span><span class=\"pun\">-<\/span><span class=\"pln\">ef <\/span><span class=\"pun\">|<\/span><span class=\"pln\"> grep <\/span><span class=\"pun\">-<\/span><span class=\"pln\">v grep <\/span><span class=\"pun\">|<\/span><span class=\"pln\"> grep mariadbd<\/span><\/pre>\n<p>&nbsp;<\/p>\n<h3>6. \u5347\u7ea7 PHP \u7248\u672c\u7684\u6ce8\u610f\u4e8b\u9879<\/h3>\n<p>\u5f53 PHP \u6709\u65b0\u7248\u672c\u9700\u8981\u5347\u7ea7\u65f6\uff0c\u53ea\u9700\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5373\u53ef\u3002<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">yum update <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y php<\/span><span class=\"pun\">-*<\/span><\/pre>\n<p>\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5347\u7ea7 PHP \u540e\uff0c\u4f1a\u8986\u76d6\u6389\u4e4b\u524d\u66f4\u6539\u8fc7\u7684 PHP \u76ee\u5f55\u6743\u9650\uff0c\u6240\u4ee5\u8fd8\u9700\u8981\u5c06\u4e0b\u5217\u76ee\u5f55\u6743\u9650\u518d\u6b21\u4fee\u6539\u4e00\u4e0b\u3002<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">chown root<\/span><span class=\"pun\">.<\/span><span class=\"pln\">caddy <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">var<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">lib<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">session\nchown root<\/span><span class=\"pun\">.<\/span><span class=\"pln\">caddy <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">var<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">lib<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">wsdlcache\nchown root<\/span><span class=\"pun\">.<\/span><span class=\"pln\">caddy <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">var<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">lib<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">php<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">opcache<\/span><\/pre>\n<p>\u5f53 MariaDB \u6709\u65b0\u7248\u672c\u9700\u8981\u5347\u7ea7\u65f6\uff0c\u53ea\u9700\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5373\u53ef\u3002<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">yum update <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y <\/span><span class=\"typ\">MariaDB<\/span><span class=\"pun\">-*<\/span><\/pre>\n<p>\u5f53 Caddy \u6709\u65b0\u7248\u672c\u9700\u8981\u5347\u7ea7\u65f6\uff0c\u53ea\u9700\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5373\u53ef\u3002<\/p>\n<pre class=\"prettyprint lang-bsh\"><span class=\"pln\">yum update <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y caddy<\/span><\/pre>\n<p>\u5b89\u88c5\u4e86 phpmyAdmin \u540e\uff0c\u5176\u914d\u7f6e\u4fe1\u606f\u5982\u4e0b\u56fe\uff1a<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1814\" title=\"pma_caddy_mariadb_info\" src=\"https:\/\/oimi.me\/wp-content\/uploads\/2023\/06\/pma_caddy_mariadb_info.png\" alt=\"pma_caddy_mariadb_info\" width=\"1383\" height=\"1338\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Caddy Web Server \u81eav2.6 \u7248\u672c\u53d1\u5e03\u4ee5\u540e\uff0c\u5c31\u9ed8\u8ba4\u652f\u6301 HTTP\/3\u3002\u53ef\u4ee5\u8bf4\u662f\u6700\u65e9\u652f\u6301 HTT [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1814,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-1813","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lab"],"_links":{"self":[{"href":"https:\/\/myya.net\/index.php\/wp-json\/wp\/v2\/posts\/1813","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/myya.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/myya.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/myya.net\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/myya.net\/index.php\/wp-json\/wp\/v2\/comments?post=1813"}],"version-history":[{"count":0,"href":"https:\/\/myya.net\/index.php\/wp-json\/wp\/v2\/posts\/1813\/revisions"}],"wp:attachment":[{"href":"https:\/\/myya.net\/index.php\/wp-json\/wp\/v2\/media?parent=1813"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/myya.net\/index.php\/wp-json\/wp\/v2\/categories?post=1813"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/myya.net\/index.php\/wp-json\/wp\/v2\/tags?post=1813"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}