(window.webpackJsonp=window.webpackJsonp||[]).push([[108],{386:function(s,a,n){"use strict";n.r(a);var t=n(0),e=Object(t.a)({},(function(){var s=this,a=s.$createElement,n=s._self._c||a;return n("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[n("h1",{attrs:{id:"serves"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#serves"}},[s._v("#")]),s._v(" SERVES")]),s._v(" "),n("h2",{attrs:{id:"配置-ftp-服务器"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#配置-ftp-服务器"}},[s._v("#")]),s._v(" 配置 ftp 服务器")]),s._v(" "),n("p",[s._v("安装 vsftp")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt-get")]),s._v(" update\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt-get")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" vsftpd\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br")])]),n("p",[s._v("创建 ftp 文件夹")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("mkdir")]),s._v(" *ftp文件夹*\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("更改文件夹权限")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("chmod")]),s._v(" -R "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("777")]),s._v(" *ftp文件夹*\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("创建 FTP 用户")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 创建用户并指定目录")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("useradd")]),s._v(" -d *ftp文件夹*/ 用户名\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 设置ftp用户的密码")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("passwd")]),s._v(" ftp用户名\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br")])]),n("p",[s._v("设置相关配置")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("vim")]),s._v(" /etc/vsftpd.conf\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 添加如下内容")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("userlist_deny")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("NO\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("userlist_enable")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("YES\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 允许登录的用户")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("userlist_file")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("/etc/allowed_users\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("seccomp_sandbox")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("NO\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 允许访问的文件夹")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("local_root")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("*ftp文件夹*\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("local_enable")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("YES\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("write_enable")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("YES\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 使用utf8")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("utf8_filesystem")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("YES\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br")])]),n("p",[s._v("修改 /etc/pam.d/vsftpd")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("vim")]),s._v(" /etc/pam.d/vsftpd\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 在auth required pam_shells.so前加#")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br")])]),n("p",[s._v("操作命令")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 启动停止重启服务")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" /etc/init.d/vsftpd start\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" /etc/init.d/vsftpd stop\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" /etc/init.d/vsftpd restart\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 查看服务状态")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("service")]),s._v(" vsftpd status\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br")])]),n("p",[s._v("访问 ftp 服务器")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# bash 访问")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("ftp")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("127.0")]),s._v(".0.1\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 浏览器访问")]),s._v("\nftp://127.0.0.1\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 或者")]),s._v("\nftp//localhost\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br")])]),n("p",[s._v("注意点")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# a).服务器需要设置安全策略组权限")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# b).ftp文件夹注意设置权限")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br")])]),n("p",[s._v("参考")]),s._v(" "),n("p",[n("a",{attrs:{href:"http://www.jianshu.com/p/b66066a70cd4",target:"_blank",rel:"noopener noreferrer"}},[s._v("最简单靠谱的 vsftpd 安装指南(Ubuntu16.04)"),n("OutboundLink")],1),n("br"),s._v(" "),n("a",{attrs:{href:"http://www.cnblogs.com/xuanxufeng/p/6235494.html",target:"_blank",rel:"noopener noreferrer"}},[s._v("Ubuntu 16.04 安装 ftp 服务器传输文件"),n("OutboundLink")],1)]),s._v(" "),n("h2",{attrs:{id:"nginx"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#nginx"}},[s._v("#")]),s._v(" nginx")]),s._v(" "),n("p",[s._v("说明")]),s._v(" "),n("blockquote",[n("p",[s._v("安装 nginx,是为了方便安装 wordpress;\n所以在安装过程中,将 nginx 的站点路径设置指向 wordPress 所在目录。")])]),s._v(" "),n("p",[s._v("安装 nginx")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt-get")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" nginx\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("配置 nginx")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 进入编辑模式")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("vim")]),s._v(" /etc/nginx/sites-available/default\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 将default中内容改为以下内容")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# include snippets/snakeoil.conf;")]),s._v("\n root /var/www/html"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# Add index.php to the list if you are using PHP")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# index index.html index.htm index.nginx-debian.html;")]),s._v("\n index index.php\n location ~ "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("\\")]),s._v(".php$ "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n include snippets/fastcgi-php.conf"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("#")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# # With php7.0-cgi alone:")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# fastcgi_pass 127.0.0.1:9000;")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# # With php7.0-fpm:")]),s._v("\n fastcgi_pass unix:/run/php/php7.0-fpm.sock"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 保存退出")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br"),n("span",{staticClass:"line-number"},[s._v("17")]),n("br")])]),n("p",[s._v("运行 nginx")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 配置快捷启动方式")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("vim")]),s._v(" /etc/init.d/nginx //创建启动脚本\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("chmod")]),s._v(" a+x /etc/init.d/nginx //增加执行权限\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 启动-停止-重启")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" /etc/init.d/nginx start //启动\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" /etc/init.d/nginx stop //停止\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" /etc/init.d/nginx restart //重启\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br")])]),n("p",[s._v("参考文章")]),s._v(" "),n("p",[n("a",{attrs:{href:"http://www.jianshu.com/p/7cb1a824333e",target:"_blank",rel:"noopener noreferrer"}},[s._v("Ubuntu 下 Nginx 安装"),n("OutboundLink")],1)]),s._v(" "),n("p",[s._v("查看 nginx 进程:nginx 的进程由主进程和工作进程组成")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("ps")]),s._v(" -ef"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("|")]),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("grep")]),s._v(" nginx\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("启动 nginx")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("service")]),s._v(" nginx start\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 平滑启动nginx")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("kill")]),s._v(" -HUP "),n("span",{pre:!0,attrs:{class:"token variable"}},[n("span",{pre:!0,attrs:{class:"token variable"}},[s._v("`")]),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("cat")]),s._v(" /var/run/nginx.pid"),n("span",{pre:!0,attrs:{class:"token variable"}},[s._v("`")])]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# or")]),s._v("\nnginx -s reload\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br")])]),n("p",[s._v("停止 nginx")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 完美停止nginx")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("kill")]),s._v(" -"),n("span",{pre:!0,attrs:{class:"token environment constant"}},[s._v("TERM")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token variable"}},[n("span",{pre:!0,attrs:{class:"token variable"}},[s._v("`")]),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("cat")]),s._v(" /var/run/nginx.pid"),n("span",{pre:!0,attrs:{class:"token variable"}},[s._v("`")])]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# or")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("kill")]),s._v(" -INT "),n("span",{pre:!0,attrs:{class:"token variable"}},[n("span",{pre:!0,attrs:{class:"token variable"}},[s._v("`")]),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("cat")]),s._v(" /var/run/nginx.pid"),n("span",{pre:!0,attrs:{class:"token variable"}},[s._v("`")])]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 完美停止工作进程")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("kill")]),s._v(" -WINCH "),n("span",{pre:!0,attrs:{class:"token variable"}},[n("span",{pre:!0,attrs:{class:"token variable"}},[s._v("`")]),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("cat")]),s._v(" /var/run/nginx.pid"),n("span",{pre:!0,attrs:{class:"token variable"}},[s._v("`")])]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 强制停止nginx")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("pkill")]),s._v(" -9 nginx\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 停止nginx的命令")]),s._v("\nnginx -s stop\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br")])]),n("p",[s._v("检查对 nginx.conf 文件的修改是否正确")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[s._v("nginx -t -c /etc/nginx/nginx.conf\n或者\nnginx -t\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br")])]),n("p",[s._v("查看 nginx 的版本信息")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[s._v("nginx -v\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("h2",{attrs:{id:"mysql"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#mysql"}},[s._v("#")]),s._v(" mysql")]),s._v(" "),n("p",[s._v("安装 mysql")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v('# 检查系统是否已经安装mysql\nwhich mysql # /user/bin/mysql\n# 安装mysql # 安装时根据安装提示设置相关mysql\nsudo apt-get install mysql-server mysql-client\n# 测试是否安装成功\nsudo netstat -tap | grep mysql\n# 登录mysql\nmysql -u root -p\n# 设置密码\nmysqladmin -u root password "new_password";\n')])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br")])]),n("p",[s._v("登录")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("mysql -u 用户名 -p\nEnter password: 输入密码\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br")])]),n("p",[s._v("操控数据库")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("以下命令需要登录mysql之后,才能执行\n# 显示所有数据库\nshow databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| WP |\n| mysql |\n| performance_schema |\n| sys |\n+--------------------+\n5 rows in set (0.00 sec)\n\n# 创建数据库\ncreate database 数据库名\n# 删除数据库\ndrop database 数据库名\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br"),n("span",{staticClass:"line-number"},[s._v("17")]),n("br"),n("span",{staticClass:"line-number"},[s._v("18")]),n("br")])]),n("p",[s._v("登录")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("mysql -u 用户名 -p => 回车 => 输入密码\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("创建数据库")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("create database 库名;\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("导入备份数据")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("source 数据路径;\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("参考")]),s._v(" "),n("blockquote",[n("p",[n("a",{attrs:{href:"http://www.runoob.com/mysql/mysql-tutorial.html",target:"_blank",rel:"noopener noreferrer"}},[s._v("MySQL 教程"),n("OutboundLink")],1),s._v(" >"),n("a",{attrs:{href:"http://www.jianshu.com/p/3111290b87f4",target:"_blank",rel:"noopener noreferrer"}},[s._v("Ubuntu 16.04 mysql 安装配置"),n("OutboundLink")],1)])]),s._v(" "),n("h2",{attrs:{id:"wordpress"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#wordpress"}},[s._v("#")]),s._v(" WordPress")]),s._v(" "),n("blockquote",[n("p",[n("a",{attrs:{href:"#mysql"}},[s._v("安装 mysql")]),n("br"),s._v(" > "),n("a",{attrs:{href:"#%E9%85%8D%E7%BD%AEftp%E6%9C%8D%E5%8A%A1%E5%99%A8"}},[s._v("安装 ftp")]),n("br"),s._v(" > "),n("a",{attrs:{href:"#nginx"}},[s._v("安装 nginx")]),n("br"),s._v(" >"),n("a",{attrs:{href:"https://segmentfault.com/a/1190000005786808",target:"_blank",rel:"noopener noreferrer"}},[s._v("ubuntu 16.04 LTS 下 php 环境配置"),n("OutboundLink")],1)])]),s._v(" "),n("p",[s._v("接下来开始 WP 的安装了\n首先下载源代码\nwget https://cn.wordpress.org/wordpress-4.8.1-zh_CN.tar.gz")]),s._v(" "),n("h2",{attrs:{id:"grun"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#grun"}},[s._v("#")]),s._v(" GRUN")]),s._v(" "),n("p",[s._v("编辑")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("#进入GRUN")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("vim")]),s._v(" /etc/default/grub\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 在文件中。将相关内容设置为如下内容")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("GRUB_CMDLINE_LINUX_DEFAULT")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"quiet splash"')]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("GRUB_CMDLINE_LINUX")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"acpi=off"')]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br")])]),n("p",[s._v("保存修改&配置到系统")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("sudo update-grup\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("apci=off")]),s._v(" "),n("blockquote",[n("p",[s._v("禁用部分设备硬件,提高系统响应速度。特别是使用 HHD 作为系统盘的情况下。效果显著")])]),s._v(" "),n("p",[s._v("nomodeset")]),s._v(" "),n("blockquote",[n("p",[s._v("最新的内核已经把视频模式设置嵌入内核中,所以所有显卡硬件程序的指定时钟和寄存器当图形服务器启动时在内核进行而不是图形设备运行,这使得我们在启动时可以看到不闪的和高分辨率的好看的启动界面,但是,在某些视频卡它不能正常工作而现实黑屏,增加 nomodeset 参数则告诉内核不要加载显卡而用 BIOS 模式直到图形界面运行")]),n("hr"),s._v("\nThe newest kernels have moved the video mode setting into the kernel. So all the programming of the hardware specific clock rates and registers on the video card happen in the kernel rather than in the X driver when the X server starts.. This makes it possible to have high resolution nice looking splash (boot) screens and flicker free transitions from boot splash to login screen. Unfortunately, on some cards this doesnt work properly and you end up with a black screen. Adding the nomodeset parameter instructs the kernel to not load video drivers and use BIOS modes instead until X is loaded."),n("p")]),s._v(" "),n("p",[s._v("quiet")]),s._v(" "),n("blockquote",[n("p",[s._v("内核启动时候简化提示信息")])]),s._v(" "),n("p",[s._v("splash")]),s._v(" "),n("blockquote",[n("p",[s._v("启动的时候使用图形化的进度条代替 init 的字符输出过程")])]),s._v(" "),n("p",[s._v("详细代码")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# If you change this file, run 'update-grub' afterwards to update")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# /boot/grub/grub.cfg.")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# For full documentation of the options in this file, see:")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# info -f grub -n 'Simple configuration'")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("GRUB_DEFAULT")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("GRUB_HIDDEN_TIMEOUT")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("GRUB_HIDDEN_TIMEOUT_QUIET")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("true\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("GRUB_TIMEOUT")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("GRUB_DISTRIBUTOR")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token variable"}},[n("span",{pre:!0,attrs:{class:"token variable"}},[s._v("`")]),s._v("lsb_release -i -s "),n("span",{pre:!0,attrs:{class:"token operator"}},[n("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[s._v("2")]),s._v(">")]),s._v(" /dev/null "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("||")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token builtin class-name"}},[s._v("echo")]),s._v(" Debian"),n("span",{pre:!0,attrs:{class:"token variable"}},[s._v("`")])]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("GRUB_CMDLINE_LINUX_DEFAULT")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"quiet"')]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("GRUB_CMDLINE_LINUX")]),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"acpi=on"')]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# Uncomment to enable BadRAM filtering, modify to suit your needs")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# This works with Linux (no patch required) and with any kernel that obtains")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v('#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"')]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# Uncomment to disable graphical terminal (grub-pc only)")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("#GRUB_TERMINAL=console")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# The resolution used on graphical terminal")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# note that you can use only modes which your graphic card supports via VBE")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# you can see them in real GRUB with the command `vbeinfo'")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("#GRUB_GFXMODE=640x480")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v('# Uncomment if you don\'t want GRUB to pass "root=UUID=xxx" parameter to Linux')]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("#GRUB_DISABLE_LINUX_UUID=true")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# Uncomment to disable generation of recovery mode menu entries")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v('#GRUB_DISABLE_RECOVERY="true"')]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# Uncomment to get a beep at grub start")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v('#GRUB_INIT_TUNE="480 440 1"')]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br"),n("span",{staticClass:"line-number"},[s._v("17")]),n("br"),n("span",{staticClass:"line-number"},[s._v("18")]),n("br"),n("span",{staticClass:"line-number"},[s._v("19")]),n("br"),n("span",{staticClass:"line-number"},[s._v("20")]),n("br"),n("span",{staticClass:"line-number"},[s._v("21")]),n("br"),n("span",{staticClass:"line-number"},[s._v("22")]),n("br"),n("span",{staticClass:"line-number"},[s._v("23")]),n("br"),n("span",{staticClass:"line-number"},[s._v("24")]),n("br"),n("span",{staticClass:"line-number"},[s._v("25")]),n("br"),n("span",{staticClass:"line-number"},[s._v("26")]),n("br"),n("span",{staticClass:"line-number"},[s._v("27")]),n("br"),n("span",{staticClass:"line-number"},[s._v("28")]),n("br"),n("span",{staticClass:"line-number"},[s._v("29")]),n("br"),n("span",{staticClass:"line-number"},[s._v("30")]),n("br"),n("span",{staticClass:"line-number"},[s._v("31")]),n("br"),n("span",{staticClass:"line-number"},[s._v("32")]),n("br"),n("span",{staticClass:"line-number"},[s._v("33")]),n("br"),n("span",{staticClass:"line-number"},[s._v("34")]),n("br")])]),n("h2",{attrs:{id:"l2tp-client"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#l2tp-client"}},[s._v("#")]),s._v(" L2TP Client")]),s._v(" "),n("p",[s._v("添加源")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" add-apt-repository ppa:nm-l2tp/network-manager-l2tp\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("更新缓存")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt-get")]),s._v(" update\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("安装 network-manager-l2tp")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" network-manager-l2tp\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("安装 UI")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" network-manager-l2tp-gnome\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("配置\n配置网关:"),n("strong",[n("em",[s._v(",")])]),s._v(","),n("strong",[n("em",[s._v(",")])]),n("br"),s._v("\n设置用户名: ***")]),s._v(" "),n("h2",{attrs:{id:"docker"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#docker"}},[s._v("#")]),s._v(" docker")]),s._v(" "),n("h4",{attrs:{id:"前端环境开发"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#前端环境开发"}},[s._v("#")]),s._v(" 前端环境开发")]),s._v(" "),n("p",[n("a",{attrs:{href:"http://vuetips.com/use-docker-containers",target:"_blank",rel:"noopener noreferrer"}},[s._v("How to use Docker containers for Vue.js applications"),n("OutboundLink")],1)]),s._v(" "),n("h4",{attrs:{id:"win10-运行-linux-容器"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#win10-运行-linux-容器"}},[s._v("#")]),s._v(" win10 运行 linux 容器")]),s._v(" "),n("p",[s._v("资料"),n("br"),s._v(" "),n("a",{attrs:{href:"https://github.com/luizcarlosfaria/kb/wiki/Docker-no-Windows-vs-Docker-no-Linux",target:"_blank",rel:"noopener noreferrer"}},[s._v("Docker-no-Windows-vs-Docker-no-Linux"),n("OutboundLink")],1),n("br"),s._v(" "),n("a",{attrs:{href:"https://blog.csdn.net/wenwenxiong/article/details/78728696",target:"_blank",rel:"noopener noreferrer"}},[s._v("Docker 配置本地镜像与容器的存储位置"),n("OutboundLink")],1),n("br"),s._v("\n搜索条件:docker OSType")]),s._v(" "),n("h4",{attrs:{id:"development-mode"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#development-mode"}},[s._v("#")]),s._v(" Development mode")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v('docker run --rm -v $(pwd):/src -w /src -p 8080:8080 node:6 bash -c "npm install && npm run dev"\n')])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("h4",{attrs:{id:"build-for-production"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#build-for-production"}},[s._v("#")]),s._v(" Build for production")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v('docker run --rm -v $(pwd):/src -w /src node:6 bash -c "npm install && npm run build"\n')])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("h4",{attrs:{id:"command-breakout"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#command-breakout"}},[s._v("#")]),s._v(" Command breakout")]),s._v(" "),n("p",[n("code",[s._v("--rm")]),s._v(" tells Docker to delete the container when it is stopped (otherwise you’ll end up with a new container every time you start or build your app).")]),s._v(" "),n("p",[s._v("node:6 is the name of the image.")]),s._v(" "),n("p",[n("code",[s._v("-v")]),s._v(" .:/src mounts the current directory (.) at the root of the container in a folder named /src. This is very similar to a virtual drive (Windows) or a virtual disk (Un*x/OSX).")]),s._v(" "),n("p",[n("code",[s._v("-w")]),s._v(" /src sets the container’s working directory (where commands will be executed) at the folder we just created.")]),s._v(" "),n("p",[n("code",[s._v("-p")]),s._v(" 8080:8080 opens the port 8080 of the container to your local browser (needed by Webpack dev server)")]),s._v(" "),n("p",[n("code",[s._v("bash -c")]),s._v(' "..." starts a new bash instance inside the container, useful for such complicated bash commands using an && that may be misinterpreted by your system’s shell.')]),s._v(" "),n("h2",{attrs:{id:"mongodb"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#mongodb"}},[s._v("#")]),s._v(" mongodb")]),s._v(" "),n("p",[s._v("1、添加 MongoDB 公共 GPG 钥匙。"),n("br"),n("br")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("2、创建列表文件,官方 ubuntu16.04 安装代码如下:")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token builtin class-name"}},[s._v("echo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"deb http://repo.mongodb.org/apt/ubuntu\\\n xenial/mongodb-org/3.2 multiverse"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("\\")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("|")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("tee")]),s._v(" /etc/apt/sources.list.d/mongodb-org-3.2.list\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br")])]),n("p",[s._v("因为我们要替换国内的镜像,所以这里就不能使用 repo.mongodb.org 作下载地址了。把官方这句替换如下:")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token builtin class-name"}},[s._v("echo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"deb http://mirrors.aliyun.com/mongodb/apt/ubuntu\\\n xenial/mongodb-org/3.2 multiverse"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("\\")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("|")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("tee")]),s._v(" /etc/apt/sources.list.d/mongodb-org-3.2.list\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br")])]),n("p",[s._v("3、重新加载本地包数据库")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt-get")]),s._v(" update\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("4、安装 MongoDB")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt-get")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" -y mongodb-org\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("5、启动 MongoDB")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("service")]),s._v(" mongod start\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[s._v("6、打开 MongoDB")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" mongo\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("h2",{attrs:{id:"vpn"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#vpn"}},[s._v("#")]),s._v(" VPN")]),s._v(" "),n("p",[s._v("检测服务器是否开启 bbr 加速")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[s._v("sysctl net.ipv4.tcp_congestion_control\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])]),n("p",[n("a",{attrs:{href:"https://github.com/shadowsocks/shadowsocks/wiki/Shadowsocks-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E",target:"_blank",rel:"noopener noreferrer"}},[s._v("shadowsocks 使用指南"),n("OutboundLink")],1)]),s._v(" "),n("p",[s._v("自定义命令:开启ss服务")]),s._v(" "),n("div",{staticClass:"language-bash line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-bash"}},[n("code",[n("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" ssserver -p "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("1134")]),s._v(" -k 132546tt -m rc4-md5 --user nobody -d start\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br")])])])}),[],!1,null,null,null);a.default=e.exports}}]);