{"id":695,"date":"2019-04-08T21:41:56","date_gmt":"2019-04-08T13:41:56","guid":{"rendered":"https:\/\/flandre-scarlet.moe\/blog\/?p=695"},"modified":"2025-05-25T01:40:22","modified_gmt":"2025-05-24T17:40:22","slug":"%e6%9c%8d%e5%8a%a1%e5%99%a8%e8%bf%81%e7%a7%bb%e5%88%b0-vultr","status":"publish","type":"post","link":"https:\/\/flandre-scarlet.moe\/blog\/695\/","title":{"rendered":"\u670d\u52a1\u5668\u8fc1\u79fb\u5230 vultr"},"content":{"rendered":"<p>\u5728 vultr \u4e70\u4e86\u65b0\u7684\u4e3b\u673a\uff0c\u51c6\u5907\u628a\u7f51\u7ad9\u8fc1\u8fc7\u53bb\u3002\u673a\u623f\u9009\u5728\u6d1b\u6749\u77f6\uff0c\u679c\u7136\u897f\u6d77\u5cb8\u7684\u7a33\u5b9a\u6027\u8fd8\u662f\u6700\u597d\u554a\uff0c\u4e22\u5305\u4e5f\u5c11\uff0c\u4e1c\u4eac\u5728\u665a\u4e0a\u9ad8\u5cf0\u4e22\u5305\u592a\u9ad8\u4e86\uff0c\u53d7\u4e0d\u4e86\u3002\u8bf4\u6765\u5728 V \u5bb6\u4e4b\u524d\u8fd8\u8bd5\u4e86\u8bd5 IOZoom \u7684\u673a\u5b50\uff0c\u7136\u800c\u5230\u624b\u65f6\u5206\u5230\u4e2a\u88ab\u5899\u7684 ip\uff0cssh \u90fd\u8fde\u4e0d\u4e0a\uff0c\u7136\u540e\u63d0\u5de5\u5355\u6362\u4e86\uff1b\u4e70\u4e86\u4e2a\u4e9a\u6d32\u4f18\u5316\uff0c\u4e5f\u5c31\u662f CN2 \u8def\u7ebf\u7684 ip\uff0c\u53c8\u662f\u88ab\u5899\u7684\u6211\u53bb\u2026\u2026\u6765\u6765\u56de\u56de\u6298\u817e\u51e0\u4e0b\u76f8\u5f53\u5931\u671b\uff0c\u6362\u5b8c ip \u540e\u9ad8\u5cf0\u671f\u4e22\u5305\u8fd8\u662f\u9ad8\u5f97\u4e0d\u884c\uff0c\u57fa\u672c\u5728 10%(CN2) \u548c 16%(\u4e3b ip) \u5de6\u53f3\uff0c\u540e\u9762\u679c\u65ad\u9000\u94b1\u4e86\u3002\u4e4b\u540e\u5c31\u5165\u4e86 vultr \u7684\u3002<\/p>\n<p>\u73b0\u5728\u8bb0\u5f55\u4e00\u4e0b\u4ece\u5934\u642d\u5efa\u7684\u8fc7\u7a0b\u5427\u3002<del>\u4e13\u4e3a centos 7 x64 \u91cf\u8eab\u6253\u9020\u3002<\/del><\/p>\n<p><!--more--><\/p>\n<h1>SSH<\/h1>\n<ol>\n<li>\u9996\u5148\u8bbe\u7f6e ssh \u516c\u94a5\u8bbf\u95ee\u3001\u66f4\u6362\u9ed8\u8ba4\u7aef\u53e3\u548c\u53d6\u6d88\u5bc6\u7801\u8bbf\u95ee<\/li>\n<li>\u4f7f\u7528\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">ssh-keygen -t rsa<\/pre>\n<p>\u751f\u6210\u4e00\u5bf9 rsa \u5bc6\u94a5\u5bf9\u5b58\u653e\u5728 \/root\/.ssh\/ \u76ee\u5f55\u4e0b\uff0c\u5e26 .pub \u540e\u7f00\u7684\u662f\u516c\u94a5<\/li>\n<li>\u4f7f\u7528\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">cat id_rsa.pub &gt; authorized_keys<\/pre>\n<p> \u5bfc\u5165\u3002<\/li>\n<li>sftp \u4e0b\u8f7d\u516c\u79c1\u94a5\u5230\u672c\u5730\uff0c\u5148\u4fdd\u5b58\u597d\uff0c\u600e\u4e48\u7528\u4e0b\u9762\u4f1a\u8bf4\uff0c\u73b0\u5728\u63a5\u7740\u914d\u670d\u52a1\u5668\u3002<\/li>\n<li>\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\uff08\/etc\/ssh\/sshd_config\uff09\n<ul>\n<li>\u53bb\u6389\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">PubkeyAuthentication yes\r\nAuthorizedKeysFile      .ssh\/authorized_keys<\/pre>\n<p>\u524d\u7684 # \u6ce8\u91ca\u3002<\/li>\n<li>\u5c06 <em>#Port 22<\/em> \u7684\u6ce8\u91ca\u53bb\u6389\uff0c\u5e76\u6539\u4e3a\u4e00\u4e2a\u4efb\u610f\u7684\u7a7a\u95f2\u9ad8\u4f4d\u7aef\u53e3\u3002<\/li>\n<li>\u5c06 <em>PasswordAuthentication yes<\/em> \u6539\u4e3a <em>PasswordAuthentication no<\/em>\u3002<\/li>\n<\/ul>\n<p>    \u4fdd\u5b58\u9000\u51fa\u540e\u4f7f\u7528<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">systemctl restart sshd<\/pre>\n<p>\u91cd\u542f ssh\u3002<\/li>\n<li>\u914d\u7f6e centos7 \u9632\u706b\u5899\n<ol>\n<li>\u6dfb\u52a0\u65b0\u7684\u7aef\u53e3 A\uff0c\u5c31\u662f\u521a\u521a\u5728 ssh \u914d\u7f6e\u91cc\u586b\u7684\u90a3\u4e2a\uff0c\u6bd4\u5982\u4e0b\u9762\u7684\u547d\u4ee4\u6dfb\u52a0\u4e86 tcp \u7684 7777 \u7aef\u53e3\uff08\u987a\u4fbf\u4e00\u63d0\u628a\u547d\u4ee4\u4e2d\u7684 &#8220;add&#8221; \u6362\u6210 &#8220;remove&#8221; \u5373\u53ef\u5220\u9664\uff1b\u628a &#8220;7777&#8221; \u6362\u6210 &#8220;7777-8888&#8221; \u5373\u53ef\u6dfb\u52a0\u8303\u56f4\u7aef\u53e3\uff09\u3002\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">firewall-cmd --permanent --zone=public --add-port=7777\/tcp<\/pre>\n<\/li>\n<li>\u91cd\u65b0\u52a0\u8f7d\u89c4\u5219\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">firewall-cmd --reload<\/pre>\n<\/li>\n<li>\u6dfb\u52a0\u81ea\u542f\u52a8\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">systemctl enable firewalld<\/pre>\n<\/li>\n<li>\u203b \u8fd9\u91cc\u6dfb\u52a0\u4e00\u6761\u5c31\u7ed3\u675f\u4e86\uff0c\u5176\u4ed6\u7aef\u53e3\u7684\u6dfb\u52a0\u5982\u6cd5\u70ae\u5236\u5373\u53ef\u3002<\/li>\n<li>\u203b \u6dfb\u52a0 http(s) \u7b49\u7c7b\u4f3c\u5e38\u7528\u7aef\u53e3\u53ef\u4ee5\u76f4\u63a5\u6dfb\u52a0\u73b0\u6709\u670d\u52a1\u6765\u5b8c\u6210\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">firewall-cmd --permanent --zone=public --add-service=http\r\nfirewall-cmd --permanent --zone=public --add-service=https<\/pre>\n<\/li>\n<li>\u203b\u672a\u5c3d\u7684\u8bf4\u660e\u53ef\u53c2\u8003 vultr \u7684\u6587\u6863 <a href=\"https:\/\/www.vultr.com\/docs\/using-firewalld-to-manage-your-firewall-on-centos-7\" target=\"_blank\" rel=\"noopener noreferrer\">Using FirewallD to Manage Your Firewall on CentOS 7<\/a><\/li>\n<\/ol>\n<ul>\n<li>\u9632\u706b\u5899\u6709\u5404\u79cd &#8220;zone&#8221;\uff0c\u5176\u5b9e\u5c31\u662f\u4e0d\u540c\u7684\u89c4\u5219\u96c6\uff0c\u9ed8\u8ba4\u662f &#8220;public&#8221; zone\uff0c\u53ef\u7528\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">firewall-cmd --get-default-zone\r\nfirewall-cmd --set-default-zone=home<\/pre>\n<p>\u67e5\u770b\u548c\u4fee\u6539\u3002<\/li>\n<li>\u67e5\u770b\u67d0\u4e2a zone \u4e0b\u7684\u73b0\u6709\u89c4\u5219\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">firewall-cmd --zone=public --list-ports\r\nfirewall-cmd --zone=public --list-services<\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>\u203b \u5982\u679c\u5728 vultr \u7684 web \u9762\u677f\u4e2d\u914d\u7f6e\u4e86\u9632\u706b\u5899\u89c4\u5219\uff0c\u5219\u5728\u90a3\u91cc\u4e5f\u8981\u8fdb\u884c\u76f8\u5e94\u7684\u7aef\u53e3\u6dfb\u52a0\u3002<\/li>\n<li>\u4ee5\u4e0a\u914d\u7f6e\u5b8c\u6210\u540e\u5728 <a href=\"http:\/\/port.ping.pe\/\" target=\"_blank\" rel=\"noopener noreferrer\">port.ping.pe<\/a> \u4e2d\u68c0\u6d4b\u76f8\u5e94\u7aef\u53e3\u7684\u7ed3\u679c\u5e94\u8be5\u662f\u53ef\u4ee5\u6210\u529f\u8fde\u63a5\u7684\u3002\u6ca1\u6210\u529f\u524d\u5343\u4e07\u522b\u9000\u51fa\u73b0\u6709\u7684 ssh \u8fde\u63a5\u54e6\uff0c\u56e0\u4e3a\u6ca1\u6709\u540e\u8def\u4e86(o???)<br \/>\uff08\u914d\u7f6e sshd_config \u65f6\u4e0d\u5220\u9664  <em>Port 22<\/em>\uff0c\u76f4\u63a5\u8865\u5145\u4e00\u884c\u5982 <em>Port 7777<\/em> \u5373\u53ef\u540c\u65f6\u76d1\u542c\u4e24\u4e2a\u7aef\u53e3\uff0c\u5168\u90e8\u914d\u5b8c\u518d\u5220\u6389 22 \u7aef\u53e3\u3002\uff09<\/li>\n<li>\uff08\u672c\u5730\u7535\u8111\u4e0a\uff09\u7528 puttygen.exe \u6253\u5f00\u4e0b\u8f7d\u7684\u79c1\u94a5\uff08\u8f6f\u4ef6\u754c\u9762\u4e0a\u7684 &#8220;Load&#8221; \u6309\u94ae\uff09\uff0c\u5b8c\u6210\u540e\u518d\u70b9 &#8220;Save private key&#8221; \u53e6\u5b58\u4e3a ppk \u6587\u4ef6\uff0c\u8fd9\u6837\u5728 putty \u4e2d\u5c31\u80fd\u4f7f\u7528\u8be5\u79c1\u94a5\u767b\u5f55\u4e86\uff08\u5728 Connection-SSH-Auth \u4e2d\u586b\u5165 ppk \u6587\u4ef6\u8def\u5f84\uff0c\u5728 Connection-Data \u4e2d\u7684 &#8220;Auto login username&#8221; \u4e2d\u586b\u5165\u4f60\u7684\u7528\u6237\u540d\uff09\u3002<\/li>\n<\/ol>\n<h1>BBR<\/h1>\n<ol>\n<li>\u6dfb\u52a0 ELRepo \u6e90\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">rpm --import https:\/\/www.elrepo.org\/RPM-GPG-KEY-elrepo.org\r\nrpm -Uvh http:\/\/www.elrepo.org\/elrepo-release-7.0-2.el7.elrepo.noarch.rpm<\/pre>\n<\/li>\n<li>\u5b89\u88c5\u6700\u65b0\u5185\u6838\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">yum --enablerepo=elrepo-kernel install kernel-ml -y<\/pre>\n<\/li>\n<li>\u6210\u529f\u540e\u7528\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">rpm -qa | grep kernel<\/pre>\n<p>\u5217\u51fa\u5df2\u5b89\u88c5\u7684\u5185\u6838\uff0c\u5176\u4e2d\u5e94\u542b\u6709\u5f62\u5982 &#8220;kernel-ml-5.0.6-1.el7.elrepo.x86_64&#8221; \u7684\u8f93\u51fa\u3002<\/li>\n<li>\u5217\u51fa grub2 \u542f\u52a8\u83dc\u5355\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">egrep ^menuentry \/etc\/grub2.cfg | cut -f 2 -d \\'<\/pre>\n<\/li>\n<li>\u6309\u987a\u5e8f\u4ece\u4e0a\u5f80\u4e0b\u627e\u5230 5.0.6 \u5185\u6838\u7684\u884c\u6570\uff0c\u7b2c\u4e00\u884c\u5e8f\u53f7\u662f 0\uff0c\u8bb0\u4f4f\u5e8f\u53f7\uff0c\u8f93\u5165\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">grub2-set-default &lt;\u4f60\u7684\u5e8f\u53f7&gt;<\/pre>\n<\/li>\n<li>\u91cd\u542f\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">shutdown -r now<\/pre>\n<\/li>\n<li>\u91cd\u542f\u540e\u67e5\u770b\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">uname -r<\/pre>\n<p>\u5e94\u663e\u793a 5.0.6 \u5185\u6838\u3002<\/li>\n<li>\u542f\u7528 BBR\u3002\u9010\u884c\u6267\u884c\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">echo 'net.core.default_qdisc=fq' | sudo tee -a \/etc\/sysctl.conf\r\necho 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a \/etc\/sysctl.conf\r\nsysctl -p\r\n\/\/ \u786e\u8ba4\uff1asysctl net.ipv4.tcp_available_congestion_control \u8f93\u51fa\u5e94\u7c7b\u4f3c &quot;reno cubic bbr&quot;\r\n\/\/ \u786e\u8ba4\uff1asysctl -n net.ipv4.tcp_congestion_control \u8f93\u51fa\u5e94\u4e3a &quot;bbr&quot;\r\n\/\/ \u786e\u8ba4\uff1alsmod | grep bbr \u8f93\u51fa\u542b\u6709 &quot;tcp_bbr&quot;<\/pre>\n<p>\u5b8c\u6210<\/li>\n<li>\u203b Ex: <a href=\"https:\/\/github.com\/kuoruan\/shell-scripts\" target=\"_blank\" rel=\"noopener noreferrer\">OpenVZ \u7528\u7684 BBR \u4e00\u952e\u811a\u672c<\/a>\u3002<\/li>\n<\/ol>\n<h1>LNMP<\/h1>\n<ol>\n<li>\u5b89\u88c5 nginx\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">yum install nginx -y\r\nsystemctl enable nginx\r\nsystemctl start nginx<\/pre>\n<p>\u73b0\u5728\u901a\u8fc7 ip \u76f4\u63a5\u8bbf\u95ee\u5e94\u8be5\u53ef\u4ee5\u770b\u8fc7\u6b22\u8fce\u9875\uff08\u9632\u706b\u5899\u5df2\u5f00\uff0c\u53c2\u7167 ssh \u5904\u8bbe\u7f6e\u9632\u706b\u5899\uff09\u3002<\/li>\n<li>\u53ef\u5728\u914d\u7f6e\u6587\u4ef6\u7684 http \u5757\u4e2d\u6dfb\u52a0\u4e00\u884c <em>server_tokens off;<\/em> \u6765\u9690\u85cf nginx \u7684\u7248\u672c\u3002<\/li>\n<li>\u5b89\u88c5 php7\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\/\/ yum list installed | grep php    \/\/ \u65b0\u673a\u80af\u5b9a\u6ca1\u88c5 php\uff0c\u88c5\u8fc7\u7684\u8981\u5148\u5378\u6389\u3002\u770b\u4e00\u773c\r\nrpm -Uvh https:\/\/mirror.webtatic.com\/yum\/el7\/webtatic-release.rpm    \/\/ \u66f4\u65b0 rpm \u6e90\r\nyum install php70w php70w-fpm php70w-mysql -y\r\nsystemctl enable php-fpm\r\nsystemctl start php-fpm\r\n<\/pre>\n<\/li>\n<li>\u914d\u7f6e nginx\u3002php-fpm \u7684\u9ed8\u8ba4\u7aef\u53e3\u4e3a 9000\uff0c\u73b0\u5728\u5c06\u5b83\u52a0\u5165 nginx \u7684\u914d\u7f6e\u4e2d\uff08\u6b64\u5904\u4e0d\u7528\u5f00\u9632\u706b\u5899\uff0c\u5185\u90e8\u4f7f\u7528\uff09\u3002\u6253\u5f00 nginx \u914d\u7f6e\u6587\u4ef6\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">vi \/etc\/nginx\/nginx.conf<\/pre>\n<p>\u5728 &#8220;server&#8221; \u5757\u7684\u672b\u5c3e\u52a0\u4e0a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">location ~ \\.php$ {\r\n      fastcgi_pass   127.0.0.1:9000;\r\n      fastcgi_index   index.php;\r\n      fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;\r\n      include        fastcgi_params;\r\n  }<\/pre>\n<p>\u4fdd\u5b58\u9000\u51fa\u5e76<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">systemctl restart nginx<\/pre>\n<p>\u91cd\u542f nginx\u3002<\/li>\n<li>\u5b89\u88c5 MariaDB\u3002\u6709\u7591\u95ee\u53ef\u76f4\u63a5\u770b <a href=\"https:\/\/www.vultr.com\/docs\/how-to-install-mariadb-10-1-on-centos-7\" target=\"_blank\" rel=\"noopener noreferrer\">How to Install MariaDB 10.1 on CentOS 7<\/a>\u3002\n<ol>\n<li>\u521b\u5efa yum repo \uff1a\u7c98\u8d34\u4ee5\u4e0b\u5168\u90e8\u540e\u4e00\u6b21\u6267\u884c\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">cat &amp;lt;&amp;lt; EOF | sudo tee -a \/etc\/yum.repos.d\/MariaDB.repo\r\n# MariaDB 10.1 CentOS repository list\r\n# http:\/\/downloads.mariadb.org\/mariadb\/repositories\/\r\n&#x5B;mariadb]\r\nname = MariaDB\r\nbaseurl = http:\/\/yum.mariadb.org\/10.1\/centos7-amd64\r\ngpgkey=https:\/\/yum.mariadb.org\/RPM-GPG-KEY-MariaDB\r\ngpgcheck=1\r\nEOF<\/pre>\n<\/li>\n<li>yum \u5b89\u88c5\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">yum install MariaDB-server MariaDB-client -y<\/pre>\n<\/li>\n<li>\u542f\u52a8\u5e76\u52a0\u5165\u81ea\u542f\u52a8\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">systemctl start mariadb.service\r\nsystemctl enable mariadb.service<\/pre>\n<\/li>\n<li>\u5b89\u5168\u5316\u914d\u7f6e\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\/usr\/bin\/mysql_secure_installation<\/pre>\n<p>\u5f53\u524d\u6570\u636e\u5e93 root \u5bc6\u7801\u4e3a\u7a7a\u76f4\u63a5\u56de\u8f66\uff0c\u7136\u540e\u8bbe\u7f6e\u65b0\u7684 root \u5bc6\u7801\uff0c\u811a\u672c\u4e2d\u6240\u6709 yes\/no \u7684\u9009\u9879\u90fd\u9009 yes \u5373\u53ef\uff0c\u4e0d\u653e\u5fc3\u7684\u4e5f\u53ef\u6bcf\u4e2a\u770b\u4e00\u904d\uff0c\u90fd\u5f88\u76f4\u767d\u7684\u9009\u9879\u3002<\/li>\n<\/ol>\n<li>\u203b php-fpm\u8fdb\u7a0b\u8fc7\u591a\uff0c\u5185\u5b58\u8017\u5c3d\n<ol>\n<li>\u6253\u5f00 \/etc\/php-fpm.conf\uff0c\u7ffb\u5230\u6700\u540e\u7684 <em>Pool Definitions<\/em> \u8282\uff0c\u91cc\u9762\u5305\u542b\u4e86 \/etc\/php-fpm.d\/ \u76ee\u5f55\u4e0b\u7684 .conf \u6587\u4ef6<\/li>\n<li>\u6253\u5f00 \/etc\/php-fpm.d\/www.conf\uff08\u53ea\u6709\u8fd9\u4e00\u4e2a\uff09\uff0c\u4fee\u6539\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\"># \u53e6\u4e00\u79cd\u6a21\u5f0f ondemand \u5de5\u4f5c\u65b9\u5f0f\u662f\u76f4\u63a5\u6740\u6b7b\u7a7a\u95f2\u4e86 pm.process_idle_timeout \u79d2\u7684\u95f2\u7f6e\u8fdb\u7a0b\r\npm = dynamic\r\n# \u6700\u5927\u6570\u6839\u636e\u5185\u5b58\u60c5\u51b5\u8bbe\u7f6e\uff0c\u4e5f\u4e0d\u80fd\u592a\u5c0f\r\npm.max_children = 10\r\npm.start_servers = 3\r\n# \u6700\u5c0f\u548c\u6700\u5927\u7684\u95f2\u7f6e\u8fdb\u7a0b\u6570\uff0cdynamic \u6a21\u5f0f\u53ea\u4f1a\u6740\u6b7b\u8d85\u8fc7\u6700\u5927\u95f2\u7f6e\u8fdb\u7a0b\u6570\u7684\u8fdb\u7a0b\r\npm.min_spare_servers = 1\r\npm.max_spare_servers = 3\r\npm.max_requests = 2048\r\nrequest_terminate_timeout = 1200<\/pre>\n<\/li>\n<li>\u91cd\u542f php-fpm\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">systemctl restart php-fpm<\/pre>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h1>ss<\/h1>\n<p>\u79cb\u6c34\u9038\u51b0\u4e00\u952e\u811a\u672c\u56db\u5408\u4e00\u7248\uff1a<a href=\"https:\/\/teddysun.com\/486.html\" target=\"_blank\" rel=\"noopener noreferrer\">Shadowsocks \u4e00\u952e\u5b89\u88c5\u811a\u672c\uff08\u56db\u5408\u4e00\uff09<\/a><\/p>\n<h1>kcptun<\/h1>\n<p>\u7115\u53d1\u7b2c\u4e8c\u6625<\/p>\n<ol>\n<li>\u4e0b\u8f7d\u4e00\u952e\u811a\u672c\u8fdb\u884c\u5b89\u88c5\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">wget --no-check-certificate https:\/\/github.com\/kuoruan\/shell-scripts\/raw\/master\/kcptun\/kcptun.sh\r\nchmod +x .\/kcptun.sh\r\n.\/kcptun.sh<\/pre>\n<\/li>\n<li>\u8bbe\u7f6e kcptun \u670d\u52a1\u5668\u7aef\u53e3\uff0c\u9ed8\u8ba4\u4e3a 29900\uff0c\u6709\u9632\u706b\u5899\u7684\u8bdd\u6ce8\u610f\u6253\u5f00\u3002<\/li>\n<li>\u8bbe\u7f6e\u52a0\u901f\u5730\u5740\uff0c\u4e00\u822c ss \u76d1\u542c\u7684\u7aef\u53e3\u90fd\u662f\u5f62\u5982 0.0.0.0:7777\uff0c\u6240\u4ee5 kcptun \u7684\u5730\u5740\u548c\u52a0\u901f\u7aef\u53e3\u5206\u522b\u586b 127.0.0.1 \u548c &lt;\u4f60\u7684ss\u7aef\u53e3&gt; \u5373\u53ef\u3002<\/li>\n<li>\u8bbe\u7f6e kcptun \u7528\u7684\u5bc6\u94a5\u7528\u4e8e\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u8ba4\u8bc1\uff0c\u6ce8\u610f\u548c ss \u7684\u5bc6\u7801\u662f\u4e24\u56de\u4e8b\u3002<\/li>\n<li>\u5269\u4e0b\u7684\u53ef\u76f4\u63a5\u7528\u811a\u672c\u7684\u9ed8\u8ba4\u8bbe\u7f6e\u3002<\/li>\n<li>\u5230 <a href=\"https:\/\/github.com\/xtaci\/kcptun\/releases\" target=\"_blank\" rel=\"noopener noreferrer\">kcptun Release<\/a> \u4e0b\u8f7d\u5408\u9002\u7684\u5ba2\u6237\u7aef\u3002<\/li>\n<li>\u4ee5 windows \u4e3a\u4f8b\uff0c\u53ef\u4ee5\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">client_windows_amd64.exe -c config.json<\/pre>\n<p>\u542f\u52a8\u5ba2\u6237\u7aef\uff0c json \u6765\u81ea\u5b89\u88c5\u670d\u52a1\u5668\u65f6\u7684\u8f93\u51fa\uff0c\u6216\u662f\u76f4\u63a5\u5728\u547d\u4ee4\u884c\u4e2d\u4e00\u4e2a\u4e2a\u6307\u5b9a\u53c2\u6570<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">client_windows_amd64.exe -r &lt;ip&gt;:&lt;port&gt; --key &lt;kcptun \u7684\u5bc6\u7801&gt; --sndwnd 512<\/pre>\n<p>\u56e0\u4e3a\u6211\u7684\u670d\u52a1\u5668 sndwnd \u8bbe\u4e3a 512\uff0c\u548c\u9ed8\u8ba4\u7684 128 \u4e0d\u540c\uff0c\u6240\u4ee5\u91cd\u65b0\u6307\u5b9a\uff0c\u5176\u4ed6\u53c2\u6570\u56e0\u4e3a\u548c\u9ed8\u8ba4\u503c\u4e00\u6837\u6240\u4ee5\u4e0d\u7528\u7279\u5730\u5728\u547d\u4ee4\u884c\u4e2d\u6307\u51fa\u4e86\u3002<\/li>\n<li>\u8fd9\u6837\u5c31\u80fd\u987a\u5229\u8fde\u63a5\u4e86\u3002<\/li>\n<li>\u624b\u673a\u7aef\n<ol>\n<li>\u4e0b\u8f7d\u7528\u4e8e ss \u5ba2\u6237\u7aef\u7684 <a href=\"https:\/\/github.com\/shadowsocks\/kcptun-android\/releases\/\" target=\"_blank\" rel=\"noopener noreferrer\">kcptun-Android<\/a> \u63d2\u4ef6\uff1a<\/li>\n<li>\u5728 ss \u7684\u914d\u7f6e\u754c\u9762\u91cc\u9009\u62e9\u63d2\u4ef6\u4e3a kcptun\u3002<\/li>\n<li>\u5728\u63d2\u4ef6\u4e0b\u9762\u7684\u914d\u7f6e\u7f16\u8f91\u6846\u4e2d\u586b\u5165\u670d\u52a1\u5668\u7684\u914d\u7f6e\u5185\u5bb9\uff08\u6765\u81ea\u5b89\u88c5\u670d\u52a1\u5668\u65f6\u7684\u8f93\u51fa\uff0c\u5f53\u7136\u81ea\u5df1\u6307\u5b9a\u4e5f\u662f\u4e00\u6837\u7684\uff09\u3002<\/li>\n<li>\u5728\u63d2\u4ef6\u914d\u7f6e\u4e2d\u8865\u5145\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">remoteaddr=&lt;\u4f60\u7684\u670d\u52a1\u5668ip&gt;:&lt;\u4f60\u7684 kcptun \u7aef\u53e3&gt;<\/pre>\n<p>\u3002<\/li>\n<li>\u4fdd\u6301\u5176\u4ed6 ss \u914d\u7f6e\u4e0d\u53d8\u5c31\u80fd\u987a\u5229\u8fde\u63a5\u4e86\u3002<\/li>\n<li>\u5982\u6709\u4e0d\u80fd\u8fde\u63a5\u7684\u60c5\u51b5\u9996\u5148\u786e\u4fdd\u7981\u7528 kcptun \u63d2\u4ef6\u65f6\u80fd\u6b63\u5e38\u4f7f\u7528 ss\uff1b\u7136\u540e\u518d\u6821\u5bf9 kcptun \u7684\u5404\u4e2a\u53c2\u6570\u3002\u8981\u662f\u8fd8\u6ca1\u7528\u7684\u8bdd\u628a\u63d2\u4ef6\u4e2d\u7684 UDP Fallback \u6253\u5f00\uff0c\u9009\u53e6\u4e00\u4e2a ss \u8282\u70b9\u5c31\u80fd\u8fde\u4e0a\u4e86\u3002<\/li>\n<\/ol>\n<\/li>\n<li>\u203b \u6709\u7591\u96be\u53ef\u4ee5\u770b<a href=\"https:\/\/blog.kuoruan.com\/110.html\" target=\"_blank\" rel=\"noopener noreferrer\">\u4f5c\u8005\u7684\u535a\u5ba2<\/a>\u3002<\/li>\n<\/ol>\n<h1>docker<\/h1>\n<p>\u8fd9\u4e2a\u5176\u5b9e\u662f\u4e2a\u53ef\u9009\u9879\uff0c\u4e00\u8d77\u585e\u5728\u8fd9\u91cc\u5427\u3002<\/p>\n<p>docker \u524d\u7f6e\u6761\u4ef6\u662f kernel \u5927\u4e8e\u7b49\u4e8e 3.10\uff0ccentos 7 \u6ca1\u95ee\u9898\u3002<\/p>\n<ol>\n<li>yum \u5b89\u88c5\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">yum upgrade -y\r\nyum install docker -y\r\nsystemctl start docker<\/pre>\n<\/li>\n<li>\u8bbe\u7f6e\u955c\u50cf\u3002\u6253\u5f00 \/etc\/docker\/daemon.json\uff0c\u6dfb\u52a0\u6210\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">{\r\n  &quot;registry-mirrors&quot;: &#x5B;&quot;https:\/\/aj2rgad5.mirror.aliyuncs.com&quot;]\r\n}<\/pre>\n<p>\u4fdd\u5b58\u9000\u51fa\u3002<\/li>\n<li>\u91cd\u542fdocker\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">systemctl daemon-reload\r\nsystemctl restart docker.service<\/pre>\n<\/li>\n<li>\u6d4b\u8bd5docker\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ndocker run hello-world<\/pre>\n<p>\u5e94\u8be5\u6709 &#8220;Hello from Docker!&#8221; \u7684\u8f93\u51fa\u3002<\/li>\n<\/ol>\n<p>\u5230\u8fd9\u91cc\u57fa\u672c\u7684\u90e8\u7f72\u5c31\u7ed3\u675f\u4e86\uff0c\u4e0b\u9762\u5c31\u628a wordpress \u6574\u4e2a\u642c\u8fc7\u6765\u5c31\u597d\u4e86\u3002<\/p>\n<h1>\u8fc1\u79fb wordpress<\/h1>\n<p>\u4e00\u5f00\u59cb\u60f3\u5c1d\u8bd5\u76f4\u63a5\u4fee\u6539 wp \u7684\u7ad9\u70b9\u94fe\u63a5\u540e\u590d\u5236\u6574\u4e2a\u76ee\u5f55\u548c\u6570\u636e\u5e93\uff0c\u7ed3\u679c\u5931\u8d25\u4e86\uff0c\u9875\u9762\u6837\u5f0f\u4e00\u76f4\u6ca1\u6cd5\u6b63\u5e38\u663e\u793a\uff0c\u6d6a\u8d39\u4e86\u4e0d\u5c11\u65f6\u95f4\u641e\u6765\u641e\u53bb\u3002\u4e8e\u662f\u8d70\u5e38\u89c4\u8def\u7ebf\uff0c\u5c06\u63d2\u4ef6 UpdraftPlus Backup \u5907\u4efd\u7684\u6570\u636e\u8fdb\u884c\u8fd8\u539f\u3002<\/p>\n<ol>\n<li>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">wget http:\/\/wordpress.org\/latest.tar.gz\r\ntar -xzf latest.tar.gz<\/pre>\n<p>\u4e0b\u8f7d\u6700\u65b0\u7248 wp \u5e76\u89e3\u538b\u5230\u5b89\u88c5\u76ee\u5f55\u3002<\/li>\n<li>\u521b\u5efa\u548c\u539f\u6765\u76f8\u540c\u7684\u6570\u636e\u5e93\u548c\u6570\u636e\u5e93\u7528\u6237\u3002\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\/\/ \u4ee5\u6570\u636e\u5e93\u540d=wordpress\uff0c\u7528\u6237\u540d=wp@localhost \u4e3a\u4f8b\uff0c\u539f\u5bc6\u7801 pwd \u4e5f\u4fdd\u6301\u4e00\u81f4\r\nCREATE DATABASE wordpress;\r\nCREATE USER wp@localhost;\r\nSET PASSWORD FOR wp@localhost=PASSWORD(&quot;pwd&quot;);\r\nGRANT ALL PRIVILEGES ON wordpress.* TO wp@localhost IDENTIFIED BY 'pwd';\r\nFLUSH PRIVILEGES;<\/pre>\n<\/li>\n<li>\u8bbe\u7f6e wp \u76ee\u5f55\u4e0b\u7684 wp-config.php \u6587\u4ef6\u3002\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\/** \u6570\u636e\u5e93\u540d *\/\r\ndefine('DB_NAME','wordpress');\r\n\/** \u6570\u636e\u5e93\u7528\u6237 *\/\r\ndefine('DB_USER','wordpress');\r\n\/** \u6570\u636e\u5e93\u5bc6\u7801 *\/\r\ndefine('DB_PASSWORD','pwd');<\/pre>\n<\/li>\n<li>\u5c06 wp \u6240\u5728\u6574\u4e2a\u76ee\u5f55\u7684\u6240\u6709\u6743\u8f6c\u79fb\u7ed9 apache \u7528\u6237\u3002\u4ee5\u4fbf wp \u80fd\u6b63\u5e38\u8fd0\u884c\u3002<\/li>\n<li>\u8bbf\u95ee &lt;yoursite&gt;\/wp-admin\/install.php \u8fdb\u884c\u5b89\u88c5\u3002<\/li>\n<li>\u5b89\u88c5 UpdraftPlus Backup \u63d2\u4ef6\u5e76\u8fde\u63a5\u539f\u6765\u8fdb\u884c\u5907\u4efd\u7684\u4e91\u7aef\u8d26\u53f7\uff08\u5982\u679c\u662f\u7528\u5176\u4ed6\u65b9\u5f0f\u5907\u4efd\u7684\u4fdd\u6301\u76f8\u540c\u5373\u53ef\uff09\uff0c\u5bfc\u5165\u8d26\u53f7\u4e2d\u7684\u5907\u4efd\u6570\u636e\u3002<\/li>\n<li>\u8fd8\u539f\u540e\u4e00\u5207\u6b63\u5e38\u3002<\/li>\n<\/ol>\n<p>\u505a wp \u7684\u4fee\u6539\u7684\u65f6\u5019\u8981\u6ce8\u610f wp-content\/cache \u76ee\u5f55\u4e0b\u7684\u7f13\u5b58\uff0c\u4f1a\u5bfc\u81f4\u6539\u52a8\u7684\u6548\u679c\u4e0d\u4f1a\u7acb\u523b\u5c55\u73b0\u3002<\/p>\n<p>\u6700\u540e\u5f3a\u70c8\u63a8\u8350\u5b89\u88c5 Classic Editor \u63d2\u4ef6\u56de\u590d\u7ecf\u5178\u7f16\u8f91\u5668\u754c\u9762\uff0cmd \u8fa3\u9e21 Gutenberg \u6d6a\u8d39\u6211\u65f6\u95f4\u3002<\/p>\n<h1>Ex: frp with nginx<\/h1>\n<p>\u8ba9 nginx \u628a 443 \u7684 https \u8fde\u63a5\u8f6c\u53d1\u5230 frps \u505a\u5185\u7f51\u7a7f\u900f\u3002<\/p>\n<p><a href=\"https:\/\/github.com\/fatedier\/frp\/releases\" target=\"_blank\" rel=\"noopener noreferrer\">\u4e0b\u8f7d<\/a>\u6700\u65b0\u7248 frp\u3002\u6ce8\u610f\u670d\u52a1\u5668\u548c\u5ba2\u6237\u7aef\u7684\u8f6f\u4ef6\u7248\u672c\u8981\u4fdd\u6301\u4e00\u81f4\u3002\u73b0\u5728\u7684\u7248\u672c\u52a0\u5165\u4e86 systemd \u7684\u670d\u52a1\u811a\u672c\uff0c\u4f7f\u7528\u66f4\u65b9\u4fbf\u4e86\u3002\u4ee5\u670d\u52a1\u5668\u4e3a\u4f8b\uff0c\u5c06\u89e3\u538b\u540e\u7684 <em>systemd\/frps.service<\/em> \u590d\u5236\u5230 <em>\/etc\/systemd\/system<\/em> \u4e0b\uff0c<em>frps<\/em> \u590d\u5236\u5230 <em>\/usr\/bin\/<\/em> \u4e0b\uff0c<em>frps.ini<\/em> \u590d\u5236\u5230 <em>\/etc\/frp\/<\/em> \u4e0b\uff0c\u6700\u540e <em>systemctl enable frps<\/em>\u3001<em>systemctl start frps<\/em> \u5373\u53ef\u3002<br \/>\u57fa\u672c\u7684\u914d\u7f6e\u5c31\u8df3\u8fc7\u4e86\uff0c\u5c31\u8bf4\u4e0b nginx \u8f6c\u53d1\u7684\u4e8b\u3002\u9996\u5148\u5728 frps \u914d\u7f6e\u4e2d\u4fee\u6539\u8bbe\u7f6e<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">vhost_https_port = 9100<\/pre>\n<p>\u968f\u540e\u5728 nginx \u914d\u7f6e\u4e2d\u6dfb\u52a0\u8fd9\u4e48\u4e00\u4e2a server \u5757\u3002<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">server {\r\n    listen       443 ssl http2;\r\n    listen       &#x5B;::]:443 ssl http2;\r\n    server_name &lt;\u4f60\u8981\u6620\u5c04\u7684\u5916\u7f51\u57df\u540d&gt;;\r\n    ssl_certificate &quot;&lt;tls \u8bc1\u4e66&gt;.crt&quot;;\r\n    ssl_certificate_key &quot;&lt;tls \u8bc1\u4e66&gt;.key&quot;;\r\n    ssl_session_cache shared:SSL:1m;\r\n    ssl_session_timeout  10m;\r\n    ssl_ciphers HIGH:!aNULL:!MD5;\r\n    ssl_prefer_server_ciphers on;\r\n    location \/ {\r\n        resolver 8.8.8.8;\r\n        proxy_ssl_server_name on;\r\n        proxy_set_header X-Real-IP $remote_addr;\r\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\r\n        proxy_set_header X-Forwarded-Proto $scheme;\r\n        proxy_set_header Host $host;\r\n        proxy_pass https:\/\/$host:9100;    # \u4e0e frps \u4e2d\u7684\u7aef\u53e3\u4fdd\u6301\u4e00\u81f4\u5373\u53ef\r\n    }\r\n}<\/pre>\n<p>\u6700\u540e\u5728 frpc\uff08\u5ba2\u6237\u7aef\uff09\u914d\u7f6e\u4e2d\u52a0\u5165<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">&#x5B;https1]\r\ntype = https\r\nlocal_port = 443    ; \u5ba2\u6237\u7aef\u672c\u5730\u670d\u52a1\u4f7f\u7528\u7684\u7aef\u53e3\r\ncustom_domains = &lt;\u4f60\u8981\u6620\u5c04\u7684\u5916\u7f51\u57df\u540d&gt;<\/pre>\n<p>\u5c31\u53ef\u4ee5\u987a\u5229\u8fde\u63a5\u4e86\u3002<\/p>\n<p>\u8fd9\u91cc\u7701\u7565\u4e86\u57fa\u672c\u7684\u914d\u7f6e\u8fc7\u7a0b\uff0c\u6240\u4ee5\u5728\u914d\u7f6e nginx \u8f6c\u53d1\u524d\u5e94\u786e\u4fdd\u6b63\u5e38\u7684\u6bd4\u5982 tcp \u8f6c\u53d1\u80fd\u591f\u8fdb\u884c\uff0c\u6700\u540e\u52a0\u5165\u4e0a\u9762\u7684\u914d\u7f6e\u5c31\u6ca1\u95ee\u9898\u4e86\u3002<\/p>\n<p>\u66f4\u65b0\uff1a\u4e00\u5f00\u59cb\u8fde\u63a5\u90fd\u662f\u6b63\u5e38\u7684\uff0c\u7b2c\u4e8c\u5929\u624d\u51fa\u73b0\u4e86 502 bad gateway \u7684\u9519\u8bef\uff0c\u539f\u56e0\u5728\u4e8e frp \u5ba2\u6237\u7aef\u548c nginx \u4e0a\u4f7f\u7528\u7684\u8bc1\u4e66\u4e0d\u662f\u540c\u4e00\u4efd\uff0c\u5bfc\u81f4 ssl \u63e1\u624b\u5931\u8d25\uff0c\u6362\u6389\u8bc1\u4e66\u5c31\u6b63\u5e38\u4e86\u3002\u8fd8\u6709\u4e00\u4e2a\u65b9\u6cd5\u5c31\u662f\u5c06 <\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">proxy_set_header Host $host<\/pre>\n<p>\u7684 $host \u6539\u4e3a frp \u5ba2\u6237\u7aef\u4e0a\u8bc1\u4e66\u5bf9\u5e94\u7684\u57df\u540d\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5728 vultr \u4e70\u4e86\u65b0\u7684\u4e3b\u673a\uff0c\u51c6\u5907\u628a\u7f51\u7ad9\u8fc1\u8fc7\u53bb\u3002\u673a\u623f\u9009\u5728\u6d1b\u6749\u77f6\uff0c\u679c\u7136\u897f\u6d77\u5cb8\u7684\u7a33\u5b9a\u6027\u8fd8\u662f\u6700\u597d\u554a\uff0c\u4e22\u5305\u4e5f\u5c11\uff0c\u4e1c\u4eac\u5728&#8230; <\/p>\n<div class=\"read-more navbutton\"><a href=\"https:\/\/flandre-scarlet.moe\/blog\/695\/\">\u9605\u8bfb\u66f4\u591a<i class=\"fa fa-angle-double-right\"><\/i><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[85],"tags":[94,107,97,93,95,98,96,91,92,90],"class_list":["post-695","post","type-post","status-publish","format-standard","hentry","category-programs","tag-bbr","tag-frp","tag-kcptun","tag-lnmp","tag-nginx","tag-vultr","tag-wordpress","tag-91","tag-92","tag-90"],"_links":{"self":[{"href":"https:\/\/flandre-scarlet.moe\/blog\/wp-json\/wp\/v2\/posts\/695","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flandre-scarlet.moe\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flandre-scarlet.moe\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flandre-scarlet.moe\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flandre-scarlet.moe\/blog\/wp-json\/wp\/v2\/comments?post=695"}],"version-history":[{"count":1,"href":"https:\/\/flandre-scarlet.moe\/blog\/wp-json\/wp\/v2\/posts\/695\/revisions"}],"predecessor-version":[{"id":1394,"href":"https:\/\/flandre-scarlet.moe\/blog\/wp-json\/wp\/v2\/posts\/695\/revisions\/1394"}],"wp:attachment":[{"href":"https:\/\/flandre-scarlet.moe\/blog\/wp-json\/wp\/v2\/media?parent=695"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flandre-scarlet.moe\/blog\/wp-json\/wp\/v2\/categories?post=695"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flandre-scarlet.moe\/blog\/wp-json\/wp\/v2\/tags?post=695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}