(window.webpackJsonp=window.webpackJsonp||[]).push([[208],{603:function(s,t,e){"use strict";e.r(t);var r=e(29),n=Object(r.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"single-node-setup"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#single-node-setup"}},[s._v("#")]),s._v(" Single Node Setup")]),s._v(" "),t("p",[s._v("Users can start IoTDB by the start-server script under the sbin folder.")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("# Unix/OS X\n> nohup sbin/start-server.sh >/dev/null 2>&1 &\nor\n> nohup sbin/start-server.sh -c <conf_path> -rpc_port <rpc_port> >/dev/null 2>&1 &\n\n# Windows\n> sbin\\start-server.bat -c <conf_path> -rpc_port <rpc_port>\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br")])]),t("ul",[t("li",[s._v('"-c" and "-rpc_port" are optional.')]),s._v(" "),t("li",[s._v('option "-c" specifies the system configuration file directory.')]),s._v(" "),t("li",[s._v('option "-rpc_port" specifies the rpc port.')]),s._v(" "),t("li",[s._v("if both option specified, the "),t("em",[s._v("rpc_port")]),s._v(" will overrides the rpc_port in "),t("em",[s._v("conf_path")]),s._v(".")])])])}),[],!1,null,null,null);t.default=n.exports}}]);