{"id":22674,"date":"2026-11-03T10:11:24","date_gmt":"2026-11-03T06:41:24","guid":{"rendered":"https:\/\/maralhost.com\/kb\/?post_type=docs&#038;p=22674"},"modified":"2026-11-11T15:03:15","modified_gmt":"2026-11-11T11:33:15","slug":"initial-config","status":"publish","type":"docs","link":"https:\/\/maralhost.com\/kb\/articles\/opensrc\/wordpressdocker\/initial-config\/","title":{"rendered":"\u0622\u0645\u0648\u0632\u0634 \u062c\u0627\u0645\u0639 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a WordPress \u0628\u0627 \u062f\u0627\u06a9\u0631"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Docker \u06cc\u06a9\u06cc \u0627\u0632 \u0631\u0648\u0634\u200c\u0647\u0627\u06cc \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc WordPress \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0622\u0646 Word Press \u0648 Database \u062f\u0631 Container\u0647\u0627\u06cc \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0622\u0646\u200c\u0647\u0627 \u062f\u0631 Volume\u0647\u0627\u06cc \u062f\u0627\u0626\u0645\u06cc \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c Word Press \u0648 MariaDB \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0647\u0633\u062a\u0647 \u0627\u0635\u0644\u06cc \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u0631\u0648\u0634 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0633\u0627\u06cc\u062a \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0627\u0646\u062a\u062e\u0627\u0628 \u062e\u0648\u0627\u0647\u062f \u0634\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Direct Connection<\/strong> \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0645\u0633\u062a\u0642\u06cc\u0645 \u0628\u0647 Word Press<\/li>\n\n\n\n<li><strong>Caddy<\/strong> \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 Reverse Proxy \u0628\u0627 HTTPS \u062e\u0648\u062f\u06a9\u0627\u0631 \u06cc\u0627 Certificate \u0627\u062e\u062a\u0635\u0627\u0635\u06cc<\/li>\n\n\n\n<li><strong>Nginx<\/strong> \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 Reverse Proxy \u0628\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 SSL \u062e\u0648\u062f\u06a9\u0627\u0631 \u06cc\u0627 Certificate \u0627\u062e\u062a\u0635\u0627\u0635\u06cc<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc \u067e\u0631\u0648\u0698\u0647 \u0646\u06cc\u0632 \u062f\u0631 <code>\/opt\/wordpress<\/code> \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u0646\u062f \u062a\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0622\u0646\u200c\u0647\u0627 \u0633\u0627\u062f\u0647 \u0628\u0627\u0634\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u0627\u062e\u062a\u0627\u0631 Compose \u0628\u0647 \u0686\u0646\u062f \u0641\u0627\u06cc\u0644 \u062a\u0642\u0633\u06cc\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f \u062a\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06cc\u0627 \u062a\u063a\u06cc\u06cc\u0631 Reverse Proxy \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc Word Press \u0648 MariaDB \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0622\u0645\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u06cc\u06a9 \u0633\u0631\u0648\u0631 Linux<\/li>\n\n\n\n<li>\u062f\u0633\u062a\u0631\u0633\u06cc SSH<\/li>\n\n\n\n<li>Docker Engine<\/li>\n\n\n\n<li>Docker Compose<\/li>\n\n\n\n<li>\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u06a9\u0627\u0631\u0628\u0631 \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc sudo \u0628\u0647 \u06af\u0631\u0648\u0647 docker<\/li>\n\n\n\n<li>\u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Reverse Proxy\u060c \u06cc\u06a9 Domain \u06a9\u0647 \u0628\u0647 IP \u0633\u0631\u0648\u0631 \u0627\u0634\u0627\u0631\u0647 \u06a9\u0646\u062f<\/li>\n\n\n\n<li>\u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 HTTPS \u062e\u0648\u062f\u06a9\u0627\u0631\u060c \u062f\u0633\u062a\u0631\u0633\u06cc \u0639\u0645\u0648\u0645\u06cc \u0628\u0647 Port\u0647\u0627\u06cc <code>80<\/code> \u0648 <code>443<\/code><\/li>\n\n\n\n<li><a href=\"https:\/\/maralhost.com\/kb\/articles\/linux\/vim-and-nano-text-editors\/\" data-type=\"link\" data-id=\"https:\/\/maralhost.com\/kb\/articles\/linux\/vim-and-nano-text-editors\/\">\u062f\u0627\u0646\u0634 \u0627\u0648\u0644\u06cc\u0647 \u06a9\u0627\u0631 \u0628\u0627 nano \u06cc\u0627 vim<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc Docker:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>docker --version\ndocker compose version<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--version<\/span><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">version<\/span><\/span><\/code><\/pre><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"356\" height=\"92\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/01-docker-version.webp\" alt=\"\" class=\"wp-image-22684\" style=\"width:557px;height:auto\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/01-docker-version.webp 356w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/01-docker-version-300x78.webp 300w\" sizes=\"(max-width: 356px) 100vw, 356px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">\u0622\u0645\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u067e\u0631\u0648\u0698\u0647<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0648\u0634\u0647 \u0627\u0635\u0644\u06cc \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo mkdir -p \/opt\/wordpress\ncd \/opt\/wordpress<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">mkdir<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-p<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u0627\u062e\u062a\u0627\u0631 \u0646\u0647\u0627\u06cc\u06cc \u067e\u0631\u0648\u0698\u0647 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u06a9\u0644\u06cc \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/opt\/wordpress\/\n\u251c\u2500\u2500 docker-compose.yml\n\u251c\u2500\u2500 docker-compose.direct.yml <em>(direct specific)<\/em>\n\u251c\u2500\u2500 docker-compose.caddy.yml\n\u251c\u2500\u2500 docker-compose.nginx.yml <em>(nginx specific)<\/em>\n\u251c\u2500\u2500 .env\n\u251c\u2500\u2500 caddy\/\n\u2502   \u2514\u2500\u2500 Caddyfile\n\u251c\u2500\u2500 nginx\/ <em>(nginx specific)<\/em>\n\u2502   \u2514\u2500\u2500 default.conf\n\u251c\u2500\u2500 certbot\/ <em>(nginx specific)<\/em>\n\u2502   \u2514\u2500\u2500 www\/\n\u2514\u2500\u2500 certs\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 Compose \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0644\u0627\u06cc\u0647\u200c\u0647\u0627\u06cc \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0631\u0648\u06cc \u0641\u0627\u06cc\u0644 \u0627\u0635\u0644\u06cc \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u0646\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0627\u0635\u0644\u06cc \u0641\u0642\u0637 \u0645\u0633\u0626\u0648\u0644 \u0627\u062c\u0631\u0627\u06cc Word Press \u0648 MariaDB \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u062a\u0646\u0638\u06cc\u0645 \u0641\u0627\u06cc\u0644 <code>.env<\/code><\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u062a\u0645\u0627\u0645\u06cc \u0645\u0648\u0627\u0631\u062f\u06cc \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0646\u0648\u0634\u062a\u0646 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u0628\u0646\u0627 \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u062e\u0648\u062f \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 <code>nano<\/code> \u06cc\u0627 <code>vi<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0645\u0633\u06cc\u0631 <code>\/opt\/wordpress<\/code> \u0641\u0627\u06cc\u0644 <code>.env<\/code> \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\nsudo vi .env<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">vi<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">.env<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u062d\u062a\u0648\u0627\u06cc \u0641\u0627\u06cc\u0644:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">INI<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>DOMAIN=example.com\n\nWORDPRESS_IMAGE=wordpress:php8.3-apache\nMARIADB_IMAGE=mariadb:11.4\n\nDB_NAME=wordpress\nDB_USER=wordpress\nDB_PASSWORD=CHANGE_THIS_PASSWORD\nDB_ROOT_PASSWORD=CHANGE_THIS_ROOT_PASSWORD\n\nWORDPRESS_TABLE_PREFIX=wp_<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F286C4\">DOMAIN=<\/span><span style=\"color: #F6F6F4\">example.com<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">WORDPRESS_IMAGE=<\/span><span style=\"color: #F6F6F4\">wordpress:php8.3-apache<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">MARIADB_IMAGE=<\/span><span style=\"color: #F6F6F4\">mariadb:11.4<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">DB_NAME=<\/span><span style=\"color: #F6F6F4\">wordpress<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">DB_USER=<\/span><span style=\"color: #F6F6F4\">wordpress<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">DB_PASSWORD=<\/span><span style=\"color: #F6F6F4\">CHANGE_THIS_PASSWORD<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">DB_ROOT_PASSWORD=<\/span><span style=\"color: #F6F6F4\">CHANGE_THIS_ROOT_PASSWORD<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">WORDPRESS_TABLE_PREFIX=<\/span><span style=\"color: #F6F6F4\">wp_<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u0642\u0627\u062f\u06cc\u0631 <code>DOMAIN<\/code> \u0648 <code>SSL_EMAIL<\/code> \u0631\u0627 \u0628\u0627 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0648\u0627\u0642\u0639\u06cc \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0631\u0627\u06cc <code>DB_PASSWORD<\/code> \u0648 <code>DB_ROOT_PASSWORD<\/code> \u0627\u0632 Password\u0647\u0627\u06cc \u0642\u0648\u06cc \u0648 \u0645\u062a\u0641\u0627\u0648\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u0630\u062e\u06cc\u0631\u0647 \u0641\u0627\u06cc\u0644:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo chmod 600 \/opt\/wordpress\/.env<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">chmod<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">600<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/.env<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u0627\u06cc\u062c\u0627\u062f Compose \u0627\u0635\u0644\u06cc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644 \u0627\u0635\u0644\u06cc \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo vi \/opt\/wordpress\/docker-compose.yml<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">vi<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/docker-compose.yml<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u062d\u062a\u0648\u0627\u06cc \u0622\u0646:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>services:\n\n  db:\n    image: ${MARIADB_IMAGE}\n    restart: unless-stopped\n\n    environment:\n      MARIADB_DATABASE: ${DB_NAME}\n      MARIADB_USER: ${DB_USER}\n      MARIADB_PASSWORD: ${DB_PASSWORD}\n      MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}\n\n    volumes:\n      - mariadb_data:\/var\/lib\/mysql\n\n    healthcheck:\n      test:\n        &#91;\n          \"CMD\",\n          \"healthcheck.sh\",\n          \"--connect\",\n          \"--innodb_initialized\"\n        &#93;\n      interval: 10s\n      timeout: 5s\n      retries: 10\n      start_period: 30s\n\n    networks:\n      - wordpress_net\n\n  wordpress:\n    image: ${WORDPRESS_IMAGE}\n    restart: unless-stopped\n\n    depends_on:\n      db:\n        condition: service_healthy\n\n    environment:\n      WORDPRESS_DB_HOST: db:3306\n      WORDPRESS_DB_USER: ${DB_USER}\n      WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}\n      WORDPRESS_DB_NAME: ${DB_NAME}\n      WORDPRESS_TABLE_PREFIX: ${WORDPRESS_TABLE_PREFIX}\n\n    volumes:\n      - wordpress_data:\/var\/www\/html\n\n    networks:\n      - wordpress_net\n\nnetworks:\n  wordpress_net:\n    driver: bridge\n\nvolumes:\n  mariadb_data:\n  wordpress_data:<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">services:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #62E884\">db:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">image:<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">MARIADB_IMAGE<\/span><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">restart:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">unless-stopped<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">environment:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">MARIADB_DATABASE:<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DB_NAME<\/span><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">MARIADB_USER:<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DB_USER<\/span><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">MARIADB_PASSWORD:<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DB_PASSWORD<\/span><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">MARIADB_ROOT_PASSWORD:<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DB_ROOT_PASSWORD<\/span><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">mariadb_data:\/var\/lib\/mysql<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">healthcheck:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #97E1F1\">test<\/span><span style=\"color: #F6F6F4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        &#91;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">          <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">CMD<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">          <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">healthcheck.sh<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">          <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">--connect<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">          <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">--innodb_initialized<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        &#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">interval:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">10<\/span><span style=\"color: #E7EE98\">s<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">timeout:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">5<\/span><span style=\"color: #E7EE98\">s<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">retries:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">10<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">start_period:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">30<\/span><span style=\"color: #E7EE98\">s<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">networks:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">wordpress_net<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #62E884\">wordpress:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">image:<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">WORDPRESS_IMAGE<\/span><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">restart:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">unless-stopped<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">depends_on:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">db:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">condition:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">service_healthy<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">environment:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">WORDPRESS_DB_HOST:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">db:3306<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">WORDPRESS_DB_USER:<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DB_USER<\/span><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">WORDPRESS_DB_PASSWORD:<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DB_PASSWORD<\/span><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">WORDPRESS_DB_NAME:<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DB_NAME<\/span><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">WORDPRESS_TABLE_PREFIX:<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">WORDPRESS_TABLE_PREFIX<\/span><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">wordpress_data:\/var\/www\/html<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">networks:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">wordpress_net<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">networks:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #62E884\">wordpress_net:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">driver:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">bridge<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #62E884\">mariadb_data:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #62E884\">wordpress_data:<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0647\u06cc\u0686 Port\u0627\u06cc \u0627\u0632 Word Press \u0631\u0648\u06cc Host \u0645\u0646\u062a\u0634\u0631 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Word Press \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0634\u0628\u06a9\u0647 \u062f\u0627\u062e\u0644\u06cc Docker \u0628\u0627 MariaDB \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Word Press\n    \u2502\n    \u2502 db:3306\n    \u25bc\nMariaDB<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Volume\u0647\u0627\u06cc <code>word press_data<\/code> \u0648 <code>mariadb_data<\/code> \u0646\u06cc\u0632 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0627\u0626\u0645\u06cc \u0633\u0627\u06cc\u062a \u0648 Database \u0631\u0627 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"511\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/02-main-docker-file-1024x511.webp\" alt=\"\" class=\"wp-image-22686\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/02-main-docker-file-1024x511.webp 1024w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/02-main-docker-file-300x150.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/02-main-docker-file-768x384.webp 768w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/02-main-docker-file-1536x767.webp 1536w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/02-main-docker-file.webp 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u0628\u0631\u0631\u0633\u06cc \u0648 \u0627\u062c\u0631\u0627\u06cc Core<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0648\u0627\u0631\u062f \u0645\u0633\u06cc\u0631 \u067e\u0631\u0648\u0698\u0647 \u0634\u0648\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0628\u062a\u062f\u0627 Configuration \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose config -q<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">config<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-q<\/span><\/span><\/code><\/pre><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"500\" height=\"62\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/03-chekc-config.webp\" alt=\"\" class=\"wp-image-22687\" style=\"width:839px;height:auto\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/03-chekc-config.webp 500w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/03-chekc-config-300x37.webp 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u062f\u0633\u062a\u0648\u0631 \u0628\u0627\u0644\u0627 \u06a9\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>echo \"Exit code is: $?\"<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">echo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Exit code is: <\/span><span style=\"color: #BF9EEE; font-style: italic\">$?<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0647 \u062c\u0632 \u0686\u0627\u067e \u06a9\u0631\u062f\u0646 <code>Exit code is:<\/code> \u0646\u062a\u06cc\u062c\u0647 \u062e\u0631\u0648\u062c\u06cc \u0645\u062a\u063a\u06cc\u0631 ? \u0631\u0627 \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u0647\u0645\u06cc\u0634\u0647 \u0646\u062a\u06cc\u062c\u0647 \u0627\u062c\u0631\u0627\u06cc \u0622\u062e\u0631\u06cc\u0646 \u06a9\u062f \u0642\u0628\u0644\u06cc \u0627\u0633\u062a. \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0627\u06cc\u0646 \u0645\u0642\u062f\u0627\u0631 \u0635\u0641\u0631 \u0628\u0627\u0634\u062f \u0628\u0647 \u0645\u0639\u0646\u06cc \u0627\u062c\u0631\u0627\u06cc \u0635\u062d\u06cc\u062d \u062f\u0633\u062a\u0648\u0631 \u0642\u0628\u0644\u06cc \u0627\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u0628\u0648\u062f \u062e\u0637\u0627\u060c \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose up -d<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">up<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-d<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0648\u0636\u0639\u06cc\u062a Container\u0647\u0627:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose ps<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">ps<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 Word Press \u0648 MariaDB \u0627\u062c\u0631\u0627 \u0634\u062f\u0647\u200c\u0627\u0646\u062f\u060c \u0627\u0645\u0627 Word Press \u0647\u0646\u0648\u0632 Port \u0639\u0645\u0648\u0645\u06cc \u0646\u062f\u0627\u0631\u062f.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"157\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/04-docker-compose-up-and-ps-edited-1024x157.webp\" alt=\"\" class=\"wp-image-22702\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/04-docker-compose-up-and-ps-edited-1024x157.webp 1024w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/04-docker-compose-up-and-ps-edited-300x46.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/04-docker-compose-up-and-ps-edited-768x118.webp 768w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/04-docker-compose-up-and-ps-edited-1536x235.webp 1536w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/04-docker-compose-up-and-ps-edited.webp 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u0627\u0646\u062a\u062e\u0627\u0628 \u06cc\u06a9\u06cc \u0627\u0632 \u06f3 \u0631\u0648\u0634 \u062f\u0633\u062a\u0631\u0633\u06cc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u06cc\u06a9\u06cc \u0627\u0632 \u0631\u0648\u0634\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Caddy<\/strong><\/li>\n\n\n\n<li>Direct Connection<\/li>\n\n\n\n<li>Nginx<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Direct Connection \u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0645\u0633\u062a\u0642\u06cc\u0645 \u0627\u0633\u062a. Caddy \u0648 Nginx \u0628\u0631\u0627\u06cc \u0632\u0645\u0627\u0646\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f Domain\u060c HTTPS \u0648 Reverse Proxy \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Reverse Proxy \u0628\u0627 Caddy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0633\u0627\u06cc\u062a \u0639\u0645\u0648\u0645\u06cc\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Reverse Proxy \u06af\u0632\u06cc\u0646\u0647 \u0645\u0646\u0627\u0633\u0628\u200c\u062a\u0631\u06cc \u0627\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Caddy \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f Certificate \u0631\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u062a\u0645\u062f\u06cc\u062f \u06a9\u0646\u062f \u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc HTTP \u0631\u0627 \u0628\u0647 HTTPS \u0645\u0646\u062a\u0642\u0644 \u06a9\u0646\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u06cc\u062c\u0627\u062f Compose \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Caddy<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo vi \/opt\/wordpress\/docker-compose.caddy.yml<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">vi<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/docker-compose.caddy.yml<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u062d\u062a\u0648\u0627:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>services:\n\n  caddy:\n    image: caddy:2\n    restart: unless-stopped\n    \n    environment:\n      DOMAIN: ${DOMAIN}\n\n    ports:\n      - \"80:80\"\n      - \"443:443\"\n\n    volumes:\n      - .\/caddy\/Caddyfile:\/etc\/caddy\/Caddyfile:ro\n      - .\/certs:\/certs:ro\n      - caddy_data:\/data\n      - caddy_config:\/config\n\n    networks:\n      - wordpress_net\n\nvolumes:\n  caddy_data:\n  caddy_config:<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">services:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #62E884\">caddy:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">image:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">caddy:2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">restart:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">unless-stopped<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">environment:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">DOMAIN:<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DOMAIN<\/span><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">ports:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">80:80<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">443:443<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">.\/caddy\/Caddyfile:\/etc\/caddy\/Caddyfile:ro<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">.\/certs:\/certs:ro<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">caddy_data:\/data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">caddy_config:\/config<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">networks:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">wordpress_net<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #62E884\">caddy_data:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #62E884\">caddy_config:<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0648\u0634\u0647 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo mkdir -p \/opt\/wordpress\/caddy<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">mkdir<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-p<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/caddy<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0646\u0638\u06cc\u0645 Caddyfile<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo vi \/opt\/wordpress\/caddy\/Caddyfile<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">vi<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/caddy\/Caddyfile<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u062d\u062a\u0648\u0627:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>{$DOMAIN} {\n    reverse_proxy wordpress:80\n}<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">{<\/span><span style=\"color: #BF9EEE\">$DOMAIN<\/span><span style=\"color: #F6F6F4\">} {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">reverse_proxy<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">wordpress:80<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0633\u0627\u062e\u062a\u0627\u0631 Caddy \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0634\u0628\u06a9\u0647 Docker \u0628\u0647 Word Press \u0645\u062a\u0635\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0646\u06cc\u0627\u0632\u06cc \u0646\u06cc\u0633\u062a Port <code>80<\/code> \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Word Press \u0631\u0648\u06cc Host \u0645\u0646\u062a\u0634\u0631 \u0634\u0648\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u062c\u0631\u0627\u06cc Caddy<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\n\nsudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.caddy.yml \\\n  up -d<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.caddy.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">up<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-d<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u062a\u0646\u0638\u06cc\u0645 \u0635\u062d\u06cc\u062d DNS \u0648 \u0628\u0627\u0632 \u0628\u0648\u062f\u0646 Port\u0647\u0627\u06cc <code>80<\/code> \u0648 <code>443<\/code>\u060c Caddy Certificate \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u0647 \u0648 HTTPS \u0631\u0627 \u0641\u0639\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"164\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/06-wordpress-with-caddy-1024x164.webp\" alt=\"\" class=\"wp-image-22711\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/06-wordpress-with-caddy-1024x164.webp 1024w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/06-wordpress-with-caddy-300x48.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/06-wordpress-with-caddy-768x123.webp 768w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/06-wordpress-with-caddy-1536x246.webp 1536w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/06-wordpress-with-caddy.webp 1887w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u0627\u06cc\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;example.com<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0642\u0627\u0628\u0644 \u062f\u0633\u062a\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0637\u0644\u0627\u0639\u0627\u062a Certificate \u0646\u06cc\u0632 \u062f\u0631 Volume \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 <code>\/data<\/code> \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f \u062a\u0627 \u0628\u0627 Restart \u06cc\u0627 Recreate \u0634\u062f\u0646 Container \u0627\u0632 \u0628\u06cc\u0646 \u0646\u0631\u0648\u062f.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"540\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/07-wordpress-with-caddy-up-and-running-edited-1024x540.webp\" alt=\"\" class=\"wp-image-22873\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/07-wordpress-with-caddy-up-and-running-edited-1024x540.webp 1024w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/07-wordpress-with-caddy-up-and-running-edited-300x158.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/07-wordpress-with-caddy-up-and-running-edited-768x405.webp 768w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/07-wordpress-with-caddy-up-and-running-edited-1536x810.webp 1536w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/07-wordpress-with-caddy-up-and-running-edited.webp 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 SSL \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u062f\u0631 Caddy<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06af\u0648\u0627\u0647\u06cc ssl \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u062a\u0646\u0647\u0627 \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u06af\u0648\u0627\u0647\u06cc \u062e\u0631\u06cc\u062f\u0627\u0631\u06cc \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f \u0648 \u06cc\u0627 \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0628\u0647 \u0647\u0631 \u0639\u0644\u062a\u06cc caddy \u0646\u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u062a\u0642\u06cc\u0645 \u06af\u0648\u0627\u0647\u06cc \u0631\u0627 \u0635\u0627\u062f\u0631 \u06a9\u0646\u062f \u06a9\u0627\u0631\u0628\u0631\u062f \u062f\u0627\u0631\u062f. \u062f\u0631 \u063a\u06cc\u0631 \u0627\u06cc\u0646 \u0635\u0648\u0631\u062a \u06af\u0648\u0627\u0647\u06cc \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 Caddy \u0646\u06cc\u0627\u0632 \u0634\u0645\u0627 \u0631\u0627 \u0628\u0631\u0637\u0631\u0641 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 Certificate \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u062f\u0627\u0631\u06cc\u062f\u060c \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0645\u0633\u06cc\u0631 \u0632\u06cc\u0631 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/opt\/wordpress\/certs\/\n\u251c\u2500\u2500 fullchain.pem\n\u2514\u2500\u2500 privkey.pem<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0627\u0632 \u0641\u0627\u06cc\u0644 crt \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0644\u06cc\u0646\u0648\u06a9\u0633\u06cc \u062e\u0648\u062f \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062f\u0631\u0633\u062a \u06a9\u0631\u062f\u0646 fullchain.pem \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0633\u067e\u0633 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0645\u0633\u06cc\u0631 \u0635\u062d\u06cc\u062d \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cat certificate.crt ca-bundle.crt > fullchain.pem<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">cat<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">certificate.crt<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">ca-bundle.crt<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&gt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">fullchain.pem<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u067e\u0633 <code>Caddyfile<\/code> \u0631\u0627 \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>{$DOMAIN} {\n    tls \/certs\/fullchain.pem \/certs\/privkey.pem\n\n    reverse_proxy wordpress:80\n}<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">{<\/span><span style=\"color: #BF9EEE\">$DOMAIN<\/span><span style=\"color: #F6F6F4\">} {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">tls<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/certs\/fullchain.pem<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/certs\/privkey.pem<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">reverse_proxy<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">wordpress:80<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u0646\u0647\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0627\u0636\u0627\u0641\u0647 \u0634\u062f\u0646 \u062e\u0637 <code>tls ...<\/code> \u0627\u0633\u062a. \u062f\u0631 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a Caddy \u0627\u0632 Certificate \u0645\u0634\u062e\u0635\u200c\u0634\u062f\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u062a\u0645\u062f\u06cc\u062f Certificate \u0628\u0631 \u0639\u0647\u062f\u0647 \u0634\u0645\u0627 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 ssl \u062c\u062f\u06cc\u062f \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0646\u06cc\u0627\u0632 \u0628\u0647 \u06cc\u06a9 \u062f\u0648\u0631 \u0631\u06cc\u0633\u062a \u062f\u0633\u062a\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0628\u0627\u0634\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose \\\n   -f docker-compose.yml \\\n   -f docker-compose.caddy.yml \\\n   down<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">   <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">   <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.caddy.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">   <\/span><span style=\"color: #E7EE98\">down<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0648 \u0633\u067e\u0633:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose \\\n   -f docker-compose.yml \\\n   -f docker-compose.caddy.yml \\\n   up -d<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">   <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">   <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.caddy.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">   <\/span><span style=\"color: #E7EE98\">up<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-d<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f \u0628\u0631\u0627\u06cc ssl \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u0646\u06cc\u0632 \u0627\u0632 \u06cc\u06a9 Let`s Encrypt ssl \u062f\u06cc\u06af\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"545\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/08-caddy-with-external-ssl-edited-1024x545.webp\" alt=\"\" class=\"wp-image-22874\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/08-caddy-with-external-ssl-edited-1024x545.webp 1024w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/08-caddy-with-external-ssl-edited-300x160.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/08-caddy-with-external-ssl-edited-768x408.webp 768w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/08-caddy-with-external-ssl-edited-1536x817.webp 1536w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/08-caddy-with-external-ssl-edited.webp 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u062c\u0632\u0626\u06cc\u0627\u062a ssl \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u062f\u0631 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631 \u0645\u0637\u0627\u0628\u0642 \u062f\u0627\u0631\u062f \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062f\u0633\u062a\u0648\u0631\u0627\u062a <code>openssl<\/code> \u0646\u06cc\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo openssl x509 \\\n   -in \/opt\/wordpress\/certs\/fullchain.pem \\\n   -noout \\\n   -subject \\\n   -issuer \\\n   -dates<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">openssl<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">x509<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">   <\/span><span style=\"color: #BF9EEE\">-in<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/certs\/fullchain.pem<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">   <\/span><span style=\"color: #BF9EEE\">-noout<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">   <\/span><span style=\"color: #BF9EEE\">-subject<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">   <\/span><span style=\"color: #BF9EEE\">-issuer<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">   <\/span><span style=\"color: #BF9EEE\">-dates<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u0637\u0627\u0628\u0642 \u062a\u0635\u0648\u06cc\u0631 \u062a\u0627\u0631\u06cc\u062e \u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631 \u0648 \u0646\u062a\u06cc\u062c\u0647 \u062f\u0633\u062a\u0648\u0631 \u0645\u0637\u0627\u0628\u0642\u062a \u062f\u0627\u0631\u062f \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631 \u0627\u06cc\u0646 \u06af\u0648\u0627\u0647\u06cc \u0628\u0631\u0627\u06cc \u062f\u0627\u0645\u0646\u0647 mail \u06a9\u0647 \u062f\u0631 \u062a\u0633\u062a \u0642\u0628\u0644\u06cc \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0634\u062a \u0646\u06cc\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"653\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/09-caddy-external-ssl-new-date-1-1024x653.webp\" alt=\"\" class=\"wp-image-22876\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/09-caddy-external-ssl-new-date-1-1024x653.webp 1024w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/09-caddy-external-ssl-new-date-1-300x191.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/09-caddy-external-ssl-new-date-1-768x490.webp 768w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/09-caddy-external-ssl-new-date-1.webp 1128w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"99\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/10-check-externall-ssl-1-1024x99.webp\" alt=\"\" class=\"wp-image-22878\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/10-check-externall-ssl-1-1024x99.webp 1024w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/10-check-externall-ssl-1-300x29.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/10-check-externall-ssl-1-768x74.webp 768w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/10-check-externall-ssl-1.webp 1128w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u0627\u0632 \u0627\u06cc\u0646 reverse proxy \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0628\u0642\u06cc\u0647 \u0631\u0648\u0634\u200c\u0647\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0645\u062d\u06cc\u0637 production \u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u0646\u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u0631\u0648\u0634 direct connection \u0646\u06cc\u0632 \u062a\u0646\u0647\u0627 \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u062f\u0627\u0645\u0646\u0647 \u0646\u062f\u0627\u0631\u06cc\u062f \u0648 \u06cc\u0627 \u0642\u0635\u062f \u0639\u06cc\u0628 \u06cc\u0627\u0628\u06cc \u062f\u0627\u0631\u06cc\u062f \u06a9\u0627\u0631\u0628\u0631\u062f \u062f\u0627\u0631\u062f. \u0628\u0647 \u0647\u0645\u06cc\u0646 \u0645\u0646\u0638\u0648\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0648\u0627\u0631\u062f direct connection \u0648 nginx \u0631\u0627 \u0631\u062f \u06a9\u0646\u06cc\u062f \u0648 \u0627\u062f\u0627\u0645\u0647 \u0645\u0637\u0627\u0644\u0628 \u0631\u0627 \u0645\u0637\u0627\u0644\u0639\u0647 \u0628\u0641\u0631\u0645\u0627\u0626\u06cc\u062f.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Direct Connection<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u062d\u0627\u0644\u062a Direct\u060c \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u0628\u0647 Word Press \u0645\u06cc\u200c\u0631\u0633\u0646\u062f \u0648 \u0627\u0645\u06a9\u0627\u0646\u0627\u062a\u06cc \u0645\u0627\u0646\u0646\u062f HTTPS\u060c Redirect\u060c Header\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0648 \u0633\u0627\u06cc\u0631 \u06a9\u0646\u062a\u0631\u0644\u200c\u0647\u0627\u06cc Reverse Proxy \u0648\u062c\u0648\u062f \u0646\u062e\u0648\u0627\u0647\u0646\u062f \u062f\u0627\u0634\u062a. \u0647\u0645\u0627\u0646 \u0637\u0648\u0631 \u06a9\u0647 \u06af\u0641\u062a\u0647 \u0634\u062f \u062a\u0646\u0647\u0627 \u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u06cc\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0627\u0632 cdn \u0648 \u06cc\u0627 \u062f\u06cc\u06af\u0631 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0634\u06cc\u0648\u0647 \u0627\u062a\u0635\u0627\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u0634\u06cc\u0648\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0634\u06cc\u0648\u0647 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u0634\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0646\u06cc\u0633\u062a \u0648 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u06a9\u0627\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 caddy \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0627\u0628\u062a\u062f\u0627 \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u0645\u0639\u0631\u0641\u06cc \u0634\u062f.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0642\u0635\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Reverse Proxy \u0646\u062f\u0627\u0631\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f Word Press \u0631\u0627 \u0631\u0648\u06cc \u06cc\u06a9 Port \u0645\u0634\u062e\u0635 \u0627\u0632 Host \u0645\u0646\u062a\u0634\u0631 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo nano \/opt\/wordpress\/docker-compose.direct.yml<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nano<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/docker-compose.direct.yml<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u062d\u062a\u0648\u0627:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>services:\n  wordpress:\n    ports:\n      - \"8080:80\"<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">services:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #62E884\">wordpress:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">ports:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">8080:80<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u067e\u0633:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\n\nsudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.direct.yml \\\n  up -d<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.direct.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">up<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-d<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Word Press \u0627\u06a9\u0646\u0648\u0646 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0632\u06cc\u0631 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;SERVER-IP:8080<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"555\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/05-direct-wordpress-connection-1024x555.webp\" alt=\"\" class=\"wp-image-22704\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/05-direct-wordpress-connection-1024x555.webp 1024w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/05-direct-wordpress-connection-300x163.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/05-direct-wordpress-connection-768x416.webp 768w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/05-direct-wordpress-connection-1536x832.webp 1536w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/05-direct-wordpress-connection-370x200.webp 370w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/10\/05-direct-wordpress-connection.webp 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 Port <code>8080<\/code> \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0642\u0628\u0644\u0627\u064b \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 Port \u0622\u0632\u0627\u062f \u062f\u06cc\u06af\u0631 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ports:\n  - \"8081:80\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 Port \u0633\u0645\u062a \u0686\u067e \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Host \u0648 Port \u0633\u0645\u062a \u0631\u0627\u0633\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Word Press \u062f\u0627\u062e\u0644 Container \u0627\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u0631\u0648\u0634 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637\u200c\u0647\u0627\u06cc \u062f\u0627\u062e\u0644\u06cc\u060c \u062a\u0633\u062a \u06cc\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u06cc\u06a9 CDN \u06cc\u0627 \u0633\u0631\u0648\u06cc\u0633 \u062f\u06cc\u06af\u0631\u06cc \u062f\u0631 \u0645\u0642\u0627\u0628\u0644 Word Press \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Reverse Proxy \u0628\u0627 Nginx<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0628\u0647\u200c\u062c\u0627\u06cc Caddy \u062a\u0631\u062c\u06cc\u062d \u0645\u06cc\u200c\u062f\u0647\u06cc\u062f \u0627\u0632 Nginx \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f Nginx \u0631\u0627 \u0646\u06cc\u0632 \u0628\u0647\u200c\u0635\u0648\u0631\u062a Docker-based \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f. <a href=\"https:\/\/hub.docker.com\/_\/nginx\" data-type=\"link\" data-id=\"https:\/\/hub.docker.com\/_\/nginx\" target=\"_blank\" rel=\"noopener\">\u0628\u0631\u0627\u06cc \u0645\u0637\u0627\u0644\u0639\u0647 \u062c\u0632\u0626\u06cc\u0627\u062a \u0627\u06cc\u0646 docker image \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0635\u0641\u062d\u0647 \u0627\u0635\u0644\u06cc \u0622\u0646 \u0631\u0627 \u0645\u0637\u0627\u0644\u0639\u0647 \u06a9\u0646\u06cc\u062f.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0631\u0648\u0634 Nginx \u0645\u0633\u0626\u0648\u0644 \u062f\u0631\u06cc\u0627\u0641\u062a \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627 \u0648 \u0627\u0646\u062a\u0642\u0627\u0644 \u0622\u0646\u200c\u0647\u0627 \u0628\u0647 Word Press \u0627\u0633\u062a \u0648 Certbot \u0641\u0642\u0637 \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u062a\u0645\u062f\u06cc\u062f Certificate \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u0627\u062e\u062a\u0627\u0631 \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Internet\n   \u2502\n   \u25bc\nNginx :80 \/ :443\n   \u2502\n   \u25bc\nWord Press :80\n   \u2502\n   \u25bc\nMariaDB\n\n\nCertbot\n   \u2502\n   \u2514\u2500\u2500 Certificate Management<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nginx \u0648 Certbot \u062f\u0631 Container\u0647\u0627\u06cc \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u0627\u06cc\u0646 \u0633\u0627\u062e\u062a\u0627\u0631 \u0628\u0627 \u0645\u062f\u0644 Docker \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633 \u06cc\u06a9 \u0645\u0633\u0626\u0648\u0644\u06cc\u062a \u0645\u0634\u062e\u0635 \u062f\u0631 \u0646\u0638\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f \u0633\u0627\u0632\u06af\u0627\u0631 \u0627\u0633\u062a.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u06cc\u062c\u0627\u062f Compose \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Nginx<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo nano \/opt\/wordpress\/docker-compose.nginx.yml<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nano<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/docker-compose.nginx.yml<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u062d\u062a\u0648\u0627:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>services:\n\n  nginx:\n    image: nginx:stable\n    restart: unless-stopped\n\n    environment:\n      DOMAIN: ${DOMAIN:?DOMAIN is required}\n      NGINX_ENVSUBST_FILTER: ^DOMAIN$\n\n    ports:\n      - \"80:80\"\n      - \"443:443\"\n\n    volumes:\n      - .\/nginx:\/etc\/nginx\/templates:ro\n      - .\/certbot\/www:\/var\/www\/certbot:ro\n      - letsencrypt:\/etc\/letsencrypt:ro\n      - .\/certs:\/etc\/nginx\/certs:ro\n\n    networks:\n      - wordpress_net\n\n  certbot:\n    image: certbot\/certbot:latest\n\n    profiles:\n      - ssl\n\n    command:\n      - certonly\n      - --webroot\n      - -w\n      - \/var\/www\/certbot\n      - -d\n      - ${DOMAIN:?DOMAIN is required}\n      - --agree-tos\n      - --non-interactive\n      - --register-unsafely-without-email\n\n    volumes:\n      - .\/certbot\/www:\/var\/www\/certbot\n      - letsencrypt:\/etc\/letsencrypt\n      - certbot_lib:\/var\/lib\/letsencrypt\n\n    networks:\n      - wordpress_net\n\nvolumes:\n  letsencrypt:\n  certbot_lib:<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">services:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #62E884\">nginx:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">image:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx:stable<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">restart:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">unless-stopped<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">environment:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">DOMAIN:<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DOMAIN<\/span><span style=\"color: #F286C4\">:?<\/span><span style=\"color: #BF9EEE\">DOMAIN<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">is<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">required<\/span><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">NGINX_ENVSUBST_FILTER:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">^DOMAIN<\/span><span style=\"color: #F6F6F4\">$<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">ports:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">80:80<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">443:443<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">.\/nginx:\/etc\/nginx\/templates:ro<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">.\/certbot\/www:\/var\/www\/certbot:ro<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">letsencrypt:\/etc\/letsencrypt:ro<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">.\/certs:\/etc\/nginx\/certs:ro<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">networks:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">wordpress_net<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #62E884\">certbot:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">image:<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">certbot\/certbot:latest<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">profiles:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">ssl<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #97E1F1\">command<\/span><span style=\"color: #F6F6F4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">certonly<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--webroot<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-w<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/var\/www\/certbot<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-d<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DOMAIN<\/span><span style=\"color: #F286C4\">:?<\/span><span style=\"color: #BF9EEE\">DOMAIN<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">is<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">required<\/span><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--agree-tos<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--non-interactive<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--register-unsafely-without-email<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">.\/certbot\/www:\/var\/www\/certbot<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">letsencrypt:\/etc\/letsencrypt<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">certbot_lib:\/var\/lib\/letsencrypt<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">networks:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #62E884\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">wordpress_net<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #62E884\">letsencrypt:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #62E884\">certbot_lib:<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 Configuration\u060c \u0645\u0642\u062f\u0627\u0631 <code>DOMAIN<\/code> \u0627\u0632 \u0641\u0627\u06cc\u0644 <code>.env<\/code> \u0628\u0647 Container \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Nginx \u0645\u0646\u062a\u0642\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f. Docker Compose \u0646\u06cc\u0632 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0645\u0642\u0627\u062f\u06cc\u0631 <code>.env<\/code> \u0631\u0627 \u0647\u0646\u06af\u0627\u0645 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u062f\u0631 Configuration \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Certbot \u0646\u06cc\u0632 \u0628\u0627 Profile \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a \u062a\u0627 \u0647\u0646\u06af\u0627\u0645 \u0627\u062c\u0631\u0627\u06cc \u0639\u0627\u062f\u06cc Stack\u060c \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 Container \u062f\u0627\u0626\u0645\u06cc \u0627\u062c\u0631\u0627 \u0646\u0634\u0648\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0648\u0634\u0647\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f\u0646\u06cc\u0627\u0632 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo mkdir -p \/opt\/wordpress\/nginx\nsudo mkdir -p \/opt\/wordpress\/certbot\/www\nsudo mkdir -p \/opt\/wordpress\/certs<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">mkdir<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-p<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/nginx<\/span><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">mkdir<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-p<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/certbot\/www<\/span><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">mkdir<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-p<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/certs<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u0628\u0631\u0631\u0633\u06cc Domain<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0642\u0628\u0644 \u0627\u0632 \u0627\u062f\u0627\u0645\u0647\u060c \u0645\u0642\u062f\u0627\u0631 <code>DOMAIN<\/code> \u062f\u0631 <code>.env<\/code> \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\nsudo grep '^DOMAIN=' .env<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">grep<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">^DOMAIN=<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">.env<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>DOMAIN=example.com<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0647\u0645\u0686\u0646\u06cc\u0646 Domain \u0628\u0627\u06cc\u062f \u0628\u0647 IP \u0633\u0631\u0648\u0631 \u0627\u0634\u0627\u0631\u0647 \u06a9\u0646\u062f \u0648 Port <code>80<\/code> \u0627\u0632 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a \u0642\u0627\u0628\u0644 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0627\u0634\u062f.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">SSL \u062e\u0648\u062f\u06a9\u0627\u0631 \u062f\u0631 Nginx<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u062d\u0627\u0644\u062a \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc\u060c Certificate \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u062a\u0648\u0633\u0637 Certbot \u0627\u0632 Let&#8217;s Encrypt \u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u062a\u0645\u062f\u06cc\u062f \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u062e\u0644\u0627\u0641 \u0627\u062c\u0631\u0627\u06cc \u0645\u0633\u062a\u0642\u06cc\u0645 <code>certbot --nginx<\/code> \u0631\u0648\u06cc Host\u060c \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0639\u0645\u0627\u0631\u06cc <a href=\"https:\/\/hub.docker.com\/r\/certbot\/certbot\" data-type=\"link\" data-id=\"https:\/\/hub.docker.com\/r\/certbot\/certbot\" target=\"_blank\" rel=\"noopener\">Certbot \u062f\u0627\u062e\u0644 Container \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f<\/a>. \u0628\u0647 \u0647\u0645\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0627\u0632 \u0631\u0648\u0634 <code>webroot<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645\u061b Certbot \u0641\u0627\u06cc\u0644 \u0645\u0648\u0642\u062a \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0645\u0633\u06cc\u0631 \u0645\u0634\u062a\u0631\u06a9 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f \u0648 Nginx \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 Let&#8217;s Encrypt \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f. \u0627\u06cc\u0646 \u0631\u0648\u0634 \u0628\u0631\u0627\u06cc \u06cc\u06a9 Web Server \u06a9\u0647 \u0627\u0632 \u0642\u0628\u0644 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627\u0633\u062a \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0627\u0648\u0644\u06cc\u0647 Nginx<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639\u060c Nginx \u0628\u0627\u06cc\u062f \u0627\u0628\u062a\u062f\u0627 \u0628\u0627 \u06cc\u06a9 Configuration \u0633\u0627\u062f\u0647 HTTP \u0627\u062c\u0631\u0627 \u0634\u0648\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo nano \/opt\/wordpress\/nginx\/default.conf.template<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nano<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/nginx\/default.conf.template<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u062d\u062a\u0648\u0627:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>server {\n    listen 80;\n    server_name ${DOMAIN};\n\n    location ^~ \/.well-known\/acme-challenge\/ {\n        root \/var\/www\/certbot;\n    }\n\n    location \/ {\n        proxy_pass http:\/\/wordpress:80;\n\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">server<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">listen<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">80<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">server_name<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DOMAIN<\/span><span style=\"color: #F6F6F4\">};<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">location<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">^~<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/.well-known\/acme-challenge\/<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">root<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/var\/www\/certbot<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">location<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_pass<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">http:\/\/wordpress:80<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_set_header<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">Host<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">$host<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_set_header<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">X-Real-IP<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">$remote_addr<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_set_header<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">X-Forwarded-For<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">$proxy_add_x_forwarded_for<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_set_header<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">X-Forwarded-Proto<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">$scheme<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Image \u0631\u0633\u0645\u06cc Nginx \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u062f\u0627\u0631\u0627\u06cc \u067e\u0633\u0648\u0646\u062f <code>.template<\/code> \u0631\u0627 \u0627\u0632 <code>\/etc\/nginx\/templates<\/code> \u067e\u0631\u062f\u0627\u0632\u0634 \u06a9\u0631\u062f\u0647 \u0648 \u0645\u0642\u062f\u0627\u0631 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u0645\u0627\u0646\u0646\u062f <code>${DOMAIN}<\/code> \u0631\u0627 \u0647\u0646\u06af\u0627\u0645 \u0634\u0631\u0648\u0639 Container \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06a9\u0646\u0648\u0646 Nginx \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\n\nsudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  up -d<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">up<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-d<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u0641\u0642\u0637 HTTP \u0641\u0639\u0627\u0644 \u0627\u0633\u062a \u0648 Nginx \u0622\u0645\u0627\u062f\u0647 \u062f\u0631\u06cc\u0627\u0641\u062a \u062f\u0631\u062e\u0648\u0627\u0633\u062a ACME \u0627\u0633\u062a.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"555\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/11-nginx-no-ssl-1-1024x555.webp\" alt=\"\" class=\"wp-image-22879\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/11-nginx-no-ssl-1-1024x555.webp 1024w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/11-nginx-no-ssl-1-300x163.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/11-nginx-no-ssl-1-768x416.webp 768w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/11-nginx-no-ssl-1-1536x832.webp 1536w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/11-nginx-no-ssl-1-370x200.webp 370w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/11-nginx-no-ssl-1.webp 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u062f\u0631\u06cc\u0627\u0641\u062a Certificate<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Certbot \u0631\u0627 \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a Certificate \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\n\nsudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  run --rm certbot<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">run<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--rm<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">certbot<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0631\u0648\u0634 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0646\u0635\u0628 Certbot \u0631\u0648\u06cc Host \u06cc\u0627 \u0646\u0635\u0628 Mail Server \u0646\u06cc\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u06af\u0632\u06cc\u0646\u0647 <code>--register-unsafely-without-email<\/code> \u0628\u0647 Certbot \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u0628\u062f\u0648\u0646 \u062b\u0628\u062a \u0627\u06cc\u0645\u06cc\u0644 Certificate \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u062f. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Email \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0627\u0632 \u06cc\u06a9 Email \u062e\u0627\u0631\u062c\u06cc \u0645\u0627\u0646\u0646\u062f Gmail \u06cc\u0627 Email \u0633\u0627\u0632\u0645\u0627\u0646\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f \u0648 \u0646\u06cc\u0627\u0632\u06cc \u0646\u06cc\u0633\u062a Mail Server \u0631\u0648\u06cc \u0647\u0645\u06cc\u0646 \u0633\u0631\u0648\u0631 \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f. \u0627\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u062a\u0642\u06cc\u0645 \u062f\u0631 \u0645\u062a\u0646 \u0628\u0627\u0644\u0627 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f \u0648\u0644\u06cc \u062f\u0631 container \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0628\u0631\u0627\u06cc Certbot \u0627\u0632 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u0645\u0648\u0641\u0642\u06cc\u062a\u060c Certificate \u062f\u0631 Volume \u0645\u0631\u0628\u0648\u0637 \u0628\u0647:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/letsencrypt<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"296\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/12-cert-created-with-certbot-1-1024x296.webp\" alt=\"\" class=\"wp-image-22880\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/12-cert-created-with-certbot-1-1024x296.webp 1024w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/12-cert-created-with-certbot-1-300x87.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/12-cert-created-with-certbot-1-768x222.webp 768w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/12-cert-created-with-certbot-1-1536x444.webp 1536w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/12-cert-created-with-certbot-1.webp 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 HTTPS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u0648\u0641\u0642 Certificate\u060c Configuration Nginx \u0631\u0627 \u0628\u0647 \u0646\u0633\u062e\u0647 HTTPS \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo nano \/opt\/wordpress\/nginx\/default.conf.template<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nano<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/nginx\/default.conf.template<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u062d\u062a\u0648\u0627:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>server {\n    listen 80;\n    server_name ${DOMAIN};\n\n    location ^~ \/.well-known\/acme-challenge\/ {\n        root \/var\/www\/certbot;\n    }\n\n    location \/ {\n        return 301 https:\/\/$host$request_uri;\n    }\n}\n\nserver {\n    listen 443 ssl;\n    server_name ${DOMAIN};\n\n    ssl_certificate \/etc\/letsencrypt\/live\/${DOMAIN}\/fullchain.pem;\n    ssl_certificate_key \/etc\/letsencrypt\/live\/${DOMAIN}\/privkey.pem;\n\n    location \/ {\n        proxy_pass http:\/\/wordpress:80;\n\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">server<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">listen<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">80<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">server_name<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DOMAIN<\/span><span style=\"color: #F6F6F4\">};<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">location<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">^~<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/.well-known\/acme-challenge\/<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">root<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/var\/www\/certbot<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">location<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">301<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">https:\/\/<\/span><span style=\"color: #BF9EEE\">$host$request_uri<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">server<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">listen<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">443<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">ssl<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">server_name<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DOMAIN<\/span><span style=\"color: #F6F6F4\">};<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">ssl_certificate<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/etc\/letsencrypt\/live\/<\/span><span style=\"color: #F6F6F4\">${<\/span><span style=\"color: #BF9EEE\">DOMAIN<\/span><span style=\"color: #F6F6F4\">}<\/span><span style=\"color: #E7EE98\">\/fullchain.pem<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">ssl_certificate_key<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/etc\/letsencrypt\/live\/<\/span><span style=\"color: #F6F6F4\">${<\/span><span style=\"color: #BF9EEE\">DOMAIN<\/span><span style=\"color: #F6F6F4\">}<\/span><span style=\"color: #E7EE98\">\/privkey.pem<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">location<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_pass<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">http:\/\/wordpress:80<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_set_header<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">Host<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">$host<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_set_header<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">X-Real-IP<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">$remote_addr<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_set_header<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">X-Forwarded-For<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">$proxy_add_x_forwarded_for<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_set_header<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">X-Forwarded-Proto<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">$scheme<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06a9\u0646\u0648\u0646 Configuration \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\n\nsudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  run --rm nginx nginx -t<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">run<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--rm<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-t<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"367\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/13-nginx-new-config-is-ok-1024x367.webp\" alt=\"\" class=\"wp-image-22729\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/13-nginx-new-config-is-ok-1024x367.webp 1024w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/13-nginx-new-config-is-ok-300x107.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/13-nginx-new-config-is-ok-768x275.webp 768w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/13-nginx-new-config-is-ok.webp 1139w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0635\u0648\u0631\u062a \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u0648\u0641\u0642\u06cc\u062a\u060c Nginx \u0631\u0627 \u0628\u0627 Configuration \u062c\u062f\u06cc\u062f \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  up -d --force-recreate nginx<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">up<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-d<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--force-recreate<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Nginx \u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0627\u0632 \u0637\u0631\u06cc\u0642 HTTPS \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0628\u0627\u0634\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;example.com<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nginx \u0647\u0646\u06af\u0627\u0645 Reload \u06cc\u0627 Restart Configuration \u062c\u062f\u06cc\u062f \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u062f\u0631 \u0635\u0648\u0631\u062a \u0645\u0639\u062a\u0628\u0631 \u0628\u0648\u062f\u0646 \u0622\u0646 \u0631\u0627 \u0627\u0639\u0645\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"551\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/14-nginx-ssl-ok-1-1024x551.webp\" alt=\"\" class=\"wp-image-22881\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/14-nginx-ssl-ok-1-1024x551.webp 1024w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/14-nginx-ssl-ok-1-300x161.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/14-nginx-ssl-ok-1-768x413.webp 768w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/14-nginx-ssl-ok-1-1536x826.webp 1536w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/14-nginx-ssl-ok-1-410x220.webp 410w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/14-nginx-ssl-ok-1-370x200.webp 370w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/14-nginx-ssl-ok-1.webp 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u062a\u0645\u062f\u06cc\u062f \u062e\u0648\u062f\u06a9\u0627\u0631 Certificate \u062f\u0631 Nginx<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u062f\u0631\u06cc\u0627\u0641\u062a Certificate\u060c \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0641\u0631\u0622\u06cc\u0646\u062f \u062a\u0645\u062f\u06cc\u062f \u0622\u0646 \u0646\u06cc\u0632 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0634\u0648\u062f \u062a\u0627 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0627\u0646\u062c\u0627\u0645 \u062f\u0633\u062a\u06cc Renewal \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Certbot \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u062f\u0633\u062a\u0648\u0631 <code>renew<\/code> \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062f\u0648\u0631\u0647\u200c\u0627\u06cc \u0627\u062c\u0631\u0627 \u0634\u0648\u062f \u0648 \u0641\u0642\u0637 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 Certificate \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u0645\u062f\u06cc\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u060c \u0641\u0631\u0622\u06cc\u0646\u062f Renewal \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u06cc\u062c\u0627\u062f Script \u062a\u0645\u062f\u06cc\u062f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0633\u0627\u062f\u0647\u200c\u062a\u0631 \u0634\u062f\u0646 \u0645\u062f\u06cc\u0631\u06cc\u062a\u060c \u06cc\u06a9 Script \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Renewal \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n\n\n\n<li>\u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u0647\u0645\u200c\u0632\u0645\u0627\u0646 \u0686\u0646\u062f \u0641\u0631\u0622\u06cc\u0646\u062f Renewal \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n\n\n\n<li>\u062f\u0631 \u0635\u0648\u0631\u062a \u062a\u0645\u062f\u06cc\u062f \u0645\u0648\u0641\u0642 Certificate\u060c \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Nginx \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n\n\n\n<li>\u062f\u0631 \u0635\u0648\u0631\u062a \u0635\u062d\u06cc\u062d \u0628\u0648\u062f\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc\u060c Nginx \u0631\u0627 Reload \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n\n\n\n<li>\u062f\u0631 \u0635\u0648\u0631\u062a \u0639\u062f\u0645 \u0646\u06cc\u0627\u0632 \u0628\u0647 Renewal\u060c \u0647\u06cc\u0686 \u062a\u063a\u06cc\u06cc\u0631\u06cc \u062f\u0631 Certificate \u0627\u06cc\u062c\u0627\u062f \u0646\u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo nano \/opt\/wordpress\/renew-nginx-ssl.sh<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nano<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/renew-nginx-ssl.sh<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u062d\u062a\u0648\u0627\u06cc \u0641\u0627\u06cc\u0644:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>#!\/bin\/sh\n\nset -eu\n\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\nexport PATH\n\nPROJECT_DIR=\"\/opt\/wordpress\"\nLOCK_DIR=\"\/tmp\/wordpress-nginx-certbot.lock\"\nRENEWED_MARKER=\"${PROJECT_DIR}\/certbot\/www\/.renewed\"\n\n# Prevent simultaneous manual and scheduled renewal runs\nif ! mkdir \"$LOCK_DIR\" 2>\/dev\/null; then\n\n    if &#91; -f \"$LOCK_DIR\/pid\" &#93; &amp;&amp; kill -0 \"$(cat \"$LOCK_DIR\/pid\")\" 2>\/dev\/null; then\n        echo \"Another certificate renewal process is already running.\"\n        exit 0\n    fi\n\n    # Remove stale lock\n    rm -rf \"$LOCK_DIR\"\n    mkdir \"$LOCK_DIR\"\nfi\n\necho \"$$\" > \"$LOCK_DIR\/pid\"\n\ncleanup() {\n    rm -rf \"$LOCK_DIR\"\n}\n\ntrap cleanup EXIT INT TERM\n\ncd \"$PROJECT_DIR\"\n\n# If a previous renewal succeeded but Nginx reload failed,\n# try to apply the new certificate first.\nif &#91; -f \"$RENEWED_MARKER\" &#93;; then\n\n    docker compose \\\n      -f docker-compose.yml \\\n      -f docker-compose.nginx.yml \\\n      exec -T nginx nginx -t\n\n    docker compose \\\n      -f docker-compose.yml \\\n      -f docker-compose.nginx.yml \\\n      exec -T nginx nginx -s reload\n\n    rm -f \"$RENEWED_MARKER\"\nfi\n\n# Check and renew certificates when necessary\ndocker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  run --rm certbot \\\n  renew \\\n  --quiet \\\n  --deploy-hook \"touch \/var\/www\/certbot\/.renewed\"\n\n# Reload Nginx only when a certificate was actually renewed\nif &#91; -f \"$RENEWED_MARKER\" &#93;; then\n\n    docker compose \\\n      -f docker-compose.yml \\\n      -f docker-compose.nginx.yml \\\n      exec -T nginx nginx -t\n\n    docker compose \\\n      -f docker-compose.yml \\\n      -f docker-compose.nginx.yml \\\n      exec -T nginx nginx -s reload\n\n    rm -f \"$RENEWED_MARKER\"\n\nfi<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #7B7F8B\">#!\/bin\/sh<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">set<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-eu<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BF9EEE\">PATH<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #E7EE98\">\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">export<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">PATH<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BF9EEE\">PROJECT_DIR<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BF9EEE\">LOCK_DIR<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">\/tmp\/wordpress-nginx-certbot.lock<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BF9EEE\">RENEWED_MARKER<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">${<\/span><span style=\"color: #BF9EEE\">PROJECT_DIR<\/span><span style=\"color: #E7EE98\">}\/certbot\/www\/.renewed<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Prevent simultaneous manual and scheduled renewal runs<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">!<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">mkdir<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE\">$LOCK_DIR<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">2&gt;<\/span><span style=\"color: #E7EE98\">\/dev\/null<\/span><span style=\"color: #F6F6F4\">; <\/span><span style=\"color: #F286C4\">then<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> &#91; <\/span><span style=\"color: #F286C4\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE\">$LOCK_DIR<\/span><span style=\"color: #E7EE98\">\/pid<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> &#93; &amp;&amp; <\/span><span style=\"color: #97E1F1\">kill<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-0<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">$(<\/span><span style=\"color: #62E884\">cat<\/span><span style=\"color: #E7EE98\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE\">$LOCK_DIR<\/span><span style=\"color: #E7EE98\">\/pid<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">)<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">2&gt;<\/span><span style=\"color: #E7EE98\">\/dev\/null<\/span><span style=\"color: #F6F6F4\">; <\/span><span style=\"color: #F286C4\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #97E1F1\">echo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Another certificate renewal process is already running.<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #97E1F1\">exit<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #F286C4\">fi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #7B7F8B\"># Remove stale lock<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">rm<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-rf<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE\">$LOCK_DIR<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">mkdir<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE\">$LOCK_DIR<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">fi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">echo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE; font-style: italic\">$$<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&gt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE\">$LOCK_DIR<\/span><span style=\"color: #E7EE98\">\/pid<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">cleanup<\/span><span style=\"color: #F6F6F4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">rm<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-rf<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE\">$LOCK_DIR<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">trap<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">cleanup<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">EXIT<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">INT<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">TERM<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE\">$PROJECT_DIR<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># If a previous renewal succeeded but Nginx reload failed,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># try to apply the new certificate first.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> &#91; <\/span><span style=\"color: #F286C4\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE\">$RENEWED_MARKER<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> &#93;; <\/span><span style=\"color: #F286C4\">then<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #E7EE98\">exec<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-T<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-t<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #E7EE98\">exec<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-T<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-s<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">reload<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">rm<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE\">$RENEWED_MARKER<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">fi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Check and renew certificates when necessary<\/span><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">run<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--rm<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">certbot<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">renew<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">--quiet<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">--deploy-hook<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">touch \/var\/www\/certbot\/.renewed<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7B7F8B\"># Reload Nginx only when a certificate was actually renewed<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> &#91; <\/span><span style=\"color: #F286C4\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE\">$RENEWED_MARKER<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> &#93;; <\/span><span style=\"color: #F286C4\">then<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #E7EE98\">exec<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-T<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-t<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #E7EE98\">exec<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-T<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-s<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">reload<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">rm<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE\">$RENEWED_MARKER<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">fi<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Certbot&#8217;s <code>--deploy-hook<\/code> \u0641\u0642\u0637 \u067e\u0633 \u0627\u0632 Renewal \u0645\u0648\u0641\u0642 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0645\u0648\u0642\u062a <code>.renewed<\/code> \u0641\u0642\u0637 \u0632\u0645\u0627\u0646\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 Certificate \u0648\u0627\u0642\u0639\u0627\u064b \u062a\u0645\u062f\u06cc\u062f \u0634\u062f\u0647 \u0628\u0627\u0634\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0633\u062a\u0631\u0633\u06cc \u0627\u062c\u0631\u0627\u06cc Script \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo chmod 700 \/opt\/wordpress\/renew-nginx-ssl.sh<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">chmod<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">700<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/renew-nginx-ssl.sh<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0633\u062a Renewal<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0642\u0628\u0644 \u0627\u0632 \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u0632\u0645\u0627\u0646\u200c\u0628\u0646\u062f\u06cc\u060c \u0641\u0631\u0622\u06cc\u0646\u062f Renewal \u0631\u0627 \u062f\u0631 \u062d\u0627\u0644\u062a \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\n\nsudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  run --rm certbot \\\n  renew \\\n  --dry-run<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">run<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--rm<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">certbot<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">renew<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">--dry-run<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u06af\u0632\u06cc\u0646\u0647 <code>--dry-run<\/code> \u0641\u0631\u0622\u06cc\u0646\u062f Renewal \u0631\u0627 \u0628\u062f\u0648\u0646 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0631\u062f\u0646 Certificate \u0648\u0627\u0642\u0639\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"799\" height=\"460\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/15-test-ssl-renew-1.webp\" alt=\"\" class=\"wp-image-22882\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/15-test-ssl-renew-1.webp 799w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/15-test-ssl-renew-1-300x173.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/15-test-ssl-renew-1-768x442.webp 768w\" sizes=\"(max-width: 799px) 100vw, 799px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u0632\u0645\u0627\u0646\u200c\u0628\u0646\u062f\u06cc Renewal<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f Script \u0631\u0627 \u0628\u0627 Cron \u0632\u0645\u0627\u0646\u200c\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc Renewal <strong>\u0647\u0631 \u062c\u0645\u0639\u0647 \u0633\u0627\u0639\u062a \u06f2\u06f3:\u06f0\u06f0<\/strong>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo crontab -e<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">crontab<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-e<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u067e\u0633 \u0627\u06cc\u0646 \u062e\u0637 \u0631\u0627 \u062f\u0631 \u0627\u0646\u062a\u0647\u0627\u06cc \u0641\u0627\u06cc\u0644 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>0 23 * * 5 \/opt\/wordpress\/renew-nginx-ssl.sh >> \/var\/log\/wordpress-nginx-certbot.log 2>&amp;1<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">0<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">23<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE; font-style: italic\">*<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE; font-style: italic\">*<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">5<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/renew-nginx-ssl.sh<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&gt;&gt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/var\/log\/wordpress-nginx-certbot.log<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">2&gt;&amp;1<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc Cron \u0628\u0631 \u0627\u0633\u0627\u0633 Timezone \u062a\u0646\u0638\u06cc\u0645\u200c\u0634\u062f\u0647 \u0631\u0648\u06cc \u062e\u0648\u062f \u0633\u0631\u0648\u0631 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a \u0647\u0631 \u062c\u0645\u0639\u0647 \u0641\u0631\u0622\u06cc\u0646\u062f Renewal \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0627\u0645\u0627 Certbot \u0641\u0642\u0637 \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 Certificate \u0631\u0627 \u062a\u0645\u062f\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u062c\u0631\u0627\u06cc \u062f\u0648\u0631\u0647\u200c\u0627\u06cc <code>certbot renew<\/code> \u0628\u0631\u0627\u06cc \u0647\u0645\u06cc\u0646 \u0646\u0648\u0639 \u0632\u0645\u0627\u0646\u200c\u0628\u0646\u062f\u06cc \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u0632\u0645\u0627\u0646\u200c\u0628\u0646\u062f\u06cc \u0628\u0647 \u0637\u0648\u0644 \u0639\u0645\u0631 \u062b\u0627\u0628\u062a Certificate \u0648\u0627\u0628\u0633\u062a\u0647 \u0646\u06cc\u0633\u062a\u061b \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647 \u0628\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0637\u0648\u0644 \u0639\u0645\u0631 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 Certificate\u0647\u0627\u06cc Let&#8217;s Encrypt \u0646\u06cc\u0632 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631 Cron \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f. <a href=\"https:\/\/letsencrypt.org\/2025\/12\/02\/from-90-to-45\" data-type=\"link\" data-id=\"https:\/\/letsencrypt.org\/2025\/12\/02\/from-90-to-45\" target=\"_blank\" rel=\"noopener\">Let&#8217;s Encrypt \u0627\u0639\u0644\u0627\u0645 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 Certificate\u0647\u0627\u06cc \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0627\u0632 \u06f9\u06f0 \u0631\u0648\u0632 \u0628\u0647 \u06f6\u06f4 \u0631\u0648\u0632 \u0648 \u0633\u067e\u0633 \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u0628\u0647 \u06f4\u06f5 \u0631\u0648\u0632 \u06a9\u0627\u0647\u0634 \u062e\u0648\u0627\u0647\u0646\u062f \u06cc\u0627\u0641\u062a.<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u06cc Renewal<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Cron \u0627\u062c\u0628\u0627\u0631\u06cc \u0646\u06cc\u0633\u062a. \u0627\u06af\u0631 \u0646\u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f Cron \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f Script \u0631\u0627 \u0647\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0647 \u0644\u0627\u0632\u0645 \u0628\u0648\u062f \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062f\u0633\u062a\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo \/opt\/wordpress\/renew-nginx-ssl.sh<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/renew-nginx-ssl.sh<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u06af\u0631 Cron \u0641\u0639\u0627\u0644 \u0628\u0627\u0634\u062f\u060c \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u06cc Script \u0647\u0645\u0686\u0646\u0627\u0646 \u0627\u0645\u06a9\u0627\u0646\u200c\u067e\u0630\u06cc\u0631 \u0627\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Script \u062f\u0627\u0631\u0627\u06cc Lock \u0627\u0633\u062a\u061b \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u06af\u0631 \u062f\u0631 \u0647\u0645\u0627\u0646 \u0644\u062d\u0638\u0647 \u0641\u0631\u0622\u06cc\u0646\u062f Renewal \u062f\u06cc\u06af\u0631\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0628\u0627\u0634\u062f\u060c \u0627\u062c\u0631\u0627\u06cc \u062f\u0648\u0645 \u0645\u062a\u0648\u0642\u0641 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u0647\u0645\u200c\u0632\u0645\u0627\u0646 \u062f\u0648 \u0641\u0631\u0622\u06cc\u0646\u062f Certbot \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u062e\u0648\u0627\u0647\u062f \u0634\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0622\u06cc\u0627 Renewal \u0628\u0627\u0639\u062b \u0642\u0637\u0639 \u0634\u062f\u0646 Nginx \u0645\u06cc\u200c\u0634\u0648\u062f\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u062e\u06cc\u0631. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0639\u0645\u0627\u0631\u06cc Certbot \u0627\u0632 \u0631\u0648\u0634 <code>webroot<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0628\u0631\u0627\u06cc Renewal \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 Stop \u06a9\u0631\u062f\u0646 Nginx \u0646\u062f\u0627\u0631\u062f. Certbot \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f\u0646\u06cc\u0627\u0632 \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u0631\u0627 \u062f\u0631 Webroot \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f \u0648 Nginx \u0647\u0645\u0686\u0646\u0627\u0646 \u0628\u0647 \u0627\u0631\u0627\u0626\u0647 \u0622\u0646\u200c\u0647\u0627 \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 Renewal \u0645\u0648\u0641\u0642\u060c Script \u0627\u0628\u062a\u062f\u0627 Configuration \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Nginx \u0631\u0627 \u0628\u0627 <code>nginx -t<\/code> \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0633\u067e\u0633 Nginx \u0631\u0627 Reload \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nginx \u0647\u0646\u06af\u0627\u0645 Reload \u0627\u0628\u062a\u062f\u0627 Configuration \u062c\u062f\u06cc\u062f \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06af\u0631 Configuration \u0645\u0639\u062a\u0628\u0631 \u0628\u0627\u0634\u062f\u060c Worker\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u0647 \u0648 Worker\u0647\u0627\u06cc \u0642\u0628\u0644\u06cc \u0631\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a Graceful \u0645\u062a\u0648\u0642\u0641 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06af\u0631 Configuration \u062c\u062f\u06cc\u062f \u0645\u0634\u06a9\u0644 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u060c Nginx \u0622\u0646 \u0631\u0627 \u0627\u0639\u0645\u0627\u0644 \u0646\u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0628\u0627 Configuration \u0642\u0628\u0644\u06cc \u0628\u0647 \u06a9\u0627\u0631 \u062e\u0648\u062f \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u0628\u0647 \u0627\u06cc\u0646 \u0634\u06a9\u0644 \u0627\u0633\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Cron \/ \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u06cc\n        \u2193\nCertbot renew\n        \u2193\nCertificate \u0646\u06cc\u0627\u0632 \u0628\u0647 Renewal \u062f\u0627\u0631\u062f\u061f\n        \u2502\n        \u251c\u2500\u2500 \u062e\u06cc\u0631 \u2192 \u067e\u0627\u06cc\u0627\u0646\n        \u2502\n        \u2514\u2500\u2500 \u0628\u0644\u0647\n              \u2193\n        Certificate \u062c\u062f\u06cc\u062f\n              \u2193\n          nginx -t\n              \u2193\n        Configuration \u0635\u062d\u06cc\u062d\u061f\n              \u2502\n              \u251c\u2500\u2500 \u062e\u06cc\u0631 \u2192 Nginx \u062f\u0633\u062a\u200c\u0646\u062e\u0648\u0631\u062f\u0647 \u0628\u0627\u0642\u06cc \u0645\u06cc\u200c\u0645\u0627\u0646\u062f\n              \u2502\n              \u2514\u2500\u2500 \u0628\u0644\u0647\n                    \u2193\n                nginx reload\n                    \u2193\n             Certificate \u062c\u062f\u06cc\u062f \u0641\u0639\u0627\u0644<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u06af\u0631 Certificate \u0645\u0646\u0642\u0636\u06cc \u0634\u062f\u0647 \u0628\u0627\u0634\u062f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 Certificate \u0642\u0628\u0644 \u0627\u0632 Renewal \u0645\u0646\u0642\u0636\u06cc \u0634\u0648\u062f\u060c Nginx \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0647\u0645\u0686\u0646\u0627\u0646 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f\u060c \u0627\u0645\u0627 Browser\u0647\u0627 Certificate \u0631\u0627 \u0645\u0646\u0642\u0636\u06cc\u200c\u0634\u062f\u0647 \u062a\u0634\u062e\u06cc\u0635 \u062f\u0627\u062f\u0647 \u0648 \u062f\u0631\u0628\u0627\u0631\u0647 \u0627\u0645\u0646\u06cc\u062a \u0627\u062a\u0635\u0627\u0644 \u0647\u0634\u062f\u0627\u0631 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 Domain \u0647\u0645\u0686\u0646\u0627\u0646 \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u0628\u0627\u0634\u062f \u0648 Port <code>80<\/code> \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0628\u0627\u0634\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f Script Renewal \u0631\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062f\u0633\u062a\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo \/opt\/wordpress\/renew-nginx-ssl.sh<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/renew-nginx-ssl.sh<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 Renewal \u0645\u0648\u0641\u0642\u060c Nginx Reload \u0634\u062f\u0647 \u0648 Certificate \u062c\u062f\u06cc\u062f \u0641\u0639\u0627\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0647 \u0647\u0645\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0628\u0647\u062a\u0631 \u0627\u0633\u062a Renewal \u062e\u0648\u062f\u06a9\u0627\u0631 \u0631\u0627 \u0641\u0639\u0627\u0644 \u0646\u06af\u0647 \u062f\u0627\u0631\u06cc\u062f \u0648 \u0645\u0646\u062a\u0638\u0631 \u0646\u0632\u062f\u06cc\u06a9 \u0634\u062f\u0646 \u0628\u0647 \u062a\u0627\u0631\u06cc\u062e \u0627\u0646\u0642\u0636\u0627 \u0646\u0645\u0627\u0646\u06cc\u062f.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 SSL \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u062f\u0631 Nginx<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 Certificate \u0631\u0627 \u0627\u0632 \u0642\u0628\u0644 \u062a\u0647\u06cc\u0647 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f\u060c \u06cc\u0627 \u062d\u062a\u06cc \u0628\u0647 \u0647\u0631 \u062f\u0644\u06cc\u0644\u06cc \u0646\u062e\u0648\u0627\u0647\u06cc\u062f \u06cc\u0627 \u0646\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 Certbot \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0686\u0646\u062f \u06af\u0627\u0645 \u0627\u06cc\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Certificate \u0648 Private Key \u0631\u0627 \u062f\u0631 \u0645\u0633\u06cc\u0631 \u0632\u06cc\u0631 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/opt\/wordpress\/certs\/\n\u251c\u2500\u2500 fullchain.pem\n\u2514\u2500\u2500 privkey.pem<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0627\u06cc\u0644 <code>fullchain.pem<\/code> \u0628\u0627\u06cc\u062f \u0634\u0627\u0645\u0644 Certificate \u0627\u0635\u0644\u06cc \u0648 Certificate\u0647\u0627\u06cc Intermediate \u0628\u0647\u200c\u062a\u0631\u062a\u06cc\u0628 \u0635\u062d\u06cc\u062d \u0628\u0627\u0634\u062f. Private Key \u0646\u06cc\u0632 \u0641\u0642\u0637 \u062f\u0631 <code>privkey.pem<\/code> \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u067e\u0633 Configuration Nginx \u0631\u0627 \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo nano \/opt\/wordpress\/nginx\/default.conf.template<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nano<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/nginx\/default.conf.template<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>server {\n    listen 80;\n    server_name ${DOMAIN};\n\n    location \/ {\n        return 301 https:\/\/$host$request_uri;\n    }\n}\n\nserver {\n    listen 443 ssl;\n    server_name ${DOMAIN};\n\n    ssl_certificate \/etc\/nginx\/certs\/fullchain.pem;\n    ssl_certificate_key \/etc\/nginx\/certs\/privkey.pem;\n\n    location \/ {\n        proxy_pass http:\/\/wordpress:80;\n\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">server<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">listen<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">80<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">server_name<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DOMAIN<\/span><span style=\"color: #F6F6F4\">};<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">location<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #F286C4\">return<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">301<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">https:\/\/<\/span><span style=\"color: #BF9EEE\">$host$request_uri<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">server<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">listen<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">443<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">ssl<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">server_name<\/span><span style=\"color: #F6F6F4\"> ${<\/span><span style=\"color: #BF9EEE\">DOMAIN<\/span><span style=\"color: #F6F6F4\">};<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">ssl_certificate<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/etc\/nginx\/certs\/fullchain.pem<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">ssl_certificate_key<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/etc\/nginx\/certs\/privkey.pem<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    <\/span><span style=\"color: #62E884\">location<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_pass<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">http:\/\/wordpress:80<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_set_header<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">Host<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">$host<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_set_header<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">X-Real-IP<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">$remote_addr<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_set_header<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">X-Forwarded-For<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">$proxy_add_x_forwarded_for<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">        <\/span><span style=\"color: #62E884\">proxy_set_header<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">X-Forwarded-Proto<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">$scheme<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u0641\u0627\u0648\u062a \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u062f\u0631 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0645\u0633\u06cc\u0631 ssl_certificate \u0648 ssl_certificate_key \u0628\u0647 \u062c\u0627\u06cc \u0627\u0634\u0627\u0631\u0647 \u0628\u0647 \u067e\u0648\u0634\u0647 Let&#8217;s Encrypt \u0628\u0647 \u067e\u0648\u0634\u0647 \u06af\u0648\u0627\u0647\u06cc \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0634\u0645\u0627 \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Configuration \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\n\nsudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  run --rm nginx nginx -t<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">run<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--rm<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-t<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0635\u0648\u0631\u062a \u0645\u0648\u0641\u0642\u06cc\u062a:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  up -d --force-recreate nginx<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">up<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-d<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--force-recreate<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a Certbot \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0642\u0631\u0627\u0631 \u0646\u0645\u06cc\u200c\u06af\u06cc\u0631\u062f \u0648 \u062a\u0645\u062f\u06cc\u062f Certificate \u0628\u0631 \u0639\u0647\u062f\u0647 \u0635\u0627\u062d\u0628 Certificate \u0627\u0633\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0631\u062f\u0646 Certificate \u062c\u062f\u06cc\u062f\u060c Configuration \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0631\u062f\u0647 \u0648 Nginx \u0631\u0627 Reload \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  exec nginx nginx -t\n\nsudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  exec nginx nginx -s reload<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">exec<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-t<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">exec<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-s<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">reload<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a Nginx<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u0648\u0636\u0639\u06cc\u062a Container\u0647\u0627:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\n\nsudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  ps<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">ps<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 Log\u0647\u0627\u06cc Nginx:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  logs --tail=100 nginx<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">logs<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--tail=100<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc Configuration \u062f\u0627\u062e\u0644 Container:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  exec nginx nginx -t<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">exec<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-t<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 Configuration \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u062f\u060c \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 Nginx Reload \u06cc\u0627 Restart \u0646\u0634\u0648\u062f\u060c \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0627\u0639\u0645\u0627\u0644 \u0646\u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u062f\u0633\u062a\u0648\u0631 <code>nginx -s reload<\/code> \u0628\u0631\u0627\u06cc Reload \u06a9\u0631\u062f\u0646 Configuration \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u062a\u06a9\u0645\u06cc\u0644 \u0646\u0635\u0628 WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u0627\u0646\u062a\u062e\u0627\u0628 \u0631\u0648\u0634 \u062f\u0633\u062a\u0631\u0633\u06cc\u060c \u0622\u062f\u0631\u0633 \u0633\u0627\u06cc\u062a \u0631\u0627 \u062f\u0631 Browser \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Direct<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;SERVER-IP:8080<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Caddy \u06cc\u0627 Nginx<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;example.com<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0635\u0641\u062d\u0647 \u0646\u0635\u0628 Word Press \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0639\u0646\u0648\u0627\u0646 \u0633\u0627\u06cc\u062a<\/li>\n\n\n\n<li>\u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc Administrator<\/li>\n\n\n\n<li>Password<\/li>\n\n\n\n<li>Email<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Word Press \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0632 \u0627\u0637\u0644\u0627\u0639\u0627\u062a Database \u0645\u0648\u062c\u0648\u062f \u062f\u0631 <code>.env<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1040\" style=\"aspect-ratio: 1920 \/ 1040;\" width=\"1920\" controls src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/wordpress-first-init.mp4\"><\/video><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u067e\u0627\u06cc\u0627\u0646 \u0646\u0635\u0628\u060c \u067e\u0646\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0627\u0632 \u0645\u0633\u06cc\u0631 \u0632\u06cc\u0631 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;example.com\/wp-admin<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"555\" src=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/16-wp-admin-wordpress-1-1024x555.webp\" alt=\"\" class=\"wp-image-22883\" title=\"\" srcset=\"https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/16-wp-admin-wordpress-1-1024x555.webp 1024w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/16-wp-admin-wordpress-1-300x163.webp 300w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/16-wp-admin-wordpress-1-768x416.webp 768w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/16-wp-admin-wordpress-1-1536x832.webp 1536w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/16-wp-admin-wordpress-1-370x200.webp 370w, https:\/\/maralhost.com\/kb\/wp-content\/uploads\/2026\/11\/16-wp-admin-wordpress-1.webp 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0645\u062f\u06cc\u0631\u06cc\u062a Container\u0647\u0627<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u0645\u0627\u0645 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0645\u062f\u06cc\u0631\u06cc\u062a \u0631\u0627 \u0627\u0632 \u0645\u0633\u06cc\u0631 \u067e\u0631\u0648\u0698\u0647 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u0648\u0636\u0639\u06cc\u062a Core:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose ps<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">ps<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc Caddy:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.caddy.yml \\\n  ps<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.caddy.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">ps<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc Nginx:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  ps<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">ps<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 Log\u0647\u0627\u06cc Word Press:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose logs --tail=100 wordpress<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">logs<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--tail=100<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">wordpress<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc Database:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose logs --tail=100 db<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">logs<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">--tail=100<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">db<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0648 \u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 Log \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u0632\u0646\u062f\u0647:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose logs -f wordpress<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">logs<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">wordpress<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 Configuration \u0646\u0647\u0627\u06cc\u06cc Compose:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.caddy.yml \\\n  config<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.caddy.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">config<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a Image\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\n\nsudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.caddy.yml \\\n  pull<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.caddy.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">pull<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u067e\u0633:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.caddy.yml \\\n  up -d<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.caddy.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">up<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-d<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Nginx\u060c \u0641\u0627\u06cc\u0644 Compose \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Nginx \u0631\u0627 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc Docker Image \u0628\u0627 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc Word Press Core \u06cc\u06a9\u0633\u0627\u0646 \u0646\u06cc\u0633\u062a. Word Press Core\u060c Plugin\u0647\u0627 \u0648 Theme\u0647\u0627 \u0631\u0627 \u0646\u06cc\u0632 \u0627\u0632 \u0628\u062e\u0634 <strong>Dashboard \u2192 Updates<\/strong> \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 <strong><a href=\"https:\/\/maralhost.com\/kb\/articles\/wordpress\/update-wordpress-core\/\" data-type=\"link\" data-id=\"https:\/\/maralhost.com\/kb\/articles\/wordpress\/update-wordpress-core\/\">\u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0647\u0633\u062a\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u062f\u0631 \u062f\u0627\u0646\u0634\u0646\u0627\u0645\u0647 \u0645\u0627\u0631\u0627\u0644<\/a><\/strong> \u0648 <strong><a href=\"https:\/\/maralhost.com\/kb\/articles\/wordpress\/install-update-plugins\/\" data-type=\"link\" data-id=\"https:\/\/maralhost.com\/kb\/articles\/wordpress\/install-update-plugins\/\">\u0645\u0642\u0627\u0644\u0647 \u0628\u0647\u200c\u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0627\u0641\u0632\u0648\u0646\u0647\u200c\u0647\u0627 \u062f\u0631 \u062f\u0627\u0646\u0634\u0646\u0627\u0645\u0647 \u0645\u0627\u0631\u0627\u0644<\/a><\/strong> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0642\u0628\u0644 \u0627\u0632 Update\u0647\u0627\u06cc \u0645\u0647\u0645\u060c Backup \u062a\u0647\u06cc\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Backup<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc Backup \u06a9\u0627\u0645\u0644 Word Press \u0628\u0627\u06cc\u062f \u062f\u0648 \u0628\u062e\u0634 \u0627\u0635\u0644\u06cc \u0631\u0627 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc Word Press<\/li>\n\n\n\n<li>Database<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Volume\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc \u0639\u0628\u0627\u0631\u062a\u200c\u0627\u0646\u062f \u0627\u0632:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wordpress_data\nmariadb_data<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u062a\u0647\u06cc\u0647 Backup \u0627\u0632 Database \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0627\u0632 <code>mariadb-dump<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\n\nsudo docker compose exec -T db \\\n  mariadb-dump \\\n  -u root \\\n  -p \\\n  \"$DB_NAME\" > \/opt\/wordpress\/wordpress-backup.sql<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">exec<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-T<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">db<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">mariadb-dump<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-u<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">root<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-p<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #BF9EEE\">$DB_NAME<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&gt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress\/wordpress-backup.sql<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u060c Password \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 Database \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0627\u06cc\u062f Backup \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc Word Press \u0648 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc Configuration \u0645\u0627\u0646\u0646\u062f <code>.env<\/code> \u0631\u0627 \u062f\u0631 \u0645\u062d\u0644 \u0627\u0645\u0646\u06cc \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Backup \u0631\u0627 \u0641\u0642\u0637 \u0631\u0648\u06cc \u0647\u0645\u0627\u0646 \u0633\u0631\u0648\u0631\u06cc \u06a9\u0647 Word Press \u0631\u0648\u06cc \u0622\u0646 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f \u0646\u06af\u0647 \u0646\u062f\u0627\u0631\u06cc\u062f.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u062e\u0637\u0627\u0647\u0627\u06cc \u0631\u0627\u06cc\u062c<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">WordPress \u0627\u062c\u0631\u0627 \u0646\u0645\u06cc\u200c\u0634\u0648\u062f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0648\u0636\u0639\u06cc\u062a \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 (\u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627) \u0648 log \u0648\u0631\u062f\u067e\u0631\u0633 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\nsudo docker compose ps\nsudo docker compose logs wordpress<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">ps<\/span><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">logs<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">wordpress<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u062a\u0635\u0627\u0644 Database \u0628\u0631\u0642\u0631\u0627\u0631 \u0646\u06cc\u0633\u062a<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">log \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\nsudo docker compose logs db<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">logs<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">db<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u0642\u062f\u0627\u0631 Database Host \u062f\u0631 Word Press \u0628\u0627\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db:3306<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0627\u0634\u062f\u060c \u0646\u0647 <code>localhost<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u062e\u0637\u0627\u06cc 502 \u062f\u0631 Reverse Proxy<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0628\u062a\u062f\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f Word Press \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0628\u0627\u0634\u062f:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd \/opt\/wordpress\nsudo docker compose ps<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #97E1F1\">cd<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">\/opt\/wordpress<\/span><\/span>\n<span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">ps<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0633\u067e\u0633 \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f Reverse Proxy \u0628\u0647 \u0627\u06cc\u0646 \u0622\u062f\u0631\u0633 \u0645\u062a\u0635\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wordpress:80<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 Nginx \u0646\u06cc\u0632 Configuration \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:(\u06cc\u0627 \u0633\u0631\u0648\u06cc\u0633 Caddy \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f)<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo docker compose \\\n  -f docker-compose.yml \\\n  -f docker-compose.nginx.yml \\\n  exec nginx nginx -t<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">sudo<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">compose<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #BF9EEE\">-f<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">docker-compose.nginx.yml<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #E7EE98\">exec<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #E7EE98\">nginx<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">-t<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Certificate \u062f\u0631\u06cc\u0627\u0641\u062a \u0646\u0645\u06cc\u200c\u0634\u0648\u062f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Domain \u0628\u0647 IP \u0635\u062d\u06cc\u062d \u0633\u0631\u0648\u0631 \u0627\u0634\u0627\u0631\u0647 \u06a9\u0646\u062f.<\/li>\n\n\n\n<li>Port <code>80<\/code> \u0627\u0632 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a \u0642\u0627\u0628\u0644 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0627\u0634\u062f.<\/li>\n\n\n\n<li>Port <code>443<\/code> \u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 HTTPS \u0642\u0627\u0628\u0644 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0627\u0634\u062f.<\/li>\n\n\n\n<li>\u0633\u0631\u0648\u06cc\u0633 \u062f\u06cc\u06af\u0631\u06cc Port\u0647\u0627\u06cc <code>80<\/code> \u0648 <code>443<\/code> \u0631\u0627 \u0627\u0634\u063a\u0627\u0644 \u0646\u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u062f.<\/li>\n\n\n\n<li>Configuration \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 ACME Challenge \u0635\u062d\u06cc\u062d \u0628\u0627\u0634\u062f.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0646\u06a9\u0627\u062a \u0627\u0645\u0646\u06cc\u062a\u06cc<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MariaDB \u0631\u0627 \u0631\u0648\u06cc Host \u0645\u0646\u062a\u0634\u0631 \u0646\u06a9\u0646\u06cc\u062f \u0645\u06af\u0631 \u0627\u06cc\u0646\u06a9\u0647 \u0648\u0627\u0642\u0639\u0627\u064b \u0628\u0647 Remote Access \u0646\u06cc\u0627\u0632 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/li>\n\n\n\n<li>\u062f\u0631 \u062d\u0627\u0644\u062a Reverse Proxy\u060c \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0627\u0646\u062a\u0634\u0627\u0631 \u0645\u0633\u062a\u0642\u06cc\u0645 port \u0648\u0631\u062f\u067e\u0631\u0633 \u0646\u06cc\u0633\u062a.<\/li>\n\n\n\n<li>\u0641\u0627\u06cc\u0644 <code>.env<\/code> \u0631\u0627 \u0639\u0645\u0648\u0645\u06cc \u0646\u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>Password\u0647\u0627\u06cc Database \u0631\u0627 \u0642\u0648\u06cc \u0648 \u062c\u062f\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>Certificate \u0648 Private Key \u0631\u0627 \u0628\u0627 Permission \u0645\u0646\u0627\u0633\u0628 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>Backup \u0631\u0627 \u062f\u0631 \u0645\u062d\u0644 \u062f\u06cc\u06af\u0631\u06cc \u0646\u06cc\u0632 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>\u0642\u0628\u0644 \u0627\u0632 Update\u0647\u0627\u06cc \u0645\u0647\u0645 Backup \u062a\u0647\u06cc\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>\u0627\u06af\u0631 Direct Connection \u0641\u0639\u0627\u0644 \u0627\u0633\u062a\u060c \u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f Reverse Proxy \u0648 \u06a9\u0646\u062a\u0631\u0644\u200c\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0622\u0646 \u0631\u0627 \u062f\u0648\u0631 \u0628\u0632\u0646\u0646\u062f.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u062c\u0645\u0639\u200c\u0628\u0646\u062f\u06cc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0633\u0627\u062e\u062a\u0627\u0631\u060c WordPress \u0648 MariaDB \u0628\u062e\u0634 \u062b\u0627\u0628\u062a \u0633\u06cc\u0633\u062a\u0645 \u0647\u0633\u062a\u0646\u062f \u0648 \u0631\u0648\u0634 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0633\u0627\u06cc\u062a \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u06cc\u200c\u0634\u0648\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>                     Core\n                      \u2502\n          \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n          \u2502           \u2502           \u2502\n        Direct      Caddy       Nginx\n          \u2502           \u2502           \u2502\n        :8080       :80\/443     :80\/443\n                      \u2502           \u2502\n                  Auto SSL     Certbot\n                      \u2502           \u2502\n                      \u2514\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2518\n                            \u2502                              \n                        Word Press\n                            \u2502\n                         MariaDB<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Caddy \u0645\u0633\u06cc\u0631 \u0633\u0627\u062f\u0647\u200c\u062a\u0631\u06cc \u0628\u0631\u0627\u06cc HTTPS \u062e\u0648\u062f\u06a9\u0627\u0631 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u062f\u0631 Nginx \u0646\u06cc\u0632 \u0627\u0645\u06a9\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Certbot \u0628\u0631\u0627\u06cc SSL \u062e\u0648\u062f\u06a9\u0627\u0631 \u06cc\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Certificate \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u0645\u0627\u0645 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u062f\u0631:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#282a36\"><span style=\"background:#ebebe6;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#282a36\">Bash<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#282A36;display:none;background-color:#f6f6f4\" aria-label=\"Copy\" data-copied-text=\"Copied!\" data-has-text-button=\"textSimple\" data-inside-header-type=\"pillString\" aria-live=\"polite\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>\/opt\/wordpress<\/textarea><\/pre><span class=\"cbp-btn-text\">Copy<\/span><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #62E884\">\/opt\/wordpress<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u0646\u062f \u0648 \u062a\u063a\u06cc\u06cc\u0631 \u0631\u0648\u0634 \u062f\u0633\u062a\u0631\u0633\u06cc\u060c \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc Word Press \u0648 MariaDB \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0646\u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker \u06cc\u06a9\u06cc \u0627\u0632 \u0631\u0648\u0634\u200c\u0647\u0627\u06cc \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc WordPress \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0622\u0646 Word Press \u0648 Database \u062f\u0631 Container\u0647\u0627\u06cc \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0622\u0646\u200c\u0647\u0627 \u062f\u0631 Volume\u0647\u0627\u06cc \u062f\u0627\u0626\u0645\u06cc \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c Word Press \u0648 MariaDB \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0647\u0633\u062a\u0647 \u0627\u0635\u0644\u06cc \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u0631\u0648\u0634 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0633\u0627\u06cc\u062a \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0627\u0646\u062a\u062e\u0627\u0628 \u062e\u0648\u0627\u0647\u062f \u0634\u062f: \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc \u067e\u0631\u0648\u0698\u0647 \u0646\u06cc\u0632 [&hellip;]<\/p>\n","protected":false},"author":17,"featured_media":22751,"parent":22563,"menu_order":3,"comment_status":"open","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","_llm_markdown_disabled":false},"doc_tag":[],"doc_badge":[],"class_list":["post-22674","docs","type-docs","status-publish","has-post-thumbnail","hentry"],"acf":[],"author_avatar":"https:\/\/maralhost.com\/kb\/wp-content\/litespeed\/avatar\/07f927ddc7a7089c6ee50ce1ba04623d.jpg?ver=1794273106","author_name":"Ali Mahdie","_links":{"self":[{"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/docs\/22674","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/comments?post=22674"}],"version-history":[{"count":27,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/docs\/22674\/revisions"}],"predecessor-version":[{"id":22892,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/docs\/22674\/revisions\/22892"}],"up":[{"embeddable":true,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/docs\/22563"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/media\/22751"}],"wp:attachment":[{"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/media?parent=22674"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/doc_tag?post=22674"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/maralhost.com\/kb\/wp-json\/wp\/v2\/doc_badge?post=22674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}