{"id":14662,"date":"2024-01-31T12:51:51","date_gmt":"2024-01-31T09:21:51","guid":{"rendered":"https:\/\/www.itpiran.net\/blog\/?p=14662"},"modified":"2024-01-31T12:51:51","modified_gmt":"2024-01-31T09:21:51","slug":"how-to-install-wordpress-with-docker-composestep-7-renewing-certificates","status":"publish","type":"post","link":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/","title":{"rendered":"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0627 Docker"},"content":{"rendered":"<h2 id=\"%d9%85%d9%82%d8%af%d9%85%d9%87\">\u0645\u0642\u062f\u0645\u0647<\/h2>\n<p>\u0648\u0631\u062f\u067e\u0631\u0633 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u062d\u062a\u0648\u0627 (CMS) \u0631\u0627\u06cc\u06af\u0627\u0646 \u0648 \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631 \u0631\u0648\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 MySQL \u0628\u0627 \u067e\u0631\u062f\u0627\u0632\u0634 PHP \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0628\u0647 \u0644\u0637\u0641 \u0645\u0639\u0645\u0627\u0631\u06cc \u067e\u0644\u0627\u06af\u06cc\u0646 \u0648 \u0633\u06cc\u0633\u062a\u0645 \u0642\u0627\u0644\u0628 \u062a\u0648\u0633\u0639\u0647 \u067e\u0630\u06cc\u0631 \u0622\u0646\u060c \u0628\u06cc\u0634\u062a\u0631 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0622\u0646 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0631\u0627\u0628\u0637 \u0648\u0628 \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f. \u0628\u0647 \u0647\u0645\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0627\u0633\u062a \u06a9\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u06cc\u06a9 \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u062d\u0628\u0648\u0628 \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u0627\u0646\u0648\u0627\u0639 \u0645\u062e\u062a\u0644\u0641 \u0648\u0628 \u0633\u0627\u06cc\u062a \u0647\u0627\u060c \u0627\u0632 \u0648\u0628\u0644\u0627\u06af \u06af\u0631\u0641\u062a\u0647 \u062a\u0627 \u0635\u0641\u062d\u0627\u062a \u0645\u062d\u0635\u0648\u0644 \u0648 \u0633\u0627\u06cc\u062a \u0647\u0627\u06cc \u062a\u062c\u0627\u0631\u062a \u0627\u0644\u06a9\u062a\u0631\u0648\u0646\u06cc\u06a9 \u0627\u0633\u062a.<\/p>\n<p>\u0627\u062c\u0631\u0627\u06cc \u0648\u0631\u062f\u067e\u0631\u0633 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0634\u0627\u0645\u0644 \u0646\u0635\u0628 \u06cc\u06a9 LAMP (Linux\u060c Apache\u060c MySQL \u0648 PHP) \u06cc\u0627 LEMP (Linux\u060c Nginx\u060c MySQL \u0648 PHP) \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0632\u0645\u0627\u0646\u200c\u0628\u0631 \u0628\u0627\u0634\u062f. \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f Docker \u0648 Docker Compose\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0641\u0631\u0622\u06cc\u0646\u062f \u062a\u0646\u0638\u06cc\u0645 \u067e\u0634\u062a\u0647 \u062f\u0644\u062e\u0648\u0627\u0647 \u062e\u0648\u062f \u0648 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0631\u0627 \u0633\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0628\u0647 \u062c\u0627\u06cc \u0646\u0635\u0628 \u0627\u062c\u0632\u0627\u06cc \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0628\u0627 \u062f\u0633\u062a\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062a\u0635\u0627\u0648\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u0648\u0627\u0631\u062f\u06cc \u0645\u0627\u0646\u0646\u062f \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627\u060c \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0648 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637 \u0631\u0627 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u0633\u067e\u0633\u060c \u0627\u06cc\u0646 \u062a\u0635\u0627\u0648\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f\u060c \u0641\u0631\u0622\u06cc\u0646\u062f\u0647\u0627\u06cc \u062c\u062f\u0627 \u0634\u062f\u0647 \u0627\u06cc \u06a9\u0647 \u0631\u0648\u06cc \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0645\u0634\u062a\u0631\u06a9 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u0646\u062f. \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Compose\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0686\u0646\u062f\u06cc\u0646 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 &#8211; \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0648 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 &#8211; \u0631\u0627 \u0628\u0631\u0627\u06cc \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0647\u0645\u0627\u0647\u0646\u06af \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0686\u0646\u062f \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc \u0631\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u0633\u0627\u062e\u062a. \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc \u0634\u0645\u0627 \u0634\u0627\u0645\u0644 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 MySQL\u060c \u0648\u0628 \u0633\u0631\u0648\u0631 Nginx \u0648 \u062e\u0648\u062f \u0648\u0631\u062f\u067e\u0631\u0633 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc TLS\/SSL \u0628\u0627 Let\u2019s Encrypt \u0628\u0631\u0627\u06cc \u062f\u0627\u0645\u0646\u0647 \u0627\u06cc \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0627 \u0633\u0627\u06cc\u062a \u062e\u0648\u062f \u0645\u0631\u062a\u0628\u0637 \u0634\u0648\u062f\u060c \u0646\u0635\u0628 \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u0645\u0646 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f. \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u06cc\u06a9 cron job \u0628\u0631\u0627\u06cc \u062a\u0645\u062f\u06cc\u062f \u06af\u0648\u0627\u0647\u06cc\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u062f \u062a\u0627 \u062f\u0627\u0645\u0646\u0647 \u0634\u0645\u0627 \u0627\u0645\u0646 \u0628\u0645\u0627\u0646\u062f.<\/p>\n<h2 id=\"%d9%be%db%8c%d8%b4-%d9%86%db%8c%d8%a7%d8%b2%d9%87%d8%a7\">\u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627<\/h2>\n<ul>\n<li>\u0633\u0631\u0648\u0631\u06cc \u06a9\u0647 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f\u060c \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u06cc\u06a9 \u06a9\u0627\u0631\u0628\u0631 \u063a\u06cc\u0631 \u0631\u06cc\u0634\u0647 \u0628\u0627 \u0627\u0645\u062a\u06cc\u0627\u0632\u0627\u062a <code>sudo<\/code> \u0648 \u0641\u0627\u06cc\u0631\u0648\u0627\u0644 \u0641\u0639\u0627\u0644.<\/li>\n<li>Docker \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0646\u0635\u0628 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f.<\/li>\n<li>Docker Compose \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0646\u0635\u0628 \u0634\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/li>\n<li>\u06cc\u06a9 \u0646\u0627\u0645 \u062f\u0627\u0645\u0646\u0647 \u062b\u0628\u062a \u0634\u062f\u0647 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0627\u0632 \u062f\u0627\u0645\u0646\u0647 \u0634\u0645\u0627 \u062f\u0631 \u06a9\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f.<\/li>\n<li>\u0647\u0631 \u062f\u0648 \u0631\u06a9\u0648\u0631\u062f DNS \u0632\u06cc\u0631 \u0628\u0631\u0627\u06cc \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/li>\n<\/ul>\n<p>\u0631\u06a9\u0648\u0631\u062f\u06cc \u0628\u0627 your_domain \u06a9\u0647 \u0628\u0647 \u0622\u062f\u0631\u0633 IP \u0639\u0645\u0648\u0645\u06cc \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0627\u0634\u0627\u0631\u0647 \u062f\u0627\u0631\u062f.<\/p>\n<p>\u0631\u06a9\u0648\u0631\u062f\u06cc \u0628\u0627 www.your_domain \u06a9\u0647 \u0628\u0647 \u0622\u062f\u0631\u0633 IP \u0639\u0645\u0648\u0645\u06cc \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0627\u0634\u0627\u0631\u0647 \u062f\u0627\u0631\u062f.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-1-%d8%aa%d8%b9%d8%b1%db%8c%d9%81-%d9%be%db%8c%da%a9%d8%b1%d8%a8%d9%86%d8%af%db%8c-%d9%88%d8%a8-%d8%b3%d8%b1%d9%88%d8%b1\">\u0645\u0631\u062d\u0644\u0647 1 &#8211; \u062a\u0639\u0631\u06cc\u0641 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0648\u0628 \u0633\u0631\u0648\u0631<\/h2>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u0647\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc\u060c \u0627\u0648\u0644\u06cc\u0646 \u0642\u062f\u0645 \u0634\u0645\u0627 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0648\u0628 \u0633\u0631\u0648\u0631 Nginx \u062e\u0648\u062f \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f. \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u0645\u0627 \u0634\u0627\u0645\u0644 \u0628\u0631\u062e\u06cc \u0627\u0632 \u0628\u0644\u0648\u06a9\u200c\u0647\u0627\u06cc \u0645\u0648\u0642\u0639\u06cc\u062a \u0645\u06a9\u0627\u0646\u06cc \u062e\u0627\u0635 \u0648\u0631\u062f\u067e\u0631\u0633\u060c \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u06cc\u06a9 \u0628\u0644\u0648\u06a9 \u0645\u06a9\u0627\u0646 \u0628\u0631\u0627\u06cc \u0647\u062f\u0627\u06cc\u062a \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f Let\u2019s Encrypt \u0628\u0647 \u0645\u0634\u062a\u0631\u06cc Certbot \u0628\u0631\u0627\u06cc \u062a\u0645\u062f\u06cc\u062f \u062e\u0648\u062f\u06a9\u0627\u0631 \u06af\u0648\u0627\u0647\u06cc \u0627\u0633\u062a.<\/p>\n<p>\u0627\u0628\u062a\u062f\u0627 \u06cc\u06a9 \u0641\u0647\u0631\u0633\u062a \u067e\u0631\u0648\u0698\u0647 \u0628\u0631\u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0648\u0631\u062f\u067e\u0631\u0633 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644 \u0628\u0647 \u0622\u0646 \u0648\u0631\u062f\u067e\u0631\u0633 \u06af\u0641\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f. \u062f\u0631 \u0635\u0648\u0631\u062a \u062a\u0645\u0627\u06cc\u0644 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0646\u0627\u0645 \u0627\u06cc\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0631\u0627 \u0628\u0647 \u0634\u06a9\u0644 \u062f\u06cc\u06af\u0631\u06cc \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>mkdir wordpress<\/code><\/pre>\n<\/div>\n<p>\u0633\u067e\u0633 \u0628\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0628\u0631\u0648\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cd wordpress<\/code><\/pre>\n<\/div>\n<p>\u0628\u0639\u062f\u060c \u06cc\u06a9 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0628\u0631\u0627\u06cc \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>mkdir nginx-conf<\/code><\/pre>\n<\/div>\n<p>\u0641\u0627\u06cc\u0644 \u0631\u0627 \u0628\u0627 <code>nano<\/code> \u06cc\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u0645\u0648\u0631\u062f \u0639\u0644\u0627\u0642\u0647 \u062e\u0648\u062f \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>nano nginx-conf\/nginx.conf<\/code><\/pre>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644\u060c \u06cc\u06a9 \u0628\u0644\u0648\u06a9 \u0633\u0631\u0648\u0631 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644\u200c\u0647\u0627\u06cc\u06cc \u0628\u0631\u0627\u06cc \u0646\u0627\u0645 \u0633\u0631\u0648\u0631 \u0648 \u0631\u06cc\u0634\u0647 \u0633\u0646\u062f \u0648 \u0628\u0644\u0648\u06a9\u200c\u0647\u0627\u06cc \u0645\u06a9\u0627\u0646 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0645\u0634\u062a\u0631\u06cc Certbot \u0628\u0631\u0627\u06cc \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u060c \u067e\u0631\u062f\u0627\u0632\u0634 PHP \u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u062f\u0627\u0631\u0627\u06cc\u06cc \u062b\u0627\u0628\u062a \u0631\u0627 \u0647\u062f\u0627\u06cc\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0641\u0627\u06cc\u0644 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 your_domain \u0631\u0627 \u0628\u0627 \u0646\u0627\u0645 \u062f\u0627\u0645\u0646\u0647 \u062e\u0648\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code><\/pre>\n<pre class=\"\"><code>server {\r\n        listen 80;\r\n        listen [::]:80;\r\n\r\n        server_name <mark>your_domain<\/mark> www.<mark>your_domain<\/mark>;\r\n\r\n        index index.php index.html index.htm;\r\n\r\n        root \/var\/www\/html;\r\n\r\n        location ~ \/.well-known\/acme-challenge {\r\n                allow all;\r\n                root \/var\/www\/html;\r\n        }\r\n\r\n        location \/ {\r\n                try_files $uri $uri\/ \/index.php$is_args$args;\r\n        }\r\n\r\n        location ~ \\.php$ {\r\n                try_files $uri =404;\r\n                fastcgi_split_path_info ^(.+\\.php)(\/.+)$;\r\n                fastcgi_pass wordpress:9000;\r\n                fastcgi_index index.php;\r\n                include fastcgi_params;\r\n                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\r\n                fastcgi_param PATH_INFO $fastcgi_path_info;\r\n        }\r\n\r\n        location ~ \/\\.ht {\r\n                deny all;\r\n        }\r\n\r\n        location = \/favicon.ico {\r\n                log_not_found off; access_log off;\r\n        }\r\n        location = \/robots.txt {\r\n                log_not_found off; access_log off; allow all;\r\n        }\r\n        location ~* \\.(css|gif|ico|jpeg|jpg|js|png)$ {\r\n                expires max;\r\n                log_not_found off;\r\n        }\r\n}<\/code><\/pre>\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>\u00a0<\/code><\/pre>\n<\/div>\n<h5 id=\"%d8%a8%d9%84%d9%88%da%a9-%d8%b3%d8%b1%d9%88%d8%b1-%d9%85%d8%a7-%d8%b4%d8%a7%d9%85%d9%84-%d8%a7%d8%b7%d9%84%d8%a7%d8%b9%d8%a7%d8%aa-%d8%b2%db%8c%d8%b1-%d8%a7%d8%b3%d8%aa\">\u0628\u0644\u0648\u06a9 \u0633\u0631\u0648\u0631 \u0645\u0627 \u0634\u0627\u0645\u0644 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0632\u06cc\u0631 \u0627\u0633\u062a<\/h5>\n<p>\u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0647\u0627:<\/p>\n<ol>\n<li><code>listen<\/code>: \u0627\u06cc\u0646 \u0628\u0647 Nginx \u0645\u06cc\u200c\u06af\u0648\u06cc\u062f \u062f\u0631 \u067e\u0648\u0631\u062a 80 \u06af\u0648\u0634 \u062f\u0647\u062f\u060c \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0627\u0632 \u067e\u0644\u0627\u06af\u06cc\u0646 Webroot Certbot \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u06af\u0648\u0627\u0647\u06cc \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0647\u0646\u0648\u0632 \u067e\u0648\u0631\u062a 443 \u0631\u0627 \u0648\u0627\u0631\u062f \u0646\u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f \u2014 \u067e\u0633 \u0627\u0632 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u0648\u0641\u0642\u06cc\u062a\u200c\u0622\u0645\u06cc\u0632 \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u062e\u0648\u062f\u060c \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u06af\u0646\u062c\u0627\u0646\u062f\u0646 SSL \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f.<\/li>\n<li><code>server_name<\/code>: \u0646\u0627\u0645 \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0648 \u0628\u0644\u0648\u06a9 \u0633\u0631\u0648\u0631\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627 \u0628\u0647 \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f \u0631\u0627 \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u062f. \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u062e\u0637 your_domain \u0631\u0627 \u0628\u0627 \u0646\u0627\u0645 \u062f\u0627\u0645\u0646\u0647 \u062e\u0648\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f.<\/li>\n<li><code>index<\/code>: \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u067e\u0631\u062f\u0627\u0632\u0634 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627 \u0628\u0647 \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0646\u0645\u0627\u06cc\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u0646\u062f. \u0634\u0645\u0627 \u062a\u0631\u062a\u06cc\u0628 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0627\u0648\u0644\u0648\u06cc\u062a \u0631\u0627 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0627\u062f\u06cc\u062f \u0648 index.php \u0631\u0627 \u062c\u0644\u0648\u06cc index.html \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u062f\u06cc\u062f \u062a\u0627 Nginx \u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u0645\u06a9\u0627\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc\u06cc \u0628\u0647 \u0646\u0627\u0645 index.php \u0631\u0627 \u0627\u0648\u0644\u0648\u06cc\u062a \u0628\u0646\u062f\u06cc \u06a9\u0646\u062f.<\/li>\n<li><code>root<\/code>: \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0631\u06cc\u0634\u0647 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0646\u0627\u0645\u06af\u0630\u0627\u0631\u06cc \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u060c \/var\/www\/html\u060c \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0646\u0642\u0637\u0647 \u0646\u0635\u0628 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0633\u0627\u062e\u062a \u062a\u0648\u0633\u0637 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 Dockerfile \u0648\u0631\u062f\u067e\u0631\u0633 \u0634\u0645\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u0634\u0648\u062f. \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644\u200c\u0647\u0627\u06cc Dockerfile \u0647\u0645\u0686\u0646\u06cc\u0646 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0646\u0633\u062e\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u062f\u0631 \u0627\u06cc\u0646 \u062d\u062c\u0645 \u0646\u0635\u0628 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/li>\n<\/ol>\n<p>\u0628\u0644\u0648\u06a9 \u0647\u0627\u06cc \u0645\u06a9\u0627\u0646:<\/p>\n<ol>\n<li><code>location ~ \/.well-known\/acme-challenge<\/code>: \u0627\u06cc\u0646 \u0628\u0644\u0648\u06a9 \u0645\u06a9\u0627\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627 \u0631\u0627 \u0628\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc .well-known \u0631\u0633\u06cc\u062f\u06af\u06cc \u0645\u06cc \u06a9\u0646\u062f\u060c \u062c\u0627\u06cc\u06cc \u06a9\u0647 Certbot \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0645\u0648\u0642\u062a \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f \u0627\u06cc\u0646\u06a9\u0647 DNS \u062f\u0627\u0645\u0646\u0647 \u0634\u0645\u0627 \u0628\u0647 \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u062d\u0644 \u0645\u06cc \u0634\u0648\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u062f. \u0628\u0627 \u0648\u062c\u0648\u062f \u0627\u06cc\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u067e\u0644\u0627\u06af\u06cc\u0646 Webroot Certbot \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc\u0646\u0627\u0645\u0647 \u0628\u0631\u0627\u06cc \u062f\u0627\u0645\u0646\u0647 \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n<li><code>location<\/code> \/: \u062f\u0631 \u0627\u06cc\u0646 \u0628\u0644\u0648\u06a9 \u0645\u06a9\u0627\u0646\u060c \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 try_files \u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc URI \u0645\u0646\u0637\u0628\u0642 \u0647\u0633\u062a\u0646\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0628\u0647 \u062c\u0627\u06cc \u0628\u0627\u0632\u06af\u0631\u062f\u0627\u0646\u062f\u0646 \u0648\u0636\u0639\u06cc\u062a 404 Not Found \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u067e\u06cc\u0634 \u0641\u0631\u0636\u060c \u06a9\u0646\u062a\u0631\u0644 \u0631\u0627 \u0628\u0647 \u0641\u0627\u06cc\u0644 index.php \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0627 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0647\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0645\u0646\u062a\u0642\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n<li><code>location ~ \\.php<\/code>$: \u0627\u06cc\u0646 \u0628\u0644\u0648\u06a9 \u0645\u06a9\u0627\u0646 \u067e\u0631\u062f\u0627\u0632\u0634 PHP \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f \u0648 \u0627\u06cc\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627 \u0631\u0627 \u0628\u0647 \u0638\u0631\u0641 \u0648\u0631\u062f\u067e\u0631\u0633 \u0634\u0645\u0627 \u067e\u0631\u0627\u06a9\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f. \u0627\u0632 \u0622\u0646\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u062a\u0635\u0648\u06cc\u0631 \u062f\u0627\u06a9\u0631 \u0648\u0631\u062f\u067e\u0631\u0633 \u0634\u0645\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633 \u062a\u0635\u0648\u06cc\u0631 php:fpm \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f\u060c \u06af\u0632\u06cc\u0646\u0647 \u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0647 \u0645\u062e\u062a\u0635 \u067e\u0631\u0648\u062a\u06a9\u0644 FastCGI \u0647\u0633\u062a\u0646\u062f \u0631\u0627 \u0646\u06cc\u0632 \u062f\u0631 \u0627\u06cc\u0646 \u0628\u0644\u0648\u06a9 \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u06cc\u062f. Nginx \u0628\u0647 \u06cc\u06a9 \u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647 PHP \u0645\u0633\u062a\u0642\u0644 \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc PHP \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a\u060c \u0627\u06cc\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627 \u062a\u0648\u0633\u0637 \u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647 php-fpm \u06a9\u0647 \u0628\u0627 \u062a\u0635\u0648\u06cc\u0631 php:fpm \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0631\u0633\u06cc\u062f\u06af\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f. \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u0627\u06cc\u0646 \u0628\u0644\u0648\u06a9 \u0645\u06a9\u0627\u0646 \u0634\u0627\u0645\u0644 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644\u200c\u0647\u0627\u060c \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u0648 \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u0645\u062e\u0635\u0648\u0635 FastCGI \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u067e\u0631\u0648\u06a9\u0633\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u0631\u0627 \u06a9\u0647 \u062f\u0631 \u0638\u0631\u0641 \u0648\u0631\u062f\u067e\u0631\u0633 \u0634\u0645\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0641\u0647\u0631\u0633\u062a \u062a\u0631\u062c\u06cc\u062d\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc URI \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u062a\u062c\u0632\u06cc\u0647 \u0634\u062f\u0647 \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc URI \u0631\u0627 \u062a\u062c\u0632\u06cc\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n<li><code>location ~ \/\\.ht<\/code>: \u0627\u06cc\u0646 \u0628\u0644\u0648\u06a9 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc .htaccess \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f \u0632\u06cc\u0631\u0627 Nginx \u0628\u0647 \u0622\u0646\u0647\u0627 \u0633\u0631\u0648\u06cc\u0633 \u0646\u0645\u06cc\u200c\u062f\u0647\u062f. \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 deny_all \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc .htaccess \u0647\u0631\u06af\u0632 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0627\u0631\u0627\u0626\u0647 \u0646\u062e\u0648\u0627\u0647\u0646\u062f \u0634\u062f.<\/li>\n<li><code>location = \/favicon.ico, location = \/robots.txt<\/code>: \u0627\u06cc\u0646 \u0628\u0644\u0648\u06a9 \u0647\u0627 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u0646\u062f \u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \/favicon.ico \u0648 \/robots.txt \u062b\u0628\u062a \u0646\u0645\u06cc \u0634\u0648\u0646\u062f.<\/li>\n<li><code>location ~* \\.(css|gif|ico|jpeg|jpg|js|png)<\/code>$: \u0627\u06cc\u0646 \u0628\u0644\u0648\u06a9 \u062b\u0628\u062a \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u062f\u0627\u0631\u0627\u06cc\u06cc \u062b\u0627\u0628\u062a \u0631\u0627 \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0627\u06cc\u0646 \u062f\u0627\u0631\u0627\u06cc\u06cc\u200c\u0647\u0627 \u0628\u0633\u06cc\u0627\u0631 \u0642\u0627\u0628\u0644 \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u0647\u0633\u062a\u0646\u062f\u060c \u0632\u06cc\u0631\u0627 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0633\u0631\u0648\u06cc\u0633 \u062f\u0647\u06cc \u0622\u0646\u0647\u0627 \u06af\u0631\u0627\u0646 \u0627\u0633\u062a.<\/li>\n<\/ol>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u062a\u0645\u0627\u0645 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0628\u0646\u062f\u06cc\u062f. \u0627\u06af\u0631 \u0627\u0632 \u0646\u0627\u0646\u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0627 \u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 CTRL+X\u060c Y \u0648 \u0633\u067e\u0633 ENTER \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.\u0628\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Nginx \u062e\u0648\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0633\u0645\u062a \u0627\u06cc\u062c\u0627\u062f \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u0628\u0631\u0648\u06cc\u062f \u062a\u0627 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627 \u0628\u0647 \u0638\u0631\u0648\u0641 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u062e\u0648\u062f \u0645\u0646\u062a\u0642\u0644 \u0634\u0648\u0646\u062f.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-2-%d8%aa%d8%b9%d8%b1%db%8c%d9%81-%d9%85%d8%aa%d8%ba%db%8c%d8%b1%d9%87%d8%a7%db%8c-%d9%85%d8%ad%db%8c%d8%b7%db%8c\">\u0645\u0631\u062d\u0644\u0647 2 &#8211; \u062a\u0639\u0631\u06cc\u0641 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc<\/h2>\n<p>\u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0648 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u0634\u0645\u0627 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u062e\u0627\u0635\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627 \u062f\u0627\u0631\u0646\u062f \u062a\u0627 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0627\u0642\u06cc \u0628\u0645\u0627\u0646\u062f \u0648 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0627\u0634\u062f. \u0627\u06cc\u0646 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u0634\u0627\u0645\u0644 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633 \u0648 \u063a\u06cc\u0631 \u062d\u0633\u0627\u0633 \u0647\u0633\u062a\u0646\u062f: \u0645\u0642\u0627\u062f\u06cc\u0631 \u062d\u0633\u0627\u0633 \u0628\u0631\u0627\u06cc \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0631\u06cc\u0634\u0647 MySQL \u0648 \u06a9\u0627\u0631\u0628\u0631 \u0648 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0631\u0646\u0627\u0645\u0647\u060c \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u063a\u06cc\u0631 \u062d\u0633\u0627\u0633 \u0628\u0631\u0627\u06cc \u0646\u0627\u0645 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0634\u0645\u0627.\u0628\u0647 \u062c\u0627\u06cc \u062a\u0646\u0638\u06cc\u0645 \u0647\u0645\u0647 \u0627\u06cc\u0646 \u0645\u0642\u0627\u062f\u06cc\u0631 \u062f\u0631 \u0641\u0627\u06cc\u0644 Docker Compose &#8211; \u0641\u0627\u06cc\u0644 \u0627\u0635\u0644\u06cc \u06a9\u0647 \u062d\u0627\u0648\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0646\u062d\u0648\u0647 \u0627\u062c\u0631\u0627\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc \u0634\u0645\u0627 \u0627\u0633\u062a &#8211; \u0645\u0642\u0627\u062f\u06cc\u0631 \u062d\u0633\u0627\u0633 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 env. \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f \u0648 \u06af\u0631\u062f\u0634 \u0622\u0646 \u0631\u0627 \u0645\u062d\u062f\u0648\u062f \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0627\u0632 \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u0627\u06cc\u0646 \u0645\u0642\u0627\u062f\u06cc\u0631 \u062f\u0631 \u0645\u062e\u0627\u0632\u0646 \u067e\u0631\u0648\u0698\u0647 \u0634\u0645\u0627 \u0648 \u0646\u0645\u0627\u06cc\u0634 \u0639\u0645\u0648\u0645\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0641\u0647\u0631\u0633\u062a \u0627\u0635\u0644\u06cc \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f\u060c ~\/wordpress\u060c \u0641\u0627\u06cc\u0644\u06cc \u0628\u0647 \u0646\u0627\u0645 .env \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>nano .env<\/code><\/pre>\n<\/div>\n<p>\u0645\u0642\u0627\u062f\u06cc\u0631 \u0645\u062d\u0631\u0645\u0627\u0646\u0647 \u0627\u06cc \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u0634\u0627\u0645\u0644 \u06cc\u06a9 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0631\u06cc\u0634\u0647 MySQL \u0648 \u06cc\u06a9 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0627\u0633\u062a \u06a9\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f. \u0646\u0627\u0645 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u0648 \u0645\u0642\u0627\u062f\u06cc\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0641\u0627\u06cc\u0644 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. \u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0645\u0642\u0627\u062f\u06cc\u0631 \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0631\u0627\u06cc \u0647\u0631 \u0645\u062a\u063a\u06cc\u0631 \u0627\u0631\u0627\u0626\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code><\/pre>\n<pre class=\"\"><code>MYSQL_ROOT_PASSWORD=<mark>your_root_password<\/mark>\r\nMYSQL_USER=<mark>your_wordpress_database_user<\/mark>\r\nMYSQL_PASSWORD=<mark>your_wordpress_database_password<\/mark><\/code><code><\/code><\/pre>\n<\/div>\n<p>\u0634\u0627\u0645\u0644 \u06cc\u06a9 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0628\u0631\u0627\u06cc \u062d\u0633\u0627\u0628 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0631\u06cc\u0634\u0647\u060c \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u062f\u0644\u062e\u0648\u0627\u0647 \u0634\u0645\u0627 \u0628\u0631\u0627\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0627\u0633\u062a.\u067e\u0633 \u0627\u0632 \u0627\u062a\u0645\u0627\u0645 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0628\u0646\u062f\u06cc\u062f.<\/p>\n<p>\u0627\u0632 \u0622\u0646\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0641\u0627\u06cc\u0644 env \u0634\u0645\u0627 \u062d\u0627\u0648\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633\u06cc \u0627\u0633\u062a\u060c \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u062f\u0631 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc gitignore \u0648 .dockerignore \u067e\u0631\u0648\u0698\u0647 \u0634\u0645\u0627 \u06af\u0646\u062c\u0627\u0646\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0628\u0647 Git \u0648 Docker \u0645\u06cc\u200c\u06af\u0648\u06cc\u062f \u0686\u0647 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u062f\u0631 \u0645\u062e\u0627\u0632\u0646 Git \u0648 \u062a\u0635\u0627\u0648\u06cc\u0631 Docker \u06a9\u067e\u06cc \u0646\u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0628\u0627 git init:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>git init<\/code><\/pre>\n<\/div>\n<p>\u0633\u067e\u0633 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 .gitignore \u0627\u06cc\u062c\u0627\u062f \u0648 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>nano .gitignore<\/code><\/pre>\n<\/div>\n<p>env \u0631\u0627 \u0628\u0647 \u0641\u0627\u06cc\u0644 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>.env<\/code><\/pre>\n<\/div>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u062a\u0645\u0627\u0645 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0628\u0646\u062f\u06cc\u062f.<\/p>\n<p>\u0628\u0647 \u0647\u0645\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628\u060c \u0627\u0641\u0632\u0648\u062f\u0646 .env \u0628\u0647 \u0641\u0627\u06cc\u0644 .dockerignore \u06cc\u06a9 \u0627\u0642\u062f\u0627\u0645 \u0627\u062d\u062a\u06cc\u0627\u0637\u06cc \u062e\u0648\u0628 \u0627\u0633\u062a \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0632\u0645\u06cc\u0646\u0647 \u0633\u0627\u062e\u062a \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u062f\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc \u0634\u0645\u0627 \u0642\u0631\u0627\u0631 \u0646\u06af\u06cc\u0631\u062f.<\/p>\n<p>\u0641\u0627\u06cc\u0644 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>nano .dockerignore<\/code><\/pre>\n<\/div>\n<p>env \u0631\u0627 \u0628\u0647 \u0641\u0627\u06cc\u0644 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>.env\r\n<\/code><\/pre>\n<\/div>\n<p>\u062f\u0631 \u0632\u06cc\u0631 \u0627\u06cc\u0646\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0641\u0627\u06cc\u0644 \u0647\u0627 \u0648 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0647\u0627\u06cc \u0645\u0631\u062a\u0628\u0637 \u0628\u0627 \u062a\u0648\u0633\u0639\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>.env\r\n.git\r\ndocker-compose.yml\r\n.dockerignore<\/code><\/pre>\n<\/div>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u062a\u0645\u0627\u0645 \u06a9\u0627\u0631 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0628\u0646\u062f\u06cc\u062f.<\/p>\n<p>\u0628\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u062f\u0627\u0634\u062a\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633 \u062e\u0648\u062f\u060c \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u062a\u0639\u0631\u06cc\u0641 \u062e\u062f\u0645\u0627\u062a \u062e\u0648\u062f \u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 docker-compose.yml \u0628\u0631\u0648\u06cc\u062f.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-3-%d8%aa%d8%b9%d8%b1%db%8c%d9%81-%d8%ae%d8%af%d9%85%d8%a7%d8%aa-%d8%a8%d8%a7-docker-compose\">\u0645\u0631\u062d\u0644\u0647 3 &#8211; \u062a\u0639\u0631\u06cc\u0641 \u062e\u062f\u0645\u0627\u062a \u0628\u0627 Docker Compose<\/h2>\n<p>\u0641\u0627\u06cc\u0644 docker-compose.yml \u0634\u0645\u0627 \u062d\u0627\u0648\u06cc \u062a\u0639\u0627\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0631\u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0634\u0645\u0627 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f. \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u062f\u0631 Compose \u06cc\u06a9 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0627\u0633\u062a \u0648 \u062a\u0639\u0627\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u0631\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f \u0646\u062d\u0648\u0647 \u0627\u062c\u0631\u0627\u06cc \u0647\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Compose\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u0686\u0646\u062f \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f\u060c \u0632\u06cc\u0631\u0627 Compose \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0631\u0627 \u0628\u0627 \u0634\u0628\u06a9\u0647\u200c\u0647\u0627 \u0648 \u062d\u062c\u0645\u200c\u0647\u0627\u06cc \u0645\u0634\u062a\u0631\u06a9 \u0628\u0647 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u067e\u06cc\u0648\u0646\u062f \u062f\u0647\u06cc\u062f. \u0627\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0641\u0639\u0644\u06cc \u0634\u0645\u0627 \u0645\u0641\u06cc\u062f \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f \u0632\u06cc\u0631\u0627 \u0634\u0645\u0627 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u060c \u0628\u0631\u0646\u0627\u0645\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u0648 \u0648\u0628 \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u06cc\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u06cc\u06a9 \u0645\u062d\u0641\u0638\u0647 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u06a9\u0644\u0627\u06cc\u0646\u062a Certbot \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc \u0628\u0631\u0627\u06cc \u0648\u0628 \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639\u060c \u0641\u0627\u06cc\u0644 docker-compose.yml \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u0648 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>nano docker-compose.yml<\/code><\/pre>\n<\/div>\n<p>\u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0639\u0631\u06cc\u0641 \u0646\u0633\u062e\u0647 \u0641\u0627\u06cc\u0644 Compose \u0648 \u0633\u0631\u0648\u06cc\u0633 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 db \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code><\/pre>\n<pre class=\"language-yaml\"><code><span class=\"token key atrule\">version<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">'3'<\/span>\r\n\r\n<span class=\"token key atrule\">services<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">db<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">image<\/span><span class=\"token punctuation\">:<\/span> mysql<span class=\"token punctuation\">:<\/span><span class=\"token number\">8.0<\/span>\r\n    <span class=\"token key atrule\">container_name<\/span><span class=\"token punctuation\">:<\/span> db\r\n    <span class=\"token key atrule\">restart<\/span><span class=\"token punctuation\">:<\/span> unless<span class=\"token punctuation\">-<\/span>stopped\r\n    <span class=\"token key atrule\">env_file<\/span><span class=\"token punctuation\">:<\/span> .env\r\n    <span class=\"token key atrule\">environment<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> MYSQL_DATABASE=wordpress\r\n    <span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> dbdata<span class=\"token punctuation\">:<\/span>\/var\/lib\/mysql\r\n    <span class=\"token key atrule\">command<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">'--default-authentication-plugin=mysql_native_password'<\/span>\r\n    <span class=\"token key atrule\">networks<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> app<span class=\"token punctuation\">-<\/span>network<\/code><code><\/code><\/pre>\n<\/div>\n<p>\u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 db \u0634\u0627\u0645\u0644 \u06af\u0632\u06cc\u0646\u0647 \u0647\u0627\u06cc \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<ol>\n<li><code>image<\/code>: \u0627\u06cc\u0646 \u0628\u0647 Compose \u0645\u06cc\u200c\u06af\u0648\u06cc\u062f \u0686\u0647 \u062a\u0635\u0648\u06cc\u0631\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0638\u0631\u0641 \u0628\u06a9\u0634\u06cc\u062f. \u0634\u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u067e\u06cc\u0646 \u06a9\u0631\u062f\u0646 \u062a\u0635\u0648\u06cc\u0631 mysql:8.0 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0647\u0633\u062a\u06cc\u062f \u062a\u0627 \u0627\u0632 \u062f\u0631\u06af\u06cc\u0631\u06cc \u0647\u0627\u06cc \u0628\u0639\u062f\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u06a9\u0646\u06cc\u062f \u0632\u06cc\u0631\u0627 \u062a\u0635\u0648\u06cc\u0631 mysql:latest \u0647\u0645\u0686\u0646\u0627\u0646 \u0628\u0647 \u0631\u0648\u0632 \u0645\u06cc \u0634\u0648\u062f. \u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0645\u0648\u0631\u062f \u067e\u06cc\u0646 \u06a9\u0631\u062f\u0646 \u0646\u0633\u062e\u0647 \u0648 \u0627\u062c\u062a\u0646\u0627\u0628 \u0627\u0632 \u062a\u062f\u0627\u062e\u0644 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u060c \u0645\u0633\u062a\u0646\u062f\u0627\u062a Docker \u0631\u0627 \u062f\u0631 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0634\u06cc\u0648\u0647\u200c\u0647\u0627\u06cc Dockerfile \u0628\u062e\u0648\u0627\u0646\u06cc\u062f.<\/li>\n<li><code>Container_name<\/code>: \u0646\u0627\u0645\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li><code>restart<\/code>: \u0627\u06cc\u0646 \u062e\u0637 \u0645\u0634\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0631\u0627 \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u062f. \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u062e\u06cc\u0631 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0634\u0645\u0627 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f \u0645\u06af\u0631 \u0627\u06cc\u0646\u06a9\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u062f\u0633\u062a\u06cc \u0645\u062a\u0648\u0642\u0641 \u0634\u0648\u062f.<\/li>\n<li><code>env_file<\/code>: \u0627\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0647 Compose \u0645\u06cc\u200c\u06af\u0648\u06cc\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u0631\u0627 \u0627\u0632 \u0641\u0627\u06cc\u0644\u06cc \u0628\u0647 \u0646\u0627\u0645 .env \u06a9\u0647 \u062f\u0631 \u0632\u0645\u06cc\u0646\u0647 \u0633\u0627\u062e\u062a \u0634\u0645\u0627 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f\u060c \u0632\u0645\u06cc\u0646\u0647 \u0633\u0627\u062e\u062a \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0641\u0639\u0644\u06cc \u0634\u0645\u0627 \u0627\u0633\u062a.<\/li>\n<li><code>envirronment<\/code>: \u0627\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u0627\u0636\u0627\u0641\u06cc\u060c \u0641\u0631\u0627\u062a\u0631 \u0627\u0632 \u0622\u0646\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u0641\u0627\u06cc\u0644 .env \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. \u0634\u0645\u0627 \u0645\u062a\u063a\u06cc\u0631 MYSQL_DATABASE \u0631\u0627 \u0628\u0631\u0627\u0628\u0631 \u0628\u0627 wordpress \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u06cc\u062f \u062a\u0627 \u0646\u0627\u0645\u06cc \u0628\u0631\u0627\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u06cc\u062f. \u0627\u0632 \u0622\u0646\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u063a\u06cc\u0631 \u062d\u0633\u0627\u0633 \u0627\u0633\u062a\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u062f\u0631 \u0641\u0627\u06cc\u0644 docker-compose.yml \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f.<\/li>\n<li><code>volumes<\/code>: \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627\u060c \u0634\u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0646\u0635\u0628 \u06cc\u06a9 \u062d\u062c\u0645 \u0628\u0627 \u0646\u0627\u0645 \u0628\u0647 \u0646\u0627\u0645 dbdata \u062f\u0631 \u067e\u0648\u0634\u0647 \/var\/lib\/mysql \u062f\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0647\u0633\u062a\u06cc\u062f. \u0627\u06cc\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u062f\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc MySQL \u062f\u0631 \u0627\u06a9\u062b\u0631 \u062a\u0648\u0632\u06cc\u0639 \u0647\u0627 \u0627\u0633\u062a.<\/li>\n<li><code>command<\/code>: \u0627\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647 \u062f\u0633\u062a\u0648\u0631\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0644\u063a\u0648 \u062f\u0633\u062a\u0648\u0631 \u067e\u06cc\u0634 \u0641\u0631\u0636 CMD \u0628\u0631\u0627\u06cc \u062a\u0635\u0648\u06cc\u0631 \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f \u062e\u0627\u0635\u060c \u0634\u0645\u0627 \u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0647 \u062f\u0633\u062a\u0648\u0631 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f mysqld Docker image \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0633\u0631\u0648\u0631 MySQL \u0631\u0627 \u0631\u0648\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647\u060c &#8211;default-authentication-plugin=mysql_native_password\u060c \u0645\u062a\u063a\u06cc\u0631 \u0633\u06cc\u0633\u062a\u0645 &#8211;default-authentication-plugin \u0631\u0627 \u0628\u0631 \u0631\u0648\u06cc mysql_native_password \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u062f \u0648 \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u06a9\u062f\u0627\u0645 \u0645\u06a9\u0627\u0646\u06cc\u0632\u0645 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0628\u0627\u06cc\u062f \u0628\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u062c\u062f\u06cc\u062f \u0628\u0647 \u0633\u0631\u0648\u0631 \u062d\u0627\u06a9\u0645 \u0628\u0627\u0634\u062f. \u0627\u0632 \u0622\u0646\u062c\u0627\u06cc\u06cc \u06a9\u0647 PHP \u0648 \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647 \u062a\u0635\u0648\u06cc\u0631 \u0648\u0631\u062f\u067e\u0631\u0633 \u0634\u0645\u0627 \u0627\u0632 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u062c\u062f\u06cc\u062f MySQL \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0646\u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0628\u0627\u06cc\u062f \u0627\u06cc\u0646 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u06a9\u0627\u0631\u0628\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<\/li>\n<li>networks: \u0627\u06cc\u0646 \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0647 \u0634\u0628\u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647-\u0634\u0628\u06a9\u0647 \u0645\u0644\u062d\u0642 \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u062f\u0631 \u067e\u0627\u06cc\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0622\u0646 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<p>\u0633\u067e\u0633\u060c \u062f\u0631 \u0632\u06cc\u0631 \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 db \u062e\u0648\u062f\u060c \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0631\u0646\u0627\u0645\u0647 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0648\u0631\u062f\u067e\u0631\u0633 \u062e\u0648\u062f \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code><\/pre>\n<pre class=\"language-yaml\"><code><span class=\"token punctuation\">...<\/span>\r\n  <span class=\"token key atrule\">wordpress<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">depends_on<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> db\r\n    <span class=\"token key atrule\">image<\/span><span class=\"token punctuation\">:<\/span> wordpress<span class=\"token punctuation\">:<\/span>5.1.1<span class=\"token punctuation\">-<\/span>fpm<span class=\"token punctuation\">-<\/span>alpine\r\n    <span class=\"token key atrule\">container_name<\/span><span class=\"token punctuation\">:<\/span> wordpress\r\n    <span class=\"token key atrule\">restart<\/span><span class=\"token punctuation\">:<\/span> unless<span class=\"token punctuation\">-<\/span>stopped\r\n    <span class=\"token key atrule\">env_file<\/span><span class=\"token punctuation\">:<\/span> .env\r\n    <span class=\"token key atrule\">environment<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> WORDPRESS_DB_HOST=db<span class=\"token punctuation\">:<\/span><span class=\"token number\">3306<\/span>\r\n      <span class=\"token punctuation\">-<\/span> WORDPRESS_DB_USER=$MYSQL_USER\r\n      <span class=\"token punctuation\">-<\/span> WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD\r\n      <span class=\"token punctuation\">-<\/span> WORDPRESS_DB_NAME=wordpress\r\n    <span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> wordpress<span class=\"token punctuation\">:<\/span>\/var\/www\/html\r\n    <span class=\"token key atrule\">networks<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> app<span class=\"token punctuation\">-<\/span>network<\/code><code><\/code><\/pre>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633\u060c \u0634\u0645\u0627 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062e\u0648\u062f \u0631\u0627 \u0646\u0627\u0645\u06af\u0630\u0627\u0631\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u06cc\u06a9 \u062e\u0637 \u0645\u0634\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0628\u0627 \u0633\u0631\u0648\u06cc\u0633 db \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u06cc\u062f. \u0634\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631 \u062d\u0627\u0644 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0628\u0631\u062e\u06cc \u06af\u0632\u06cc\u0646\u0647 \u0647\u0627\u06cc \u062e\u0627\u0635 \u0628\u0647 \u0627\u06cc\u0646 \u06a9\u0627\u0646\u062a\u0627\u06cc\u0646\u0631 \u0647\u0633\u062a\u06cc\u062f:<\/p>\n<ol>\n<li><code>depends_on<\/code>: \u0627\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc \u0634\u0645\u0627 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0634\u0631\u0648\u0639 \u0645\u06cc \u0634\u0648\u0646\u062f \u0648 \u0638\u0631\u0641 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0639\u062f \u0627\u0632 \u0638\u0631\u0641 db \u0634\u0631\u0648\u0639 \u0645\u06cc \u0634\u0648\u062f. \u0628\u0631\u0646\u0627\u0645\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u0634\u0645\u0627 \u0628\u0647 \u0648\u062c\u0648\u062f \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0648 \u06a9\u0627\u0631\u0628\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0645\u062a\u06a9\u06cc \u0627\u0633\u062a\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u06cc\u0627\u0646 \u0627\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0628\u0627\u0639\u062b \u0645\u06cc \u0634\u0648\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u0634\u0631\u0648\u0639 \u0634\u0648\u062f.<\/li>\n<li><code>image<\/code>: \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u062a\u0646\u0638\u06cc\u0645\u060c \u0627\u0632 \u062a\u0635\u0648\u06cc\u0631 \u0648\u0631\u062f\u067e\u0631\u0633 5.1.1-fpm-alpine \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f. \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 1 \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0647 \u0634\u062f\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u062a\u0635\u0648\u06cc\u0631 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u062f\u0627\u0631\u0627\u06cc \u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647 php-fpm \u0627\u0633\u062a \u06a9\u0647 Nginx \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u067e\u0631\u062f\u0627\u0632\u0634 PHP \u0628\u0647 \u0622\u0646 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f. \u0627\u06cc\u0646 \u0646\u06cc\u0632 \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 \u0622\u0644\u067e\u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0627\u0632 \u067e\u0631\u0648\u0698\u0647 Alpine Linux \u0645\u0634\u062a\u0642 \u0634\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u06a9\u0627\u0647\u0634 \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0644\u06cc \u062a\u0635\u0648\u06cc\u0631 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0631\u0627\u06cc \u06a9\u0633\u0628 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0645\u0648\u0631\u062f \u0645\u0632\u0627\u06cc\u0627 \u0648 \u0645\u0639\u0627\u06cc\u0628 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0635\u0627\u0648\u06cc\u0631 \u0622\u0644\u067e\u0627\u06cc\u0646 \u0648 \u0627\u06cc\u0646\u06a9\u0647 \u0622\u06cc\u0627 \u0627\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0645\u0646\u0637\u0642\u06cc \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631\u060c \u0628\u062d\u062b \u06a9\u0627\u0645\u0644 \u0631\u0627 \u062f\u0631 \u0628\u062e\u0634 Image Variants \u062f\u0631 \u0635\u0641\u062d\u0647 \u062a\u0635\u0648\u06cc\u0631 \u0648\u0631\u062f\u067e\u0631\u0633 Docker Hub \u0645\u0631\u0648\u0631 \u06a9\u0646\u06cc\u062f.<\/li>\n<li><code>env_file<\/code>: \u0645\u062c\u062f\u062f\u0627\u064b \u0645\u0634\u062e\u0635 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0645\u0642\u0627\u062f\u06cc\u0631 \u0631\u0627 \u0627\u0632 \u0641\u0627\u06cc\u0644 .env \u062e\u0648\u062f \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u06a9\u0646\u06cc\u062f\u060c \u0632\u06cc\u0631\u0627 \u0627\u06cc\u0646\u062c\u0627\u0633\u062a \u06a9\u0647 \u06a9\u0627\u0631\u0628\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u062e\u0648\u062f \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f.<\/li>\n<li><code>environment<\/code>: \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627\u060c \u0634\u0645\u0627 \u0627\u0632 \u0645\u0642\u0627\u062f\u06cc\u0631\u06cc \u06a9\u0647 \u062f\u0631 \u0641\u0627\u06cc\u0644 .env \u062e\u0648\u062f \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0627\u0645\u0627 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0646\u0627\u0645 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062a\u0635\u0648\u06cc\u0631 \u0648\u0631\u062f\u067e\u0631\u0633 \u0627\u0646\u062a\u0638\u0627\u0631 \u062f\u0627\u0631\u062f\u060c \u0627\u062e\u062a\u0635\u0627\u0635 \u0645\u06cc \u062f\u0647\u06cc\u062f: WORDPRESS_DB_USER \u0648 WORDPRESS_DB_PASSWORD. \u0634\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631 \u062d\u0627\u0644 \u062a\u0639\u0631\u06cc\u0641 \u06cc\u06a9 WORDPRESS_DB_HOST \u0647\u0633\u062a\u06cc\u062f\u060c \u06a9\u0647 \u0633\u0631\u0648\u0631 MySQL \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f \u06a9\u0647 \u0631\u0648\u06cc \u0638\u0631\u0641 db \u06a9\u0647 \u062f\u0631 \u067e\u0648\u0631\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 MySQL\u060c 3306 \u0642\u0627\u0628\u0644 \u062f\u0633\u062a\u0631\u0633\u06cc \u0627\u0633\u062a\u060c \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f. WORDPRESS_DB_NAME \u0634\u0645\u0627 \u0647\u0645\u0627\u0646 \u0645\u0642\u062f\u0627\u0631\u06cc \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f \u06a9\u0647 \u062f\u0631 \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 MySQL \u0628\u0631\u0627\u06cc MYSQL_DATABASE \u062e\u0648\u062f \u062a\u0639\u06cc\u06cc\u0646 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f: wordpress.<\/li>\n<li><code>volumes<\/code>: \u0634\u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0646\u0635\u0628 \u06cc\u06a9 \u062d\u062c\u0645 \u0628\u0647 \u0646\u0627\u0645 wordpress \u062f\u0631 \/var\/www\/html mountpoint \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u062a\u0635\u0648\u06cc\u0631 \u0648\u0631\u062f\u067e\u0631\u0633 \u0647\u0633\u062a\u06cc\u062f. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u062d\u062c\u0645 \u0646\u0627\u0645\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0631\u0648\u0634 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u06a9\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0633\u0627\u06cc\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u06af\u0630\u0627\u0631\u06cc\u062f.<\/li>\n<li><code>network<\/code>: \u0634\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631 \u062d\u0627\u0644 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0638\u0631\u0641 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0647 \u0634\u0628\u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647-\u0634\u0628\u06a9\u0647 \u0647\u0633\u062a\u06cc\u062f.<\/li>\n<\/ol>\n<p>\u0633\u067e\u0633\u060c \u062f\u0631 \u0632\u06cc\u0631 \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0631\u0646\u0627\u0645\u0647 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc wordpress\u060c \u062a\u0639\u0631\u06cc\u0641 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633 Nginx \u0648\u0628 \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code><\/pre>\n<pre class=\"language-yaml\"><code><span class=\"token punctuation\">...<\/span>\r\n  <span class=\"token key atrule\">webserver<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">depends_on<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> wordpress\r\n    <span class=\"token key atrule\">image<\/span><span class=\"token punctuation\">:<\/span> nginx<span class=\"token punctuation\">:<\/span>1.15.12<span class=\"token punctuation\">-<\/span>alpine\r\n    <span class=\"token key atrule\">container_name<\/span><span class=\"token punctuation\">:<\/span> webserver\r\n    <span class=\"token key atrule\">restart<\/span><span class=\"token punctuation\">:<\/span> unless<span class=\"token punctuation\">-<\/span>stopped\r\n    <span class=\"token key atrule\">ports<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> <span class=\"token string\">\"80:80\"<\/span>\r\n    <span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> wordpress<span class=\"token punctuation\">:<\/span>\/var\/www\/html\r\n      <span class=\"token punctuation\">-<\/span> .\/nginx<span class=\"token punctuation\">-<\/span>conf<span class=\"token punctuation\">:<\/span>\/etc\/nginx\/conf.d\r\n      <span class=\"token punctuation\">-<\/span> certbot<span class=\"token punctuation\">-<\/span>etc<span class=\"token punctuation\">:<\/span>\/etc\/letsencrypt\r\n    <span class=\"token key atrule\">networks<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> app<span class=\"token punctuation\">-<\/span>network<\/code><code><\/code><\/pre>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627\u060c \u0634\u0645\u0627 \u0638\u0631\u0641 \u062e\u0648\u062f \u0631\u0627 \u0646\u0627\u0645 \u06af\u0630\u0627\u0631\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0627\u0648\u0644\u06cc\u0647 \u0628\u0647 \u0638\u0631\u0641 \u0648\u0631\u062f\u067e\u0631\u0633 \u0648\u0627\u0628\u0633\u062a\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f. \u0634\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u0632 \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 \u0622\u0644\u067e\u0627\u06cc\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f &#8211; \u062a\u0635\u0648\u06cc\u0631 1.15.12-alpine Nginx.<\/p>\n<p>\u0627\u06cc\u0646 \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 \u0634\u0627\u0645\u0644 \u06af\u0632\u06cc\u0646\u0647 \u0647\u0627\u06cc \u0632\u06cc\u0631 \u0646\u06cc\u0632 \u0645\u06cc \u0634\u0648\u062f:<\/p>\n<ul>\n<li><code>ports<\/code>: \u0627\u06cc\u0646 \u067e\u0648\u0631\u062a 80 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0647 \u062f\u0631 \u0641\u0627\u06cc\u0644 nginx.conf \u062e\u0648\u062f \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 1 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f\u060c \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/li>\n<li><code>volumes<\/code>: \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627\u060c \u0634\u0645\u0627 \u062a\u0631\u06a9\u06cc\u0628\u06cc \u0627\u0632 \u0648\u0644\u0648\u0645 \u0647\u0627\u06cc \u0646\u0627\u0645\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0648 \u067e\u0627\u06cc\u0647 \u0647\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u06cc\u062f:<\/li>\n<li>wordpress:\/var\/www\/html: \u0627\u06cc\u0646 \u06a9\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u0634\u0645\u0627 \u0631\u0627 \u062f\u0631 \u067e\u0648\u0634\u0647 \/var\/www\/html \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f\u060c \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u06a9\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0631\u06cc\u0634\u0647 \u062f\u0631 \u0628\u0644\u0648\u06a9 \u0633\u0631\u0648\u0631 Nginx \u062e\u0648\u062f \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f.<\/li>\n<li><code>.\/nginx-conf:\/etc\/nginx\/conf.d<\/code>: \u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u067e\u0648\u0634\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Nginx \u0631\u0648\u06cc \u0647\u0627\u0633\u062a \u0631\u0627 \u0628\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0645\u0631\u0628\u0648\u0637\u0647 \u062f\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0645\u062a\u0635\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0647\u0631 \u062a\u063a\u06cc\u06cc\u0631\u06cc \u06a9\u0647 \u062f\u0631 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0631\u0648\u06cc \u0647\u0627\u0633\u062a \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u062f\u0631 \u0647\u0627\u0633\u062a \u0645\u0646\u0639\u06a9\u0633 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/li>\n<li><code>certbot-etc:\/etc\/letsencrypt<\/code>: \u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u06af\u0648\u0627\u0647\u06cc\u0646\u0627\u0645\u0647 \u0647\u0627 \u0648 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc Let\u2019s Encrypt \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u062f\u0627\u0645\u0646\u0647 \u0634\u0645\u0627 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0645\u0646\u0627\u0633\u0628 \u0631\u0648\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0646\u0635\u0628 \u0645\u06cc \u0634\u0648\u062f.<\/li>\n<\/ul>\n<p>\u0634\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u06cc\u0646 \u0638\u0631\u0641 \u0631\u0627 \u0628\u0647 \u0634\u0628\u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647-\u0634\u0628\u06a9\u0647 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f.<\/p>\n<p>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u062f\u0631 \u0632\u06cc\u0631 \u062a\u0639\u0631\u06cc\u0641 \u0648\u0628 \u0633\u0631\u0648\u0631 \u062e\u0648\u062f\u060c \u0622\u062e\u0631\u06cc\u0646 \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633 certbot \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0622\u062f\u0631\u0633 \u0627\u06cc\u0645\u06cc\u0644 \u0648 \u0646\u0627\u0645 \u062f\u0627\u0645\u0646\u0647 \u0644\u06cc\u0633\u062a \u0634\u062f\u0647 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0631\u0627 \u0628\u0627 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062e\u0648\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code><\/pre>\n<pre class=\"language-yaml\"><code><span class=\"token key atrule\">certbot<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">depends_on<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> webserver\r\n    <span class=\"token key atrule\">image<\/span><span class=\"token punctuation\">:<\/span> certbot\/certbot\r\n    <span class=\"token key atrule\">container_name<\/span><span class=\"token punctuation\">:<\/span> certbot\r\n    <span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> certbot<span class=\"token punctuation\">-<\/span>etc<span class=\"token punctuation\">:<\/span>\/etc\/letsencrypt\r\n      <span class=\"token punctuation\">-<\/span> wordpress<span class=\"token punctuation\">:<\/span>\/var\/www\/html\r\n    <span class=\"token key atrule\">command<\/span><span class=\"token punctuation\">:<\/span> certonly <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>webroot <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>webroot<span class=\"token punctuation\">-<\/span>path=\/var\/www\/html <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>email <mark>sammy@your_domain<\/mark> <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>agree<span class=\"token punctuation\">-<\/span>tos <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>no<span class=\"token punctuation\">-<\/span>eff<span class=\"token punctuation\">-<\/span>email <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>staging <span class=\"token punctuation\">-<\/span>d <mark>your_domain<\/mark> <span class=\"token punctuation\">-<\/span>d www.<mark>your_domain<\/mark><\/code><code><\/code><\/pre>\n<\/div>\n<p>\u0627\u06cc\u0646 \u062a\u0639\u0631\u06cc\u0641 \u0628\u0647 Compose \u0645\u06cc\u200c\u06af\u0648\u06cc\u062f \u06a9\u0647 \u062a\u0635\u0648\u06cc\u0631 certbot\/certbot \u0631\u0627 \u0627\u0632 Docker Hub \u0628\u06a9\u0634\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u0632 \u062d\u062c\u0645 \u0647\u0627\u06cc \u0646\u0627\u0645\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0628\u0631\u0627\u06cc \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06af\u0630\u0627\u0634\u062a\u0646 \u0645\u0646\u0627\u0628\u0639 \u0628\u0627 \u0638\u0631\u0641 Nginx \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f\u060c \u0627\u0632 \u062c\u0645\u0644\u0647 \u06af\u0648\u0627\u0647\u06cc\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u062f\u0627\u0645\u0646\u0647 \u0648 \u06a9\u0644\u06cc\u062f \u062f\u0631 certbot-etc \u0648 \u06a9\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0631 \u0648\u0631\u062f\u067e\u0631\u0633.\u0645\u062c\u062f\u062f\u0627\u064b\u060c \u0628\u0631\u0627\u06cc \u062a\u0639\u06cc\u06cc\u0646 \u0627\u06cc\u0646\u06a9\u0647 \u0638\u0631\u0641 certbot \u0628\u0627\u06cc\u062f \u067e\u0633 \u0627\u0632 \u0627\u062c\u0631\u0627 \u0634\u062f\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0648\u0628 \u0633\u0631\u0648\u0631 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0634\u0648\u062f\u060c \u0627\u0632dependent_on \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f.\u0634\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647 \u0641\u0631\u0645\u0627\u0646 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u06a9\u0647 \u06cc\u06a9 \u0641\u0631\u0645\u0627\u0646 \u0641\u0631\u0639\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 certbot \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0638\u0631\u0641 \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u062f. \u0641\u0631\u0645\u0627\u0646 \u0641\u0631\u0639\u06cc certonly \u06af\u0648\u0627\u0647\u06cc \u0628\u0627 \u06af\u0632\u06cc\u0646\u0647 \u0647\u0627\u06cc \u0632\u06cc\u0631 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u062f:<\/p>\n<ol>\n<li><code>--webroot<\/code>: \u0627\u06cc\u0646 \u0628\u0647 Certbot \u0645\u06cc \u06af\u0648\u06cc\u062f \u06a9\u0647 \u0627\u0632 \u0627\u0641\u0632\u0648\u0646\u0647 webroot \u0628\u0631\u0627\u06cc \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0646 \u0641\u0627\u06cc\u0644 \u0647\u0627 \u062f\u0631 \u067e\u0648\u0634\u0647 webroot \u0628\u0631\u0627\u06cc \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0627\u0641\u0632\u0648\u0646\u0647 \u0628\u0647 \u0631\u0648\u0634 \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc HTTP-01 \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f\u060c \u06a9\u0647 \u0627\u0632 \u06cc\u06a9 \u062f\u0631\u062e\u0648\u0627\u0633\u062a HTTP \u0628\u0631\u0627\u06cc \u0627\u062b\u0628\u0627\u062a \u0627\u06cc\u0646\u06a9\u0647 Certbot \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0645\u0646\u0627\u0628\u0639\u06cc \u0627\u0632 \u0633\u0631\u0648\u0631\u06cc \u06a9\u0647 \u0628\u0647 \u0646\u0627\u0645 \u062f\u0627\u0645\u0646\u0647 \u0645\u0639\u06cc\u0646 \u067e\u0627\u0633\u062e \u0645\u06cc\u200c\u062f\u0647\u062f \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n<li><code>--webroot-path<\/code>: \u0627\u06cc\u0646 \u0645\u0633\u06cc\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc webroot \u0631\u0627 \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li><code>--email<\/code>: \u0627\u06cc\u0645\u06cc\u0644 \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0634\u0645\u0627 \u0628\u0631\u0627\u06cc \u062b\u0628\u062a \u0646\u0627\u0645 \u0648 \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc.<\/li>\n<li><code>--agree-tos<\/code>: \u0627\u06cc\u0646 \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0634\u0645\u0627 \u0628\u0627 \u062a\u0648\u0627\u0641\u0642\u0646\u0627\u0645\u0647 \u0645\u0634\u062a\u0631\u06a9 ACME \u0645\u0648\u0627\u0641\u0642\u062a \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n<li><code>--no-eff-email<\/code>: \u0627\u06cc\u0646 \u0628\u0647 Certbot \u0645\u06cc \u06af\u0648\u06cc\u062f \u06a9\u0647 \u0634\u0645\u0627 \u0646\u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u06cc\u0645\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 Electronic Frontier Foundation (EFF) \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u06af\u0630\u0627\u0631\u06cc\u062f. \u062f\u0631 \u0635\u0648\u0631\u062a \u062a\u0645\u0627\u06cc\u0644 \u0627\u06cc\u0646 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f.<\/li>\n<li><code>--staging<\/code>: \u0627\u06cc\u0646 \u0628\u0647 Certbot \u0645\u06cc\u200c\u06af\u0648\u06cc\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u0632 \u0645\u062d\u06cc\u0637 \u0645\u0631\u062d\u0644\u0647\u200c\u0628\u0646\u062f\u06cc Let\u2019s Encrypt \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u06af\u0632\u06cc\u0646\u0647 \u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062e\u0648\u062f \u0631\u0627 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0647\u0627\u06cc \u0627\u062d\u062a\u0645\u0627\u0644\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u062f\u0627\u0645\u0646\u0647 \u0627\u062c\u062a\u0646\u0627\u0628 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u06cc\u0646 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u060c \u0644\u0637\u0641\u0627\u064b \u0627\u0633\u0646\u0627\u062f \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc \u0646\u0631\u062e Let\u2019s Encrypt \u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f.<\/li>\n<li><code>-d<\/code>: \u0627\u06cc\u0646 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0646\u0627\u0645 \u062f\u0627\u0645\u0646\u0647 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u062e\u0648\u062f \u0627\u0639\u0645\u0627\u0644 \u06a9\u0646\u06cc\u062f\u060c \u0645\u0634\u062e\u0635 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f\u060c your_domain \u0648 www.your_domain \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f. \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0627\u06cc\u0646 \u0647\u0627 \u0631\u0627 \u0628\u0627 \u062f\u0627\u0645\u0646\u0647 \u062e\u0648\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<p>\u062f\u0631 \u0632\u06cc\u0631 \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 certbot\u060c \u062a\u0639\u0627\u0631\u06cc\u0641 \u0634\u0628\u06a9\u0647 \u0648 \u062d\u062c\u0645 \u062e\u0648\u062f \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code><\/pre>\n<pre class=\"language-yaml\"><code><span class=\"token punctuation\">...<\/span>\r\n<span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">certbot-etc<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">wordpress<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">dbdata<\/span><span class=\"token punctuation\">:<\/span>\r\n\r\n<span class=\"token key atrule\">networks<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">app-network<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">driver<\/span><span class=\"token punctuation\">:<\/span> bridge<\/code><code><\/code><\/pre>\n<\/div>\n<p>\u06a9\u0644\u06cc\u062f \u0648\u0644\u0648\u0645 \u0633\u0637\u062d \u0628\u0627\u0644\u0627\u06cc \u0634\u0645\u0627 \u062d\u062c\u0645 \u0647\u0627\u06cc certbot-etc\u060c wordpress \u0648 dbdata \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u062f. \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u062f\u0627\u06a9\u0631 \u062d\u062c\u0645 \u0647\u0627 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f\u060c \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u062c\u0644\u062f \u062f\u0631 \u06cc\u06a9 \u0641\u0647\u0631\u0633\u062a \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0641\u0627\u06cc\u0644 \u0645\u06cc\u0632\u0628\u0627\u0646\u060c \/var\/lib\/docker\/volumes\/ \u06a9\u0647 \u062a\u0648\u0633\u0637 \u062f\u0627\u06a9\u0631 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u0634\u0648\u062f\u060c \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u0634\u0648\u062f. \u0633\u067e\u0633 \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u0647\u0631 \u062c\u0644\u062f \u0627\u0632 \u0627\u06cc\u0646 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0628\u0647 \u0647\u0631 \u0638\u0631\u0641\u06cc \u06a9\u0647 \u0627\u0632 \u062d\u062c\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f \u0633\u0648\u0627\u0631 \u0645\u06cc \u0634\u0648\u062f. \u0628\u0647 \u0627\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628\u060c \u0627\u0645\u06a9\u0627\u0646 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06af\u0630\u0627\u0631\u06cc \u06a9\u062f \u0648 \u062f\u0627\u062f\u0647 \u0628\u06cc\u0646 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f.<\/p>\n<p>\u0634\u0628\u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0628\u06a9\u0647 \u067e\u0644 \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0631\u0628\u0631 \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u06cc\u0646 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc \u0634\u0645\u0627 \u0631\u0627 \u0627\u0645\u06a9\u0627\u0646 \u067e\u0630\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u062f \u0632\u06cc\u0631\u0627 \u0622\u0646\u0647\u0627 \u062f\u0631 \u0647\u0645\u0627\u0646 \u0645\u06cc\u0632\u0628\u0627\u0646 \u062f\u0627\u06cc\u0645\u0648\u0646 \u062f\u0627\u06a9\u0631 \u0647\u0633\u062a\u0646\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0648 \u0627\u0631\u062a\u0628\u0627\u0637\u0627\u062a \u062f\u0631\u0648\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0633\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0632\u06cc\u0631\u0627 \u0647\u0645\u0647 \u067e\u0648\u0631\u062a\u200c\u0647\u0627 \u0631\u0627 \u0628\u06cc\u0646 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627 \u062f\u0631 \u0647\u0645\u0627\u0646 \u0634\u0628\u06a9\u0647 \u067e\u0644 \u0628\u0627\u0632 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0628\u062f\u0648\u0646 \u0627\u06cc\u0646\u06a9\u0647 \u0647\u06cc\u0686 \u067e\u0648\u0631\u062a\u06cc \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u0646\u06cc\u0627\u06cc \u0628\u06cc\u0631\u0648\u0646 \u0642\u0631\u0627\u0631 \u062f\u0647\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646\u060c \u0638\u0631\u0648\u0641 db\u060c wordpress \u0648 \u0648\u0628 \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0642\u0631\u0627\u0631 \u06a9\u0646\u0646\u062f \u0648 \u0634\u0645\u0627 \u0641\u0642\u0637 \u0628\u0627\u06cc\u062f \u067e\u0648\u0631\u062a 80 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc front-end \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<p>\u0641\u0627\u06cc\u0644 docker-compose.yml \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u062f\u0631 \u0632\u06cc\u0631 \u0622\u0645\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code><\/pre>\n<pre class=\"language-yaml\"><code><span class=\"token key atrule\">version<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">'3'<\/span>\r\n\r\n<span class=\"token key atrule\">services<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">db<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">image<\/span><span class=\"token punctuation\">:<\/span> mysql<span class=\"token punctuation\">:<\/span><span class=\"token number\">8.0<\/span>\r\n    <span class=\"token key atrule\">container_name<\/span><span class=\"token punctuation\">:<\/span> db\r\n    <span class=\"token key atrule\">restart<\/span><span class=\"token punctuation\">:<\/span> unless<span class=\"token punctuation\">-<\/span>stopped\r\n    <span class=\"token key atrule\">env_file<\/span><span class=\"token punctuation\">:<\/span> .env\r\n    <span class=\"token key atrule\">environment<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> MYSQL_DATABASE=wordpress\r\n    <span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> dbdata<span class=\"token punctuation\">:<\/span>\/var\/lib\/mysql\r\n    <span class=\"token key atrule\">command<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">'--default-authentication-plugin=mysql_native_password'<\/span>\r\n    <span class=\"token key atrule\">networks<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> app<span class=\"token punctuation\">-<\/span>network\r\n\r\n  <span class=\"token key atrule\">wordpress<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">depends_on<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> db\r\n    <span class=\"token key atrule\">image<\/span><span class=\"token punctuation\">:<\/span> wordpress<span class=\"token punctuation\">:<\/span>5.1.1<span class=\"token punctuation\">-<\/span>fpm<span class=\"token punctuation\">-<\/span>alpine\r\n    <span class=\"token key atrule\">container_name<\/span><span class=\"token punctuation\">:<\/span> wordpress\r\n    <span class=\"token key atrule\">restart<\/span><span class=\"token punctuation\">:<\/span> unless<span class=\"token punctuation\">-<\/span>stopped\r\n    <span class=\"token key atrule\">env_file<\/span><span class=\"token punctuation\">:<\/span> .env\r\n    <span class=\"token key atrule\">environment<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> WORDPRESS_DB_HOST=db<span class=\"token punctuation\">:<\/span><span class=\"token number\">3306<\/span>\r\n      <span class=\"token punctuation\">-<\/span> WORDPRESS_DB_USER=$MYSQL_USER\r\n      <span class=\"token punctuation\">-<\/span> WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD\r\n      <span class=\"token punctuation\">-<\/span> WORDPRESS_DB_NAME=wordpress\r\n    <span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> wordpress<span class=\"token punctuation\">:<\/span>\/var\/www\/html\r\n    <span class=\"token key atrule\">networks<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> app<span class=\"token punctuation\">-<\/span>network\r\n\r\n  <span class=\"token key atrule\">webserver<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">depends_on<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> wordpress\r\n    <span class=\"token key atrule\">image<\/span><span class=\"token punctuation\">:<\/span> nginx<span class=\"token punctuation\">:<\/span>1.15.12<span class=\"token punctuation\">-<\/span>alpine\r\n    <span class=\"token key atrule\">container_name<\/span><span class=\"token punctuation\">:<\/span> webserver\r\n    <span class=\"token key atrule\">restart<\/span><span class=\"token punctuation\">:<\/span> unless<span class=\"token punctuation\">-<\/span>stopped\r\n    <span class=\"token key atrule\">ports<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> <span class=\"token string\">\"80:80\"<\/span>\r\n    <span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> wordpress<span class=\"token punctuation\">:<\/span>\/var\/www\/html\r\n      <span class=\"token punctuation\">-<\/span> .\/nginx<span class=\"token punctuation\">-<\/span>conf<span class=\"token punctuation\">:<\/span>\/etc\/nginx\/conf.d\r\n      <span class=\"token punctuation\">-<\/span> certbot<span class=\"token punctuation\">-<\/span>etc<span class=\"token punctuation\">:<\/span>\/etc\/letsencrypt\r\n    <span class=\"token key atrule\">networks<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> app<span class=\"token punctuation\">-<\/span>network\r\n\r\n  <span class=\"token key atrule\">certbot<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">depends_on<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> webserver\r\n    <span class=\"token key atrule\">image<\/span><span class=\"token punctuation\">:<\/span> certbot\/certbot\r\n    <span class=\"token key atrule\">container_name<\/span><span class=\"token punctuation\">:<\/span> certbot\r\n    <span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> certbot<span class=\"token punctuation\">-<\/span>etc<span class=\"token punctuation\">:<\/span>\/etc\/letsencrypt\r\n      <span class=\"token punctuation\">-<\/span> wordpress<span class=\"token punctuation\">:<\/span>\/var\/www\/html\r\n    <span class=\"token key atrule\">command<\/span><span class=\"token punctuation\">:<\/span> certonly <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>webroot <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>webroot<span class=\"token punctuation\">-<\/span>path=\/var\/www\/html <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>email <mark>sammy@your_domain<\/mark> <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>agree<span class=\"token punctuation\">-<\/span>tos <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>no<span class=\"token punctuation\">-<\/span>eff<span class=\"token punctuation\">-<\/span>email <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>staging <span class=\"token punctuation\">-<\/span>d <mark>your_domain<\/mark> <span class=\"token punctuation\">-<\/span>d www.<mark>your_domain<\/mark>\r\n\r\n<span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">certbot-etc<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">wordpress<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">dbdata<\/span><span class=\"token punctuation\">:<\/span>\r\n\r\n<span class=\"token key atrule\">networks<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">app-network<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">driver<\/span><span class=\"token punctuation\">:<\/span> bridge<\/code><code><\/code><\/pre>\n<\/div>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u062a\u0645\u0627\u0645 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0628\u0646\u062f\u06cc\u062f. \u0628\u0627 \u062a\u0639\u0627\u0631\u06cc\u0641 \u062e\u062f\u0645\u0627\u062a \u062e\u0648\u062f\u060c \u0622\u0645\u0627\u062f\u0647 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627 \u0648 \u0622\u0632\u0645\u0627\u06cc\u0634 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u06af\u0648\u0627\u0647\u06cc\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0647\u0633\u062a\u06cc\u062f.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-4-%d8%af%d8%b1%db%8c%d8%a7%d9%81%d8%aa-%da%af%d9%88%d8%a7%d9%87%db%8c%d9%86%d8%a7%d9%85%d9%87-%d9%87%d8%a7-%d9%88-%d8%a7%d8%b9%d8%aa%d8%a8%d8%a7%d8%b1%d9%86\">\u0645\u0631\u062d\u0644\u0647 4 &#8211; \u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc\u0646\u0627\u0645\u0647 \u0647\u0627 \u0648 \u0627\u0639\u062a\u0628\u0627\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc SSL<\/h2>\n<p>\u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 docker-compose up \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f\u060c \u06a9\u0647 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628\u06cc \u06a9\u0647 \u0645\u0634\u062e\u0635 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u0648 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0628\u0627 \u0627\u0641\u0632\u0648\u062f\u0646 \u067e\u0631\u0686\u0645 -d\u060c \u062f\u0633\u062a\u0648\u0631 \u0638\u0631\u0648\u0641 db\u060c wordpress \u0648 webserver \u0631\u0627 \u062f\u0631 \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker-compose up -d<\/code><\/pre>\n<\/div>\n<p>\u062e\u0631\u0648\u062c\u06cc \u0632\u06cc\u0631 \u062a\u0623\u06cc\u06cc\u062f \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u062e\u062f\u0645\u0627\u062a \u0634\u0645\u0627 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>Output\r\nCreating db ... done\r\nCreating wordpress ... done\r\nCreating webserver ... done\r\nCreating certbot ... done<\/code><\/pre>\n<\/div>\n<p>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 docker-compose ps\u060c \u0648\u0636\u0639\u06cc\u062a \u062e\u062f\u0645\u0627\u062a \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker-compose ps<\/code><\/pre>\n<\/div>\n<p>\u067e\u0633 \u0627\u0632 \u062a\u06a9\u0645\u06cc\u0644\u060c \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc db\u060c wordpress \u0648 \u0648\u0628\u200c\u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0628\u0627\u0644\u0627 \u0645\u06cc\u200c\u0622\u06cc\u0646\u062f \u0648 \u0638\u0631\u0641 certbot \u0628\u0627 \u06cc\u06a9 \u067e\u06cc\u0627\u0645 \u0648\u0636\u0639\u06cc\u062a 0 \u062e\u0627\u0631\u062c \u0645\u06cc\u200c\u0634\u0648\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>Output\r\nName Command State Ports\r\n-------------------------------------------------------------------------\r\ncertbot certbot certonly --webroot ... Exit 0\r\ndb docker-entrypoint.sh --def ... Up 3306\/tcp, 33060\/tcp\r\nwebserver nginx -g daemon off; Up 0.0.0.0:80-&gt;80\/tcp\r\nwordpress docker-entrypoint.sh php-fpm Up 9000\/tcp<\/code><\/pre>\n<\/div>\n<p>\u0647\u0631 \u0686\u06cc\u0632\u06cc \u063a\u06cc\u0631 \u0627\u0632 \u0628\u0627\u0644\u0627 \u062f\u0631 \u0633\u062a\u0648\u0646 State \u0628\u0631\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc db\u060c wordpress \u06cc\u0627 \u0648\u0628\u200c\u0633\u0631\u0648\u0631\u060c \u06cc\u0627 \u0648\u0636\u0639\u06cc\u062a \u062e\u0631\u0648\u062c\u06cc \u063a\u06cc\u0631 \u0627\u0632 0 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 certbot \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0644\u0627\u0632\u0645 \u0628\u0627\u0634\u062f \u06af\u0632\u0627\u0631\u0634\u200c\u0647\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 docker-compose logs \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<p>&nbsp;<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker-compose logs service_name<\/code><\/pre>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u0634\u0645\u0627 \u0628\u0627 docker-compose exec \u0628\u0647 \u0645\u062d\u0641\u0638\u0647 \u0648\u0628 \u0633\u0631\u0648\u0631 \u0646\u0635\u0628 \u0634\u062f\u0647\u200c\u0627\u0646\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker-compose exec webserver ls -la \/etc\/letsencrypt\/live<\/code><\/pre>\n<\/div>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u06af\u0648\u0627\u0647\u06cc \u0634\u0645\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u060c \u062e\u0631\u0648\u062c\u06cc \u06a9\u062f \u067e\u0627\u06cc\u06cc\u0646 \u0627\u0633\u062a:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>Output\r\ntotal 16\r\ndrwx------ 3 root root 4096 May 10 15:45 .\r\ndrwxr-xr-x 9 root root 4096 May 10 15:45 ..\r\n-rw-r--r-- 1 root root 740 May 10 15:45 README\r\ndrwxr-xr-x 2 root root 4096 May 10 15:45 your_domain<\/code><\/pre>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u06a9\u0647 \u0645\u06cc \u062f\u0627\u0646\u06cc\u062f \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0634\u0645\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 certbot \u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f \u062a\u0627\u00a0 &#8211;staging \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>docker-compose.yml \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>nano docker-compose.yml<\/code><\/pre>\n<\/div>\n<p>\u0628\u062e\u0634\u06cc \u0627\u0632 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0628\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 certbot \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f \u0648 &#8211;staging \u0631\u0627 \u062f\u0631 \u06af\u0632\u06cc\u0646\u0647 \u0641\u0631\u0645\u0627\u0646 \u0628\u0627 &#8211;force-renewal \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f\u060c \u06a9\u0647 \u0628\u0647 Certbot \u0645\u06cc \u06af\u0648\u06cc\u062f \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u06cc\u06a9 \u06af\u0648\u0627\u0647\u06cc \u062c\u062f\u06cc\u062f \u0628\u0627 \u0647\u0645\u0627\u0646 \u062f\u0627\u0645\u0646\u0647 \u0647\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0646\u06cc\u062f. \u06af\u0648\u0627\u0647\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0632\u06cc\u0631 \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 certbot \u0628\u0627 \u0645\u062a\u063a\u06cc\u0631 \u0628\u0647 \u0631\u0648\u0632 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>...\r\ncertbot:\r\ndepends_on:\r\n- webserver\r\nimage: certbot\/certbot\r\ncontainer_name: certbot\r\nvolumes:\r\n- certbot-etc:\/etc\/letsencrypt\r\n- certbot-var:\/var\/lib\/letsencrypt\r\n- wordpress:\/var\/www\/html\r\ncommand: certonly --webroot --webroot-path=\/var\/www\/html --email sammy@your_domain --agree-tos --no-eff-email --force-renewal -d your_domain -d www.your_domain\r\n...<\/code><\/pre>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f docker-compose \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u062c\u062f\u062f \u0638\u0631\u0641 certbot \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647 &#8211;no-deps \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0647 Compose \u0628\u06af\u0648\u06cc\u06cc\u062f \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0627\u0632 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0648\u0628 \u0633\u0631\u0648\u0631 \u0635\u0631\u0641\u0646\u0638\u0631 \u06a9\u0646\u062f\u060c \u0632\u06cc\u0631\u0627 \u0627\u0632 \u0642\u0628\u0644 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0627\u0633\u062a:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker-compose up --force-recreate --no-deps certbot<\/code><\/pre>\n<\/div>\n<p>\u062e\u0631\u0648\u062c\u06cc \u0632\u06cc\u0631 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06af\u0648\u0627\u0647\u06cc \u0634\u0645\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u0645\u06cc\u0632 \u0628\u0648\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\">Output\r\nRecreating certbot ... done\r\nAttaching to certbot\r\ncertbot | Saving debug log to \/var\/log\/letsencrypt\/letsencrypt.log\r\ncertbot | Plugins selected: Authenticator webroot, Installer None\r\ncertbot | Renewing an existing certificate\r\ncertbot | Performing the following challenges:\r\ncertbot | http-01 challenge for your_domain\r\ncertbot | http-01 challenge for www.your_domain\r\ncertbot | Using the webroot path \/var\/www\/html for all unmatched domains.\r\ncertbot | Waiting for verification...\r\ncertbot | Cleaning up challenges\r\ncertbot | IMPORTANT NOTES:\r\ncertbot | - Congratulations! Your certificate and chain have been saved at:\r\ncertbot | \/etc\/letsencrypt\/live\/your_domain\/fullchain.pem\r\ncertbot | Your key file has been saved at:\r\ncertbot | \/etc\/letsencrypt\/live\/your_domain\/privkey.pem\r\ncertbot | Your cert will expire on 2019-08-08. To obtain a new or tweaked\r\ncertbot | version of this certificate in the future, simply run certbot\r\ncertbot | again. To non-interactively renew *all* of your certificates, run\r\ncertbot | \"certbot renew\"\r\ncertbot | - Your account credentials have been saved in your Certbot\r\ncertbot | configuration directory at \/etc\/letsencrypt. You should make a\r\ncertbot | secure backup of this folder now. This configuration directory will\r\ncertbot | also contain certificates and private keys obtained by Certbot so\r\ncertbot | making regular backups of this folder is ideal.\r\ncertbot | - If you like Certbot, please consider supporting our work by:\r\ncertbot |\r\ncertbot | Donating to ISRG \/ Let's Encrypt: https:\/\/letsencrypt.org\/donate\r\ncertbot | Donating to EFF: https:\/\/eff.org\/donate-le\r\ncertbot |\r\ncertbot exited with code 0<\/pre>\n<\/div>\n<p>\u0628\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u062f\u0627\u0634\u062a\u0646 \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u062e\u0648\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Nginx \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u06af\u0646\u062c\u0627\u0646\u062f\u0646 SSL \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-5-%d8%aa%d8%ba%db%8c%db%8c%d8%b1-%d9%be%db%8c%da%a9%d8%b1%d8%a8%d9%86%d8%af%db%8c-%d9%88%d8%a8-%d8%b3%d8%b1%d9%88%d8%b1-%d9%88-%d8%aa%d8%b9%d8%b1%db%8c%d9%81\">\u0645\u0631\u062d\u0644\u0647 5 &#8211; \u062a\u063a\u06cc\u06cc\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0648\u0628 \u0633\u0631\u0648\u0631 \u0648 \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633<\/h2>\n<p>\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 SSL \u062f\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Nginx \u0634\u0627\u0645\u0644 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u06cc\u06a9 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u0633\u06cc\u0631 HTTP \u0628\u0647 HTTPS\u060c \u0645\u0634\u062e\u0635 \u06a9\u0631\u062f\u0646 \u06af\u0648\u0627\u0647\u06cc\u0646\u0627\u0645\u0647 SSL \u0648 \u0645\u06a9\u0627\u0646\u200c\u0647\u0627\u06cc \u06a9\u0644\u06cc\u062f\u06cc\u060c \u0648 \u0627\u0641\u0632\u0648\u062f\u0646 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u0648 \u0647\u062f\u0631\u0647\u0627 \u0627\u0633\u062a.\u0627\u0632 \u0622\u0646\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0633\u0631\u0648\u06cc\u0633 \u0648\u0628\u200c\u0633\u0631\u0648\u06cc\u0633\u200c\u06a9\u0646\u0646\u062f\u0647 \u0631\u0627 \u0645\u062c\u062f\u062f\u0627\u064b \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u06cc\u0646 \u0645\u0648\u0627\u0631\u062f \u0627\u0636\u0627\u0641\u0647 \u0634\u062f\u0647 \u0631\u0627 \u0634\u0627\u0645\u0644 \u0634\u0648\u062f\u060c \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker-compose stop webserver<\/code><\/pre>\n<\/div>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0627\u0635\u0644\u0627\u062d \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc\u060c \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u0627\u0645\u0646\u06cc\u062a\u06cc \u062a\u0648\u0635\u06cc\u0647 \u0634\u062f\u0647 Nginx \u0631\u0627 \u0627\u0632 Certbot \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 curl \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>curl -sSLo nginx-conf\/options-ssl-nginx.conf https:\/\/raw.githubusercontent.com\/certbot\/certbot\/master\/certbot-nginx\/certbot_nginx\/_internal\/tls_configs\/options-ssl-nginx.conf<\/code><\/pre>\n<\/div>\n<p>\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0627\u06cc\u0646 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644\u06cc \u0628\u0647 \u0646\u0627\u0645 options-ssl-nginx.conf \u06a9\u0647 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc nginx-conf \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f\u060c \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u060c \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Nginx \u0631\u0627 \u06a9\u0647 \u0642\u0628\u0644\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u06cc\u062f \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>rm nginx-conf\/nginx.conf<\/code><\/pre>\n<\/div>\n<p>\u0646\u0633\u062e\u0647 \u062f\u06cc\u06af\u0631\u06cc \u0627\u0632 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u0648 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>nano nginx-conf\/nginx.conf<\/code><\/pre>\n<\/div>\n<p>\u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0641\u0627\u06cc\u0644 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 HTTP \u0631\u0627 \u0628\u0647 HTTPS \u0647\u062f\u0627\u06cc\u062a \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0639\u062a\u0628\u0627\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u060c \u067e\u0631\u0648\u062a\u06a9\u0644\u200c\u0647\u0627 \u0648 \u0647\u062f\u0631\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc SSL \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. \u0641\u0631\u0627\u0645\u0648\u0634 \u0646\u06a9\u0646\u06cc\u062f \u06a9\u0647 your_domain \u0631\u0627 \u0628\u0627 \u062f\u0627\u0645\u0646\u0647 \u062e\u0648\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code><\/pre>\n<pre class=\"\"><code>server {\r\n        listen 80;\r\n        listen [::]:80;\r\n\r\n        server_name <mark>your_domain<\/mark> www.<mark>your_domain<\/mark>;\r\n\r\n        location ~ \/.well-known\/acme-challenge {\r\n                allow all;\r\n                root \/var\/www\/html;\r\n        }\r\n\r\n        location \/ {\r\n                rewrite ^ https:\/\/$host$request_uri? permanent;\r\n        }\r\n}\r\n\r\nserver {\r\n        listen 443 ssl http2;\r\n        listen [::]:443 ssl http2;\r\n        server_name <mark>your_domain<\/mark> www.<mark>your_domain<\/mark>;\r\n\r\n        index index.php index.html index.htm;\r\n\r\n        root \/var\/www\/html;\r\n\r\n        server_tokens off;\r\n\r\n        ssl_certificate \/etc\/letsencrypt\/live\/<mark>your_domain<\/mark>\/fullchain.pem;\r\n        ssl_certificate_key \/etc\/letsencrypt\/live\/<mark>your_domain<\/mark>\/privkey.pem;\r\n\r\n        include \/etc\/nginx\/conf.d\/options-ssl-nginx.conf;\r\n\r\n        add_header X-Frame-Options \"SAMEORIGIN\" always;\r\n        add_header X-XSS-Protection \"1; mode=block\" always;\r\n        add_header X-Content-Type-Options \"nosniff\" always;\r\n        add_header Referrer-Policy \"no-referrer-when-downgrade\" always;\r\n        add_header Content-Security-Policy \"default-src * data: 'unsafe-eval' 'unsafe-inline'\" always;\r\n        # add_header Strict-Transport-Security \"max-age=31536000; includeSubDomains; preload\" always;\r\n        # enable strict transport security only if you understand the implications\r\n\r\n        location \/ {\r\n                try_files $uri $uri\/ \/index.php$is_args$args;\r\n        }\r\n\r\n        location ~ \\.php$ {\r\n                try_files $uri =404;\r\n                fastcgi_split_path_info ^(.+\\.php)(\/.+)$;\r\n                fastcgi_pass wordpress:9000;\r\n                fastcgi_index index.php;\r\n                include fastcgi_params;\r\n                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\r\n                fastcgi_param PATH_INFO $fastcgi_path_info;\r\n        }\r\n\r\n        location ~ \/\\.ht {\r\n                deny all;\r\n        }\r\n\r\n        location = \/favicon.ico {\r\n                log_not_found off; access_log off;\r\n        }\r\n        location = \/robots.txt {\r\n                log_not_found off; access_log off; allow all;\r\n        }\r\n        location ~* \\.(css|gif|ico|jpeg|jpg|js|png)$ {\r\n                expires max;\r\n                log_not_found off;\r\n        }\r\n}\r\n<\/code><code><\/code><\/pre>\n<\/div>\n<p>\u0628\u0644\u0648\u06a9 \u0633\u0631\u0648\u0631 HTTP\u060c webroot \u0631\u0627 \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u062a\u0645\u062f\u06cc\u062f Certbot \u0628\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc .well-known\/acme-challenge \u0645\u0634\u062e\u0635 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u0634\u0627\u0645\u0644 \u06cc\u06a9 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc HTTP \u0631\u0627 \u0628\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0631\u06cc\u0634\u0647 \u0628\u0647 HTTPS \u0647\u062f\u0627\u06cc\u062a \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0628\u0644\u0648\u06a9 \u0633\u0631\u0648\u0631 HTTPS ssl \u0648 http2 \u0631\u0627 \u0641\u0639\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0631\u0627\u06cc \u0645\u0637\u0627\u0644\u0639\u0647 \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0645\u0648\u0631\u062f \u0646\u062d\u0648\u0647 \u062a\u06a9\u0631\u0627\u0631 HTTP\/2 \u062f\u0631 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0647\u0627\u06cc HTTP \u0648 \u0645\u0632\u0627\u06cc\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0648\u0628 \u0633\u0627\u06cc\u062a \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u060c \u0644\u0637\u0641\u0627\u064b \u0645\u0642\u062f\u0645\u0647 \u0646\u062d\u0648\u0647 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc Nginx \u0628\u0627 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc HTTP\/2 \u062f\u0631 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 18.04 \u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u0628\u0644\u0648\u06a9 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0634\u0627\u0645\u0644 \u06af\u0648\u0627\u0647\u06cc SSL \u0648 \u0645\u06a9\u0627\u0646\u200c\u0647\u0627\u06cc \u06a9\u0644\u06cc\u062f\u06cc \u0634\u0645\u0627 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc Certbot \u062a\u0648\u0635\u06cc\u0647\u200c\u0634\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 nginx-conf\/options-ssl-nginx.conf \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f.<\/p>\n<p>\u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u0628\u0631\u062e\u06cc \u0627\u0632 \u0633\u0631\u0641\u0635\u0644\u200c\u0647\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u06cc \u06af\u0646\u062c\u0627\u0646\u062f\u0647 \u0634\u062f\u0647\u200c\u0627\u0646\u062f \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f \u062f\u0631 \u0645\u0648\u0627\u0631\u062f\u06cc \u0645\u0627\u0646\u0646\u062f \u0633\u0627\u06cc\u062a\u200c\u0647\u0627\u06cc \u062a\u0633\u062a \u0633\u0631\u0648\u0631 SSL Labs \u0648 Security Headers \u0631\u062a\u0628\u0647\u200c\u0628\u0646\u062f\u06cc A \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u0647\u062f\u0631\u0647\u0627 \u0639\u0628\u0627\u0631\u062a\u0646\u062f \u0627\u0632 X-Frame-Options\u060c X-Content-Type-Options\u060c Referrer Policy\u060c Content-Security-Policy \u0648 X-XSS-Protection. \u0633\u0631\u0635\u0641\u062d\u0647 \u0627\u0645\u0646\u06cc\u062a \u062d\u0645\u0644 \u0648 \u0646\u0642\u0644 \u0633\u062e\u062a HTTP (HSTS) \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a &#8211; \u0627\u06cc\u0646 \u0631\u0627 \u0641\u0642\u0637 \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u0641\u0627\u0647\u06cc\u0645 \u0631\u0627 \u062f\u0631\u06a9 \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f \u0648 \u0639\u0645\u0644\u06a9\u0631\u062f &#8220;\u067e\u06cc\u0634 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc&#8221; \u0622\u0646 \u0631\u0627 \u0627\u0631\u0632\u06cc\u0627\u0628\u06cc \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n<p>\u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644\u200c\u0647\u0627\u06cc \u0631\u06cc\u0634\u0647 \u0648 \u0641\u0647\u0631\u0633\u062a \u0634\u0645\u0627 \u0646\u06cc\u0632 \u062f\u0631 \u0627\u06cc\u0646 \u0628\u0644\u0648\u06a9 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u0646\u062f\u060c \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0628\u0642\u06cc\u0647 \u0628\u0644\u0648\u06a9\u200c\u0647\u0627\u06cc \u0645\u06a9\u0627\u0646 \u0645\u062e\u0635\u0648\u0635 \u0648\u0631\u062f\u067e\u0631\u0633 \u06a9\u0647 \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 1 \u0645\u0648\u0631\u062f \u0628\u062d\u062b \u0642\u0631\u0627\u0631 \u06af\u0631\u0641\u062a\u0647\u200c\u0627\u0646\u062f.\u067e\u0633 \u0627\u0632 \u0627\u062a\u0645\u0627\u0645 \u0648\u06cc\u0631\u0627\u06cc\u0634\u060c \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0628\u0646\u062f\u06cc\u062f.<\/p>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u062c\u0627\u062f \u0645\u062c\u062f\u062f \u0633\u0631\u0648\u06cc\u0633 \u0648\u0628 \u0633\u0631\u0648\u0631\u060c \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u0646\u0642\u0634\u0647 443 \u067e\u0648\u0631\u062a \u0631\u0627 \u0628\u0647 \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 \u0648\u0628 \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0641\u0627\u06cc\u0644 docker-compose.yml \u062e\u0648\u062f \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>nano docker-compose.yml<\/code><\/pre>\n<\/div>\n<p>\u062f\u0631 \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 \u0648\u0628 \u0633\u0631\u0648\u0631\u060c \u0646\u06af\u0627\u0634\u062a \u067e\u0648\u0631\u062a \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>...\r\nwebserver:\r\ndepends_on:\r\n- wordpress\r\nimage: nginx:1.15.12-alpine\r\ncontainer_name: webserver\r\nrestart: unless-stopped\r\nports:\r\n- \"80:80\"\r\n- \"443:443\"\r\nvolumes:\r\n- wordpress:\/var\/www\/html\r\n- .\/nginx-conf:\/etc\/nginx\/conf.d\r\n- certbot-etc:\/etc\/letsencrypt\r\nnetworks:\r\n- app-network<\/code><\/pre>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0641\u0627\u06cc\u0644 \u06a9\u0627\u0645\u0644 docker-compose.yml \u067e\u0633 \u0627\u0632 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u0627\u0633\u062a:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code><\/pre>\n<pre class=\"language-yaml\"><code><span class=\"token key atrule\">version<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">'3'<\/span>\r\n\r\n<span class=\"token key atrule\">services<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">db<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">image<\/span><span class=\"token punctuation\">:<\/span> mysql<span class=\"token punctuation\">:<\/span><span class=\"token number\">8.0<\/span>\r\n    <span class=\"token key atrule\">container_name<\/span><span class=\"token punctuation\">:<\/span> db\r\n    <span class=\"token key atrule\">restart<\/span><span class=\"token punctuation\">:<\/span> unless<span class=\"token punctuation\">-<\/span>stopped\r\n    <span class=\"token key atrule\">env_file<\/span><span class=\"token punctuation\">:<\/span> .env\r\n    <span class=\"token key atrule\">environment<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> MYSQL_DATABASE=wordpress\r\n    <span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> dbdata<span class=\"token punctuation\">:<\/span>\/var\/lib\/mysql\r\n    <span class=\"token key atrule\">command<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">'--default-authentication-plugin=mysql_native_password'<\/span>\r\n    <span class=\"token key atrule\">networks<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> app<span class=\"token punctuation\">-<\/span>network\r\n\r\n  <span class=\"token key atrule\">wordpress<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">depends_on<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> db\r\n    <span class=\"token key atrule\">image<\/span><span class=\"token punctuation\">:<\/span> wordpress<span class=\"token punctuation\">:<\/span>5.1.1<span class=\"token punctuation\">-<\/span>fpm<span class=\"token punctuation\">-<\/span>alpine\r\n    <span class=\"token key atrule\">container_name<\/span><span class=\"token punctuation\">:<\/span> wordpress\r\n    <span class=\"token key atrule\">restart<\/span><span class=\"token punctuation\">:<\/span> unless<span class=\"token punctuation\">-<\/span>stopped\r\n    <span class=\"token key atrule\">env_file<\/span><span class=\"token punctuation\">:<\/span> .env\r\n    <span class=\"token key atrule\">environment<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> WORDPRESS_DB_HOST=db<span class=\"token punctuation\">:<\/span><span class=\"token number\">3306<\/span>\r\n      <span class=\"token punctuation\">-<\/span> WORDPRESS_DB_USER=$MYSQL_USER\r\n      <span class=\"token punctuation\">-<\/span> WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD\r\n      <span class=\"token punctuation\">-<\/span> WORDPRESS_DB_NAME=wordpress\r\n    <span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> wordpress<span class=\"token punctuation\">:<\/span>\/var\/www\/html\r\n    <span class=\"token key atrule\">networks<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> app<span class=\"token punctuation\">-<\/span>network\r\n\r\n  <span class=\"token key atrule\">webserver<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">depends_on<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> wordpress\r\n    <span class=\"token key atrule\">image<\/span><span class=\"token punctuation\">:<\/span> nginx<span class=\"token punctuation\">:<\/span>1.15.12<span class=\"token punctuation\">-<\/span>alpine\r\n    <span class=\"token key atrule\">container_name<\/span><span class=\"token punctuation\">:<\/span> webserver\r\n    <span class=\"token key atrule\">restart<\/span><span class=\"token punctuation\">:<\/span> unless<span class=\"token punctuation\">-<\/span>stopped\r\n    <span class=\"token key atrule\">ports<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> <span class=\"token string\">\"80:80\"<\/span>\r\n      <span class=\"token punctuation\">-<\/span> <span class=\"token string\">\"443:443\"<\/span>\r\n    <span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> wordpress<span class=\"token punctuation\">:<\/span>\/var\/www\/html\r\n      <span class=\"token punctuation\">-<\/span> .\/nginx<span class=\"token punctuation\">-<\/span>conf<span class=\"token punctuation\">:<\/span>\/etc\/nginx\/conf.d\r\n      <span class=\"token punctuation\">-<\/span> certbot<span class=\"token punctuation\">-<\/span>etc<span class=\"token punctuation\">:<\/span>\/etc\/letsencrypt\r\n    <span class=\"token key atrule\">networks<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> app<span class=\"token punctuation\">-<\/span>network\r\n\r\n  <span class=\"token key atrule\">certbot<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">depends_on<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> webserver\r\n    <span class=\"token key atrule\">image<\/span><span class=\"token punctuation\">:<\/span> certbot\/certbot\r\n    <span class=\"token key atrule\">container_name<\/span><span class=\"token punctuation\">:<\/span> certbot\r\n    <span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n      <span class=\"token punctuation\">-<\/span> certbot<span class=\"token punctuation\">-<\/span>etc<span class=\"token punctuation\">:<\/span>\/etc\/letsencrypt\r\n      <span class=\"token punctuation\">-<\/span> wordpress<span class=\"token punctuation\">:<\/span>\/var\/www\/html\r\n    <span class=\"token key atrule\">command<\/span><span class=\"token punctuation\">:<\/span> certonly <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>webroot <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>webroot<span class=\"token punctuation\">-<\/span>path=\/var\/www\/html <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>email <mark>sammy@your_domain<\/mark> <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>agree<span class=\"token punctuation\">-<\/span>tos <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>no<span class=\"token punctuation\">-<\/span>eff<span class=\"token punctuation\">-<\/span>email <span class=\"token punctuation\">-<\/span><span class=\"token punctuation\">-<\/span>force<span class=\"token punctuation\">-<\/span>renewal <span class=\"token punctuation\">-<\/span>d <mark>your_domain<\/mark> <span class=\"token punctuation\">-<\/span>d www.<mark>your_domain<\/mark>\r\n\r\n<span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">certbot-etc<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">wordpress<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">dbdata<\/span><span class=\"token punctuation\">:<\/span>\r\n\r\n<span class=\"token key atrule\">networks<\/span><span class=\"token punctuation\">:<\/span>\r\n  <span class=\"token key atrule\">app-network<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token key atrule\">driver<\/span><span class=\"token punctuation\">:<\/span> bridge<\/code><code><\/code><\/pre>\n<\/div>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u062a\u0645\u0627\u0645 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0628\u0646\u062f\u06cc\u062f.<\/p>\n<p>\u0633\u0631\u0648\u06cc\u0633 \u0648\u0628 \u0633\u0631\u0648\u0631 \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker-compose up -d --force-recreate --no-deps webserver<\/code><\/pre>\n<\/div>\n<p>\u062e\u062f\u0645\u0627\u062a \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 docker-compose ps \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker-compose ps<\/code><\/pre>\n<\/div>\n<p>\u062e\u0631\u0648\u062c\u06cc \u0628\u0627\u06cc\u062f \u0646\u0634\u0627\u0646 \u062f\u0647\u062f \u06a9\u0647 \u062e\u062f\u0645\u0627\u062a db\u060c wordpress \u0648 \u0648\u0628 \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0647\u0633\u062a\u0646\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>Output\r\nName Command State Ports\r\n----------------------------------------------------------------------------------------------\r\ncertbot certbot certonly --webroot ... Exit 0\r\ndb docker-entrypoint.sh --def ... Up 3306\/tcp, 33060\/tcp\r\nwebserver nginx -g daemon off; Up 0.0.0.0:443-&gt;443\/tcp, 0.0.0.0:80-&gt;80\/tcp\r\nwordpress docker-entrypoint.sh php-fpm Up 9000\/tcp<\/code><\/pre>\n<\/div>\n<p>\u0628\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0628\u0648\u062f\u0646 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u062e\u0648\u062f \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0631\u0627\u0628\u0637 \u0648\u0628 \u06a9\u0627\u0645\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-6-%d8%aa%da%a9%d9%85%db%8c%d9%84-%d9%86%d8%b5%d8%a8-%d8%a7%d8%b2-%d8%b7%d8%b1%db%8c%d9%82-%d8%b1%d8%a7%d8%a8%d8%b7-%d9%88%d8%a8\">\u0645\u0631\u062d\u0644\u0647 6 &#8211; \u062a\u06a9\u0645\u06cc\u0644 \u0646\u0635\u0628 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0631\u0627\u0628\u0637 \u0648\u0628<\/h2>\n<p>\u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u0638\u0631\u0648\u0641 \u0634\u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0627\u0633\u062a\u060c \u0646\u0635\u0628 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0631\u0627\u0628\u0637 \u0648\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0628\u0631\u0633\u0627\u0646\u06cc\u062f.<\/p>\n<p>\u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631 \u0648\u0628 \u062e\u0648\u062f\u060c \u0628\u0647 \u062f\u0627\u0645\u0646\u0647 \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0628\u0631\u0648\u06cc\u062f. \u0641\u0631\u0627\u0645\u0648\u0634 \u0646\u06a9\u0646\u06cc\u062f \u06a9\u0647 your_domain \u0631\u0627 \u0628\u0627 \u0646\u0627\u0645 \u062f\u0627\u0645\u0646\u0647 \u062e\u0648\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>https:\/\/your_domain<\/code><\/pre>\n<\/div>\n<p>\u0632\u0628\u0627\u0646\u06cc \u0631\u0627 \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"1146\"  height=\"1482\"  class=\"aligncenter wp-image-14664 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 1146px) 100vw, 1146px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/01\/31122503\/wp_language_select.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/01\/31122503\/wp_language_select.png 1146w, https:\/\/cdn.itpiran.net\/2024\/01\/31122503\/wp_language_select-232x300.png 232w, https:\/\/cdn.itpiran.net\/2024\/01\/31122503\/wp_language_select-792x1024.png 792w, https:\/\/cdn.itpiran.net\/2024\/01\/31122503\/wp_language_select-768x993.png 768w, https:\/\/cdn.itpiran.net\/2024\/01\/31122503\/wp_language_select-110x142.png 110w, https:\/\/cdn.itpiran.net\/2024\/01\/31122503\/wp_language_select-200x259.png 200w, https:\/\/cdn.itpiran.net\/2024\/01\/31122503\/wp_language_select-380x491.png 380w, https:\/\/cdn.itpiran.net\/2024\/01\/31122503\/wp_language_select-255x330.png 255w, https:\/\/cdn.itpiran.net\/2024\/01\/31122503\/wp_language_select-300x388.png 300w, https:\/\/cdn.itpiran.net\/2024\/01\/31122503\/wp_language_select-550x711.png 550w, https:\/\/cdn.itpiran.net\/2024\/01\/31122503\/wp_language_select-800x1035.png 800w\" ><br \/>\n\u067e\u0633 \u0627\u0632 \u06a9\u0644\u06cc\u06a9 \u0628\u0631 \u0631\u0648\u06cc Continue\u060c \u062f\u0631 \u0635\u0641\u062d\u0647 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0627\u0635\u0644\u06cc \u0642\u0631\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u06cc\u062f\u060c \u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u0646\u0627\u0645 \u0628\u0631\u0627\u06cc \u0633\u0627\u06cc\u062a \u062e\u0648\u062f \u0648 \u06cc\u06a9 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u062f\u0647 \u062e\u0648\u0628\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0628\u0647 \u06cc\u0627\u062f \u0645\u0627\u0646\u062f\u0646\u06cc (\u0628\u0647 \u062c\u0627\u06cc \u201cadmin\u201d) \u0648 \u06cc\u06a9 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0642\u0648\u06cc \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f. \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631\u06cc \u06a9\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0647 \u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc \u06a9\u0646\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u0628\u0627\u06cc\u062f \u0622\u062f\u0631\u0633 \u0627\u06cc\u0645\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f \u0648 \u062a\u0635\u0645\u06cc\u0645 \u0628\u06af\u06cc\u0631\u06cc\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0645\u0648\u062a\u0648\u0631\u0647\u0627\u06cc \u062c\u0633\u062a\u062c\u0648 \u0631\u0627 \u0627\u0632 \u0641\u0647\u0631\u0633\u062a \u06a9\u0631\u062f\u0646 \u0633\u0627\u06cc\u062a \u062e\u0648\u062f \u0645\u0646\u0635\u0631\u0641 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u062e\u06cc\u0631:<\/p>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"1810\"  height=\"1504\"  class=\"aligncenter wp-image-14665 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 1810px) 100vw, 1810px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/01\/31122837\/wp_main_setup.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/01\/31122837\/wp_main_setup.png 1810w, https:\/\/cdn.itpiran.net\/2024\/01\/31122837\/wp_main_setup-300x249.png 300w, https:\/\/cdn.itpiran.net\/2024\/01\/31122837\/wp_main_setup-1024x851.png 1024w, https:\/\/cdn.itpiran.net\/2024\/01\/31122837\/wp_main_setup-768x638.png 768w, https:\/\/cdn.itpiran.net\/2024\/01\/31122837\/wp_main_setup-1536x1276.png 1536w, https:\/\/cdn.itpiran.net\/2024\/01\/31122837\/wp_main_setup-110x91.png 110w, https:\/\/cdn.itpiran.net\/2024\/01\/31122837\/wp_main_setup-200x166.png 200w, https:\/\/cdn.itpiran.net\/2024\/01\/31122837\/wp_main_setup-380x316.png 380w, https:\/\/cdn.itpiran.net\/2024\/01\/31122837\/wp_main_setup-255x212.png 255w, https:\/\/cdn.itpiran.net\/2024\/01\/31122837\/wp_main_setup-550x457.png 550w, https:\/\/cdn.itpiran.net\/2024\/01\/31122837\/wp_main_setup-800x665.png 800w, https:\/\/cdn.itpiran.net\/2024\/01\/31122837\/wp_main_setup-1160x964.png 1160w\" ><br \/>\n\u0628\u0627 \u06a9\u0644\u06cc\u06a9 \u0628\u0631 \u0631\u0648\u06cc Install WordPress \u062f\u0631 \u067e\u0627\u06cc\u06cc\u0646 \u0635\u0641\u062d\u0647\u060c \u0628\u0647 \u06cc\u06a9 \u0627\u0639\u0644\u0627\u0646 \u0648\u0631\u0648\u062f \u0647\u062f\u0627\u06cc\u062a \u0645\u06cc \u0634\u0648\u06cc\u062f:<\/p>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"1766\"  height=\"1002\"  class=\"aligncenter wp-image-14666 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 1766px) 100vw, 1766px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/01\/31123016\/wp_login.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/01\/31123016\/wp_login.png 1766w, https:\/\/cdn.itpiran.net\/2024\/01\/31123016\/wp_login-300x170.png 300w, https:\/\/cdn.itpiran.net\/2024\/01\/31123016\/wp_login-1024x581.png 1024w, https:\/\/cdn.itpiran.net\/2024\/01\/31123016\/wp_login-768x436.png 768w, https:\/\/cdn.itpiran.net\/2024\/01\/31123016\/wp_login-1536x872.png 1536w, https:\/\/cdn.itpiran.net\/2024\/01\/31123016\/wp_login-110x62.png 110w, https:\/\/cdn.itpiran.net\/2024\/01\/31123016\/wp_login-200x113.png 200w, https:\/\/cdn.itpiran.net\/2024\/01\/31123016\/wp_login-380x216.png 380w, https:\/\/cdn.itpiran.net\/2024\/01\/31123016\/wp_login-255x145.png 255w, https:\/\/cdn.itpiran.net\/2024\/01\/31123016\/wp_login-550x312.png 550w, https:\/\/cdn.itpiran.net\/2024\/01\/31123016\/wp_login-800x454.png 800w, https:\/\/cdn.itpiran.net\/2024\/01\/31123016\/wp_login-1160x658.png 1160w\" ><br \/>\n\u067e\u0633 \u0627\u0632 \u0648\u0631\u0648\u062f \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645\u060c \u0628\u0647 \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0631\u062f\u067e\u0631\u0633 \u062f\u0633\u062a\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a:<\/p>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"2870\"  height=\"1502\"  class=\"aligncenter wp-image-14667 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 2870px) 100vw, 2870px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash.png 2870w, https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash-300x157.png 300w, https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash-1024x536.png 1024w, https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash-768x402.png 768w, https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash-1536x804.png 1536w, https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash-2048x1072.png 2048w, https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash-110x58.png 110w, https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash-200x105.png 200w, https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash-380x199.png 380w, https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash-255x133.png 255w, https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash-550x288.png 550w, https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash-800x419.png 800w, https:\/\/cdn.itpiran.net\/2024\/01\/31123147\/wp_main_dash-1160x607.png 1160w\" ><br \/>\n\u0628\u0627 \u062a\u06a9\u0645\u06cc\u0644 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0642\u062f\u0627\u0645\u0627\u062a\u06cc \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f \u062a\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u0634\u0648\u062f \u06a9\u0647 \u06af\u0648\u0627\u0647\u06cc\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc SSL \u0634\u0645\u0627 \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u062a\u0645\u062f\u06cc\u062f \u0645\u06cc \u0634\u0648\u0646\u062f.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-7-%d8%aa%d9%85%d8%af%db%8c%d8%af-%da%af%d9%88%d8%a7%d9%87%db%8c%d9%86%d8%a7%d9%85%d9%87-%d9%87%d8%a7\">\u0645\u0631\u062d\u0644\u0647 7 &#8211; \u062a\u0645\u062f\u06cc\u062f \u06af\u0648\u0627\u0647\u06cc\u0646\u0627\u0645\u0647 \u0647\u0627<\/h2>\n<p>\u06af\u0648\u0627\u0647\u06cc\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc Let\u2019s Encrypt \u0628\u0647 \u0645\u062f\u062a 90 \u0631\u0648\u0632 \u0645\u0639\u062a\u0628\u0631 \u0647\u0633\u062a\u0646\u062f. \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 \u0641\u0631\u0622\u06cc\u0646\u062f \u062a\u0645\u062f\u06cc\u062f \u062e\u0648\u062f\u06a9\u0627\u0631 \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u0646\u0647\u0627 \u0627\u0632 \u0628\u06cc\u0646 \u0646\u0645\u06cc \u0631\u0648\u0646\u062f. \u06cc\u06a9\u06cc \u0627\u0632 \u0631\u0627\u0647\u200c\u0647\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0627\u06cc\u062c\u0627\u062f \u0634\u063a\u0644 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0632\u0645\u0627\u0646\u200c\u0628\u0646\u062f\u06cc cron \u0627\u0633\u062a. \u062f\u0631 \u0645\u062b\u0627\u0644 \u0632\u06cc\u0631\u060c \u06cc\u06a9 \u06a9\u0627\u0631 cron \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062f\u0648\u0631\u0647\u200c\u0627\u06cc \u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u06a9\u0647 \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u0634\u0645\u0627 \u0631\u0627 \u062a\u0645\u062f\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Nginx \u0634\u0645\u0627 \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<p>\u0627\u0628\u062a\u062f\u0627 \u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0628\u0647 \u0646\u0627\u0645 ssl_renew.sh \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>nano ssl_renew.sh<\/code><\/pre>\n<\/div>\n<p>\u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u06af\u0648\u0627\u0647\u06cc\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u062a\u0645\u062f\u06cc\u062f \u06a9\u0646\u06cc\u062f \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0648\u0628 \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u06a9\u0646\u06cc\u062f. \u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0645\u062b\u0627\u0644\u06cc \u0631\u0627 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0627 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u063a\u06cc\u0631 \u0631\u06cc\u0634\u0647 \u062e\u0648\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code><\/pre>\n<pre class=\"language-bash\"><code><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\n\r\n<span class=\"token assign-left variable\">COMPOSE<\/span><span class=\"token operator\">=<\/span><span class=\"token string\">\"\/usr\/local\/bin\/docker-compose --no-ansi\"<\/span>\r\n<span class=\"token assign-left variable\">DOCKER<\/span><span class=\"token operator\">=<\/span><span class=\"token string\">\"\/usr\/bin\/docker\"<\/span>\r\n\r\n<span class=\"token builtin class-name\">cd<\/span> \/home\/<mark>sammy<\/mark>\/wordpress\/\r\n<span class=\"token variable\">$COMPOSE<\/span> run certbot renew --dry-run <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token variable\">$COMPOSE<\/span> <span class=\"token function\">kill<\/span> <span class=\"token parameter variable\">-s<\/span> SIGHUP webserver\r\n<span class=\"token variable\">$DOCKER<\/span> system prune <span class=\"token parameter variable\">-af<\/span><\/code><code><\/code><\/pre>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u0646\u0631\u06cc docker-compose \u0631\u0627 \u0628\u0647 \u0645\u062a\u063a\u06cc\u0631\u06cc \u0628\u0647 \u0646\u0627\u0645 COMPOSE \u0627\u062e\u062a\u0635\u0627\u0635 \u0645\u06cc \u062f\u0647\u062f \u0648 \u06af\u0632\u06cc\u0646\u0647 &#8211;no-ansi \u0631\u0627 \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u062f\u0633\u062a\u0648\u0631\u0627\u062a docker-compose \u0631\u0627 \u0628\u062f\u0648\u0646 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631\u0647\u0627\u06cc \u06a9\u0646\u062a\u0631\u0644 ANSI \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f. \u0633\u067e\u0633 \u0647\u0645\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0627 \u062f\u0627\u06a9\u0631 \u0628\u0627\u06cc\u0646\u0631\u06cc \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f. \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u0628\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u067e\u0631\u0648\u0698\u0647 ~\/wordpress \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u062f\u0633\u062a\u0648\u0631\u0627\u062a docker-compose \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f:<\/p>\n<ul>\n<li>\u00a0<code>docker-compose<\/code>: \u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u06cc\u06a9 \u0638\u0631\u0641 certbot \u0634\u0631\u0648\u0639 \u0645\u06cc \u0634\u0648\u062f \u0648 \u062f\u0633\u062a\u0648\u0631 \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u062f\u0631 \u062a\u0639\u0631\u06cc\u0641 \u0633\u0631\u0648\u06cc\u0633 certbot \u0634\u0645\u0627 \u0644\u063a\u0648 \u0645\u06cc \u0634\u0648\u062f. \u0628\u0647 \u062c\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0641\u0631\u0639\u06cc certonly\u060c \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0641\u0631\u0639\u06cc renew \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u06af\u0648\u0627\u0647\u06cc \u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u0646\u0632\u062f\u06cc\u06a9 \u0628\u0647 \u0627\u0646\u0642\u0636\u0627 \u0647\u0633\u062a\u0646\u062f \u062a\u0645\u062f\u06cc\u062f \u0645\u06cc \u06a9\u0646\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u0634\u0627\u0645\u0644 \u06af\u0632\u06cc\u0646\u0647 &#8211;dry-run \u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0634\u0645\u0627 \u0645\u06cc \u0628\u0627\u0634\u062f.<\/li>\n<li><code>docker-compose kill<\/code>: \u0627\u06cc\u0646 \u06cc\u06a9 \u0633\u06cc\u06af\u0646\u0627\u0644 SIGHUP \u0631\u0627 \u0628\u0647 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0648\u0628 \u0633\u0631\u0648\u0631 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Nginx \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u06a9\u0646\u062f.<\/li>\n<\/ul>\n<p>\u0633\u067e\u0633 \u0633\u06cc\u0633\u062a\u0645 docker prune \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u062a\u0645\u0627\u0645 \u06a9\u0627\u0646\u062a\u0627\u06cc\u0646\u0631 \u0648 \u062a\u0635\u0627\u0648\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u0634\u062f\u0647 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u062f.<\/p>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u062a\u0645\u0627\u0645 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0628\u0628\u0646\u062f\u06cc\u062f. \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0622\u0646 \u0631\u0627 \u0642\u0627\u0628\u0644 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>chmod +x ssl_renew.sh<\/code><\/pre>\n<\/div>\n<p>\u0633\u067e\u0633\u060c \u0641\u0627\u06cc\u0644 crontab root \u062e\u0648\u062f \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u062a\u0645\u062f\u06cc\u062f \u062f\u0631 \u06cc\u06a9 \u0628\u0627\u0632\u0647 \u0632\u0645\u0627\u0646\u06cc \u0645\u0634\u062e\u0635 \u0627\u062c\u0631\u0627 \u0634\u0648\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>sudo crontab -e<\/code><\/pre>\n<\/div>\n<p>\u0627\u06af\u0631 \u0627\u06cc\u0646 \u0627\u0648\u0644\u06cc\u0646 \u0628\u0627\u0631 \u0627\u0633\u062a \u06a9\u0647 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0627\u0632 \u0634\u0645\u0627 \u062e\u0648\u0627\u0633\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f \u06cc\u06a9 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<div class=\"secondary-code-label\" title=\"Output\"><\/div>\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code>Output<\/pre>\n<pre class=\"\"><code>no crontab for root - using an empty one\r\n\r\nSelect an editor.  To change later, run 'select-editor'.\r\n  1. \/bin\/nano        &lt;---- easiest\r\n  2. \/usr\/bin\/vim.basic\r\n  3. \/usr\/bin\/vim.tiny\r\n  4. \/bin\/ed\r\n\r\nChoose 1-4 [1]:\r\n...<\/code><code><\/code><\/pre>\n<\/div>\n<p>\u062f\u0631 \u0627\u0646\u062a\u0647\u0627\u06cc \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644\u060c \u062e\u0637 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>...\r\n*\/5 * * * * \/home\/sammy\/wordpress\/ssl_renew.sh &gt;&gt; \/var\/log\/cron.log 2&gt;&amp;1<\/code><\/pre>\n<\/div>\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0641\u0627\u0635\u0644\u0647 \u06a9\u0627\u0631 \u0631\u0648\u06cc \u0647\u0631 \u067e\u0646\u062c \u062f\u0642\u06cc\u0642\u0647 \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u062a\u0645\u062f\u06cc\u062f \u0634\u0645\u0627 \u0645\u0637\u0627\u0628\u0642 \u062e\u0648\u0627\u0633\u062a\u0647\u200c\u062a\u0627\u0646 \u0639\u0645\u0644 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631. \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u06af\u0632\u0627\u0631\u0634\u060c cron.log\u060c \u0628\u0631\u0627\u06cc \u0636\u0628\u0637 \u062e\u0631\u0648\u062c\u06cc \u0645\u0631\u0628\u0648\u0637\u0647 \u0627\u0632 \u06a9\u0627\u0631 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>\u067e\u0633 \u0627\u0632 \u067e\u0646\u062c \u062f\u0642\u06cc\u0642\u0647\u060c cron.log \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u062a\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u062a\u0645\u062f\u06cc\u062f \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u0645\u06cc\u0632 \u0628\u0648\u062f\u0647 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>tail -f \/var\/log\/cron.log<\/code><\/pre>\n<\/div>\n<p>\u062e\u0631\u0648\u062c\u06cc \u0632\u06cc\u0631 \u062a\u0645\u062f\u06cc\u062f \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u0645\u06cc\u0632 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u0645\u06cc \u06a9\u0646\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<div class=\"secondary-code-label\" title=\"Output\"><\/div>\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code>Output<\/pre>\n<pre class=\"\"><code>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\r\n** DRY RUN: simulating 'certbot renew' close to cert expiry\r\n**          (The test certificates below have not been saved.)\r\n\r\nCongratulations, all renewals succeeded. The following certs have been renewed:\r\n  \/etc\/letsencrypt\/live\/<mark>your_domain<\/mark>\/fullchain.pem (success)\r\n** DRY RUN: simulating 'certbot renew' close to cert expiry\r\n**          (The test certificates above have not been saved.)\r\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<\/code><code><\/code><\/pre>\n<\/div>\n<p>\u0628\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 CTRL+C \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u062e\u0648\u062f \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f.<\/p>\n<p>\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0641\u0627\u06cc\u0644 crontab \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0646\u0638\u06cc\u0645 \u06cc\u06a9 \u0628\u0627\u0632\u0647 \u0631\u0648\u0632\u0627\u0646\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0647\u0631 \u0631\u0648\u0632 \u062f\u0631 \u0638\u0647\u0631\u060c \u0622\u062e\u0631\u06cc\u0646 \u062e\u0637 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0645\u0627\u0646\u0646\u062f \u0632\u06cc\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>...\r\n0 12 * * * \/home\/sammy\/wordpress\/ssl_renew.sh &gt;&gt; \/var\/log\/cron.log 2&gt;&amp;1<\/code><\/pre>\n<\/div>\n<p>\u0634\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u06af\u0632\u06cc\u0646\u0647 &#8211;dry-run \u0631\u0627 \u0627\u0632 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a ssl_renew.sh \u062e\u0648\u062f \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code><\/code><\/pre>\n<pre class=\"language-bash\"><code><span class=\"token shebang important\">#!\/bin\/bash<\/span>\r\n\r\n<span class=\"token assign-left variable\">COMPOSE<\/span><span class=\"token operator\">=<\/span><span class=\"token string\">\"\/usr\/local\/bin\/docker-compose --no-ansi\"<\/span>\r\n<span class=\"token assign-left variable\">DOCKER<\/span><span class=\"token operator\">=<\/span><span class=\"token string\">\"\/usr\/bin\/docker\"<\/span>\r\n\r\n<span class=\"token builtin class-name\">cd<\/span> \/home\/<mark>sammy<\/mark>\/wordpress\/\r\n<span class=\"token variable\">$COMPOSE<\/span> run certbot renew <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token variable\">$COMPOSE<\/span> <span class=\"token function\">kill<\/span> <span class=\"token parameter variable\">-s<\/span> SIGHUP webserver\r\n<span class=\"token variable\">$DOCKER<\/span> system prune <span class=\"token parameter variable\">-af<\/span><\/code><code><\/code><\/pre>\n<\/div>\n<p>\u06a9\u0627\u0631 cron \u0634\u0645\u0627 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc Let\u2019s Encrypt \u0634\u0645\u0627 \u0628\u0627 \u062a\u0645\u062f\u06cc\u062f \u0622\u0646\u0647\u0627 \u062f\u0631 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0648\u0627\u062c\u062f \u0634\u0631\u0627\u06cc\u0637 \u0647\u0633\u062a\u0646\u062f\u060c \u0627\u0632 \u0628\u06cc\u0646 \u0646\u0645\u06cc\u200c\u0631\u0648\u0646\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0686\u0631\u062e\u0634 log \u0631\u0627 \u0628\u0627 \u0627\u0628\u0632\u0627\u0631 Logrotate \u062f\u0631 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 22.04 \/ 20.04 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u06af\u0632\u0627\u0631\u0634 \u062e\u0648\u062f \u0631\u0627 \u0628\u0686\u0631\u062e\u0627\u0646\u06cc\u062f \u0648 \u0641\u0634\u0631\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<h2 id=\"%d9%86%d8%aa%db%8c%d8%ac%d9%87\">\u0646\u062a\u06cc\u062c\u0647<\/h2>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0627\u0632 Docker Compose \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0627 \u0648\u0628 \u0633\u0631\u0648\u0631 Nginx \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u06cc\u062f. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0628\u062e\u0634\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631\u060c \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc TLS\/SSL \u0631\u0627 \u0628\u0631\u0627\u06cc \u062f\u0627\u0645\u0646\u0647\u200c\u0627\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0627 \u0633\u0627\u06cc\u062a \u0648\u0631\u062f\u067e\u0631\u0633 \u062e\u0648\u062f \u0645\u0631\u062a\u0628\u0637 \u06a9\u0646\u06cc\u062f\u060c \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u06cc\u062f. \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u06cc\u06a9 \u06a9\u0627\u0631 cron \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u06cc\u062f \u062a\u0627 \u062f\u0631 \u0635\u0648\u0631\u062a \u0644\u0632\u0648\u0645 \u0627\u06cc\u0646 \u06af\u0648\u0627\u0647\u06cc \u0647\u0627 \u0631\u0627 \u062a\u0645\u062f\u06cc\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n","protected":false},"excerpt":{"rendered":"\u0645\u0642\u062f\u0645\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u062d\u062a\u0648\u0627 (CMS) \u0631\u0627\u06cc\u06af\u0627\u0646 \u0648 \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631 \u0631\u0648\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 MySQL&hellip;\n","protected":false},"author":1,"featured_media":14663,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0635\u0628 Wordpress \u0628\u0627 Docker","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_yoast_wpseo_canonical":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_opengraph-image":"","_yoast_wpseo_twitter-description":"","_yoast_wpseo_twitter-image":"","_yoast_wpseo_focuskeywords":"","_yoast_wpseo_primary_category":"193","footnotes":""},"categories":[193,248],"tags":[346,246],"class_list":{"0":"post-14662","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tutorials","8":"category-wordpress","9":"tag-docker","10":"tag-wordpress"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0627 Docker - \u0628\u0644\u0627\u06af ITPiran<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/\" \/>\n<meta property=\"og:locale\" content=\"fa_IR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0627 Docker - \u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"og:description\" content=\"\u0645\u0642\u062f\u0645\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u062d\u062a\u0648\u0627 (CMS) \u0631\u0627\u06cc\u06af\u0627\u0646 \u0648 \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631 \u0631\u0648\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 MySQL&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-31T09:21:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.itpiran.net\/2024\/01\/31102148\/woedpress-installDocker.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1793\" \/>\n\t<meta property=\"og:image:height\" content=\"1110\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 \u062f\u0642\u06cc\u0642\u0647\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\"},\"headline\":\"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0627 Docker\",\"datePublished\":\"2024-01-31T09:21:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\\\/\"},\"wordCount\":449,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/01\\\/31102148\\\/woedpress-installDocker.jpg\",\"keywords\":[\"Docker\",\"wordpress\"],\"articleSection\":[\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"\u0648\u0631\u062f\u067e\u0631\u0633\"],\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\\\/\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\\\/\",\"name\":\"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0627 Docker - \u0628\u0644\u0627\u06af ITPiran\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/01\\\/31102148\\\/woedpress-installDocker.jpg\",\"datePublished\":\"2024-01-31T09:21:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\\\/#breadcrumb\"},\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/01\\\/31102148\\\/woedpress-installDocker.jpg\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/01\\\/31102148\\\/woedpress-installDocker.jpg\",\"width\":1793,\"height\":1110},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/category\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0627 Docker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"name\":\"\u0628\u0644\u0627\u06af ITPiran\",\"description\":\"\u0627\u062e\u0628\u0627\u0631 \u0648 \u0645\u0642\u0627\u0644\u0627\u062a \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fa-IR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\",\"name\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"alternateName\":\"ITPIran Blog\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"width\":512,\"height\":512,\"caption\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\",\"name\":\"admin\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0627 Docker - \u0628\u0644\u0627\u06af ITPiran","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/","og_locale":"fa_IR","og_type":"article","og_title":"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0627 Docker - \u0628\u0644\u0627\u06af ITPiran","og_description":"\u0645\u0642\u062f\u0645\u0647 \u0648\u0631\u062f\u067e\u0631\u0633 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u062d\u062a\u0648\u0627 (CMS) \u0631\u0627\u06cc\u06af\u0627\u0646 \u0648 \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631 \u0631\u0648\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 MySQL&hellip;","og_url":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/","og_site_name":"\u0628\u0644\u0627\u06af ITPiran","article_published_time":"2024-01-31T09:21:51+00:00","og_image":[{"width":1793,"height":1110,"url":"https:\/\/cdn.itpiran.net\/2024\/01\/31102148\/woedpress-installDocker.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a":"admin","\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646":"11 \u062f\u0642\u06cc\u0642\u0647"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/#article","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/"},"author":{"name":"admin","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81"},"headline":"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0627 Docker","datePublished":"2024-01-31T09:21:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/"},"wordCount":449,"commentCount":0,"publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/01\/31102148\/woedpress-installDocker.jpg","keywords":["Docker","wordpress"],"articleSection":["\u0622\u0645\u0648\u0632\u0634\u06cc","\u0648\u0631\u062f\u067e\u0631\u0633"],"inLanguage":"fa-IR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/","url":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/","name":"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0627 Docker - \u0628\u0644\u0627\u06af ITPiran","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/#primaryimage"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/01\/31102148\/woedpress-installDocker.jpg","datePublished":"2024-01-31T09:21:51+00:00","breadcrumb":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/#breadcrumb"},"inLanguage":"fa-IR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/"]}]},{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/#primaryimage","url":"https:\/\/cdn.itpiran.net\/2024\/01\/31102148\/woedpress-installDocker.jpg","contentUrl":"https:\/\/cdn.itpiran.net\/2024\/01\/31102148\/woedpress-installDocker.jpg","width":1793,"height":1110},{"@type":"BreadcrumbList","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-wordpress-with-docker-composestep-7-renewing-certificates\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.itpiran.net\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0622\u0645\u0648\u0632\u0634\u06cc","item":"https:\/\/www.itpiran.net\/blog\/category\/tutorials\/"},{"@type":"ListItem","position":3,"name":"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0648\u0631\u062f\u067e\u0631\u0633 \u0628\u0627 Docker"}]},{"@type":"WebSite","@id":"https:\/\/www.itpiran.net\/blog\/#website","url":"https:\/\/www.itpiran.net\/blog\/","name":"\u0628\u0644\u0627\u06af ITPiran","description":"\u0627\u062e\u0628\u0627\u0631 \u0648 \u0645\u0642\u0627\u0644\u0627\u062a \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646","publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.itpiran.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fa-IR"},{"@type":"Organization","@id":"https:\/\/www.itpiran.net\/blog\/#organization","name":"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646","alternateName":"ITPIran Blog","url":"https:\/\/www.itpiran.net\/blog\/","logo":{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","contentUrl":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","width":512,"height":512,"caption":"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81","name":"admin","url":"https:\/\/www.itpiran.net\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/posts\/14662","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/comments?post=14662"}],"version-history":[{"count":1,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/posts\/14662\/revisions"}],"predecessor-version":[{"id":14668,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/posts\/14662\/revisions\/14668"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/media\/14663"}],"wp:attachment":[{"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/media?parent=14662"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/categories?post=14662"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/tags?post=14662"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}