mirror of
https://github.com/taigrr/nats.docs
synced 2025-01-18 04:03:23 -08:00
wip
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism.css">
|
||||
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<meta name="HandheldFriendly" content="true"/>
|
||||
@@ -57,13 +58,18 @@
|
||||
<link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
|
||||
|
||||
|
||||
<link rel="next" href="flags.html" />
|
||||
|
||||
|
||||
<link rel="prev" href="running.html" />
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="book">
|
||||
<div class="book-summary">
|
||||
|
||||
@@ -152,6 +158,58 @@
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.4" data-path="flags.html">
|
||||
|
||||
<a href="flags.html">
|
||||
|
||||
|
||||
Flags
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.5" data-path="configuration.html">
|
||||
|
||||
<a href="configuration.html">
|
||||
|
||||
|
||||
Configuration File
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.6" data-path="signals.html">
|
||||
|
||||
<a href="signals.html">
|
||||
|
||||
|
||||
Signals
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.7" data-path="windows_srv.html">
|
||||
|
||||
<a href="windows_srv.html">
|
||||
|
||||
|
||||
Window Service
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
@@ -164,6 +222,38 @@
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.2" data-path="../developer/">
|
||||
|
||||
<a href="../developer/">
|
||||
|
||||
|
||||
Developing with NATS
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.2.1" data-path="../developer/connecting.html">
|
||||
|
||||
<a href="../developer/connecting.html">
|
||||
|
||||
|
||||
Connecting
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -213,20 +303,20 @@
|
||||
<p>The nats-server doesn't come bundled with any clients. But most client libraries come with tools that allow you to publish, subscribe, send requests and reply messages.</p>
|
||||
<p>If you have a client library installed you can try using a bundled client. Otherwise you can easily install some clients.</p>
|
||||
<h3 id="if-you-have-go-installed">If you have Go installed:</h3>
|
||||
<pre><code>> go get https://github.com/nats-io/go-nats-examples/tools/nats-pub
|
||||
<pre class="language-"><code>> go get https://github.com/nats-io/go-nats-examples/tools/nats-pub
|
||||
> go get https://github.com/nats-io/go-nats-examples/tools/nats-sub
|
||||
</code></pre><h3 id="or-download-a-zip-file">Or download a zip file</h3>
|
||||
<p>You can pre-built binaries from the <a href="https://github.com/nats-io/go-nats-examples/releases/tag/0.0.50" target="_blank">go-nats-examples repo</a></p>
|
||||
<h3 id="testing-your-setup">Testing your setup</h3>
|
||||
<p>First <a href="running.html">start a nats-server</a>. Then you can on two different terminal windows:</p>
|
||||
<p>Start a subscriber:</p>
|
||||
<pre><code>> nats-sub ">"
|
||||
<pre class="language-"><code>> nats-sub ">"
|
||||
Listening on [>]
|
||||
</code></pre><p>Publish your first message:</p>
|
||||
<pre><code>> nats-pub hello world
|
||||
<pre class="language-"><code>> nats-pub hello world
|
||||
Published [hello] : 'world'
|
||||
</code></pre><p>On the subscriber window you should see:</p>
|
||||
<pre><code>[#1] Received on [hello]: 'world'
|
||||
<pre class="language-"><code>[#1] Received on [hello]: 'world'
|
||||
</code></pre>
|
||||
|
||||
</section>
|
||||
@@ -254,11 +344,15 @@ Published [hello] : 'world'
|
||||
|
||||
|
||||
|
||||
<a href="running.html" class="navigation navigation-prev navigation-unique" aria-label="Previous page: Running">
|
||||
<a href="running.html" class="navigation navigation-prev " aria-label="Previous page: Running">
|
||||
<i class="fa fa-angle-left"></i>
|
||||
</a>
|
||||
|
||||
|
||||
<a href="flags.html" class="navigation navigation-next " aria-label="Next page: Flags">
|
||||
<i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
@@ -266,11 +360,397 @@ Published [hello] : 'world'
|
||||
<script>
|
||||
var gitbook = gitbook || [];
|
||||
gitbook.push(function() {
|
||||
gitbook.page.hasChanged({"page":{"title":"Clients","level":"1.1.1.3","depth":3,"previous":{"title":"Running","level":"1.1.1.2","depth":3,"path":"nats_server/running.md","ref":"nats_server/running.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"nats_server/clients.md","mtime":"2019-05-13T22:01:38.527Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-13T22:02:53.861Z"},"basePath":"..","book":{"language":""}});
|
||||
gitbook.page.hasChanged({"page":{"title":"Clients","level":"1.1.1.3","depth":3,"next":{"title":"Flags","level":"1.1.1.4","depth":3,"path":"nats_server/flags.md","ref":"nats_server/flags.md","articles":[]},"previous":{"title":"Running","level":"1.1.1.2","depth":3,"path":"nats_server/running.md","ref":"nats_server/running.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["prism","-highlight","include-html"],"pluginsConfig":{"prism":{},"include-html":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"nats_server/clients.md","mtime":"2019-05-13T15:08:53.940Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-15T15:16:11.909Z"},"basePath":"..","book":{"language":""}});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<!-- Viz Support -->
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js"> </script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/lite.render.js"> </script>
|
||||
|
||||
<!-- Site code -->
|
||||
<script>
|
||||
function flash(elem, text, speed) {
|
||||
if (!elem) {
|
||||
return;
|
||||
}
|
||||
var s = elem.style;
|
||||
elem.textContent = text;
|
||||
s.display = 'block';
|
||||
s.opacity = 1;
|
||||
(function fade() {
|
||||
(s.opacity -= .1) < .1 ? s.display = "none" : setTimeout(fade, speed)
|
||||
})();
|
||||
}
|
||||
|
||||
function copyToClipboard(text, el) {
|
||||
var copyTest = document.queryCommandSupported('copy');
|
||||
var elOriginalText = el.getAttribute('data-original-title');
|
||||
|
||||
if (copyTest === true) {
|
||||
var copyTextArea = document.createElement("textarea");
|
||||
copyTextArea.value = text;
|
||||
document.body.appendChild(copyTextArea);
|
||||
copyTextArea.select();
|
||||
try {
|
||||
var successful = document.execCommand('copy');
|
||||
var msg = successful ? 'Copied!' : 'Whoops, not copied!';
|
||||
var parent = el.parentNode.parentNode;
|
||||
var msgElem = parent.querySelector(".copy-msg");
|
||||
flash(msgElem, msg, 100);
|
||||
} catch (err) {
|
||||
console.log('Oops, unable to copy', err);
|
||||
}
|
||||
document.body.removeChild(copyTextArea);
|
||||
el.setAttribute('data-original-title', elOriginalText);
|
||||
} else {
|
||||
// Fallback if browser doesn't support .execCommand('copy')
|
||||
window.prompt("Copy to clipboard: Ctrl+C or Command+C, Enter", text);
|
||||
}
|
||||
}
|
||||
|
||||
function processGraphVizSections(elements) {
|
||||
var elements = document.querySelectorAll("[data-viz]");
|
||||
var viz = new Viz();
|
||||
Array.prototype.forEach.call(elements, function (x) {
|
||||
var engine = x.getAttribute("data-viz");
|
||||
var image = viz.renderImageElement(x.innerText, {
|
||||
format: "png",
|
||||
engine: engine
|
||||
}).then(function (element) {
|
||||
x.parentNode.insertBefore(element, x);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
|
||||
function updateLanguageParameter(value) {
|
||||
const param = "lang";
|
||||
|
||||
if (window.location.href.indexOf("?") >= 0) {
|
||||
const regExp = new RegExp(param + "(.+?)(&|$)", "g");
|
||||
const newUrl = window.location.href.replace(regExp, param + "=" + encodeURIComponent(value) + "$2");
|
||||
window.history.pushState("", "", newUrl);
|
||||
} else {
|
||||
const newUrl = window.location.href + "?" + param + "=" + encodeURIComponent(value);
|
||||
window.history.pushState("", "", newUrl);
|
||||
}
|
||||
}
|
||||
|
||||
function getLanguageParameter() {
|
||||
var match = RegExp('[?&]lang=([^&]*)').exec(window.location.search);
|
||||
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
|
||||
}
|
||||
|
||||
function docReady() {
|
||||
window.gitbook.events.bind("page.change", function () {
|
||||
pageChanged();
|
||||
});
|
||||
}
|
||||
|
||||
function pageChanged() {
|
||||
document.querySelectorAll('.js-copy').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var el = this;
|
||||
var parent = this.parentNode.parentNode;
|
||||
var code = parent.querySelector('code');
|
||||
var text = code.textContent || code.innerText;
|
||||
copyToClipboard(text, el);
|
||||
})
|
||||
});
|
||||
|
||||
document.querySelectorAll('.api-lang').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var lang = this.getAttribute('data-language');
|
||||
|
||||
// Stop the infinite loop
|
||||
if (curLang == lang) {
|
||||
return;
|
||||
}
|
||||
|
||||
sessionStorage.setItem('nats-api-language', lang); // So we only do this 1x
|
||||
|
||||
updateLanguageParameter(lang)
|
||||
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
if (sessionStorage) {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var queryLang = getLanguageParameter();
|
||||
var lang = curLang;
|
||||
|
||||
if (queryLang) { // query takes precedent
|
||||
lang = queryLang
|
||||
}
|
||||
|
||||
if (lang) {
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
processGraphVizSections();
|
||||
}, 1);
|
||||
}
|
||||
|
||||
|
||||
if (document.readyState != 'loading') docReady();
|
||||
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', docReady);
|
||||
else document.attachEvent('onreadystatechange', function () {
|
||||
if (document.readyState == 'complete') docReady();
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Github Buttons -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
|
||||
<!-- Styles -->
|
||||
<style>
|
||||
div.graphviz {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
padding-top: 15px;
|
||||
padding-right: 15px;
|
||||
padding-bottom: 15px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
code[data-viz] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tab-wrap {
|
||||
transition: 0.3s box-shadow ease;
|
||||
border-radius: 6px;
|
||||
max-width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
list-style: none;
|
||||
background-color: #fff;
|
||||
margin: 10px 0;
|
||||
/* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);*/
|
||||
}
|
||||
|
||||
.tab-wrap:hover {
|
||||
box-shadow: 0 12px 23px rgba(0, 0, 0, 0.23), 0 10px 10px rgba(0, 0, 0, 0.19);
|
||||
}
|
||||
|
||||
.tab {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Using scss these would be generated, we have to manually create enough for all tabs, start with 8 */
|
||||
.tab:checked:nth-of-type(1)~.tab__content:nth-of-type(1) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(2)~.tab__content:nth-of-type(2) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(3)~.tab__content:nth-of-type(3) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(4)~.tab__content:nth-of-type(4) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(5)~.tab__content:nth-of-type(5) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(6)~.tab__content:nth-of-type(6) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(7)~.tab__content:nth-of-type(7) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(8)~.tab__content:nth-of-type(8) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:first-of-type:not(:last-of-type)+label {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
.tab:not(:first-of-type):not(:last-of-type)+label {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.tab:last-of-type:not(:first-of-type)+label {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.tab:checked+label {
|
||||
background-color: #fff;
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
cursor: default;
|
||||
font-weight: bold;
|
||||
border: 1px solid #ddd;
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
|
||||
.tab:checked+label:hover {
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.tab+label {
|
||||
box-shadow: 0 -1px 0 #eee inset;
|
||||
border-radius: 6px 6px 0 0;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: #27aae1;
|
||||
flex-grow: 3;
|
||||
text-align: center;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
text-align: center;
|
||||
transition: 0.3s background-color ease, 0.3s box-shadow ease;
|
||||
height: 50px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.tab+label:hover {
|
||||
background-color: #f9f9f9;
|
||||
box-shadow: 0 1px 0 #f4f4f4 inset;
|
||||
}
|
||||
|
||||
.tab__content {
|
||||
padding: 2px 2px;
|
||||
background-color: transparent;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: -1;
|
||||
opacity: 0;
|
||||
left: 0;
|
||||
-webkit-transform: translateY(-3px);
|
||||
transform: translateY(-3px);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.tab__content pre {
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
|
||||
.toolbar-icons {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
a.toolbar-icons {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.toolbar-icons .mdi {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.copy-msg {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.pull-right {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
.pull-left {
|
||||
float: left !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook.js"></script>
|
||||
<script src="../gitbook/theme.js"></script>
|
||||
|
||||
806
docs/nats_server/configuration.html
Normal file
806
docs/nats_server/configuration.html
Normal file
@@ -0,0 +1,806 @@
|
||||
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="" >
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
||||
<title>Configuration File · GitBook</title>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="description" content="">
|
||||
<meta name="generator" content="GitBook 3.2.3">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/style.css">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism.css">
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<meta name="HandheldFriendly" content="true"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
|
||||
<link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
|
||||
|
||||
|
||||
<link rel="next" href="signals.html" />
|
||||
|
||||
|
||||
<link rel="prev" href="flags.html" />
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="book">
|
||||
<div class="book-summary">
|
||||
|
||||
|
||||
<div id="book-search-input" role="search">
|
||||
<input type="text" placeholder="Type to search" />
|
||||
</div>
|
||||
|
||||
|
||||
<nav role="navigation">
|
||||
|
||||
|
||||
|
||||
<ul class="summary">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.1" data-path="../">
|
||||
|
||||
<a href="../">
|
||||
|
||||
|
||||
Introduction
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.1.1" data-path="./">
|
||||
|
||||
<a href="./">
|
||||
|
||||
|
||||
NATS Server
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.1.1.1" data-path="installation.html">
|
||||
|
||||
<a href="installation.html">
|
||||
|
||||
|
||||
Installing
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.2" data-path="running.html">
|
||||
|
||||
<a href="running.html">
|
||||
|
||||
|
||||
Running
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.3" data-path="clients.html">
|
||||
|
||||
<a href="clients.html">
|
||||
|
||||
|
||||
Clients
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.4" data-path="flags.html">
|
||||
|
||||
<a href="flags.html">
|
||||
|
||||
|
||||
Flags
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter active" data-level="1.1.1.5" data-path="configuration.html">
|
||||
|
||||
<a href="configuration.html">
|
||||
|
||||
|
||||
Configuration File
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.6" data-path="signals.html">
|
||||
|
||||
<a href="signals.html">
|
||||
|
||||
|
||||
Signals
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.7" data-path="windows_srv.html">
|
||||
|
||||
<a href="windows_srv.html">
|
||||
|
||||
|
||||
Window Service
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.2" data-path="../developer/">
|
||||
|
||||
<a href="../developer/">
|
||||
|
||||
|
||||
Developing with NATS
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.2.1" data-path="../developer/connecting.html">
|
||||
|
||||
<a href="../developer/connecting.html">
|
||||
|
||||
|
||||
Connecting
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="divider"></li>
|
||||
|
||||
<li>
|
||||
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
|
||||
Published with GitBook
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="book-body">
|
||||
|
||||
<div class="body-inner">
|
||||
|
||||
|
||||
|
||||
<div class="book-header" role="navigation">
|
||||
|
||||
|
||||
<!-- Title -->
|
||||
<h1>
|
||||
<i class="fa fa-circle-o-notch fa-spin"></i>
|
||||
<a href=".." >Configuration File</a>
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="page-wrapper" tabindex="-1" role="main">
|
||||
<div class="page-inner">
|
||||
|
||||
<div id="book-search-results">
|
||||
<div class="search-noresults">
|
||||
|
||||
<section class="normal markdown-section">
|
||||
|
||||
<h2 id="configuration-file-format">Configuration File Format</h2>
|
||||
<p>The NATS server products provide a flexible configuration format that combines the best of traditional formats and newer styles such as JSON and YAML.</p>
|
||||
<p>The config file supports the following syntax:</p>
|
||||
<ul>
|
||||
<li>Lines or options can be commented with <code>#</code> and <code>//</code></li>
|
||||
<li>Value assignment can use:<ul>
|
||||
<li>Equals sign: <code>foo = 2</code></li>
|
||||
<li>Colon: <code>foo: 2</code></li>
|
||||
<li>Whitespace: <code>foo 2</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Arrays are enclosed in brackets: <code>[...]</code></li>
|
||||
<li>Maps are enclosed in braces: <code>{...}</code></li>
|
||||
<li>Maps can be assigned with no key separator</li>
|
||||
<li>Semicolons can be used as terminators</li>
|
||||
</ul>
|
||||
<h3 id="variables">Variables</h3>
|
||||
<p>Server configurations can specify variables. Variables allow you to reference a value from one or more sections in the configuration. </p>
|
||||
<p>Variables:</p>
|
||||
<ul>
|
||||
<li>Are block scoped</li>
|
||||
<li>Are referenced with a <code>$</code> prefix.</li>
|
||||
<li>Can be resolved from the environment</li>
|
||||
</ul>
|
||||
<blockquote>
|
||||
<p>If the environment variable value begins with a number you may have trouble resolving it depending on the server version you are running.</p>
|
||||
</blockquote>
|
||||
<pre class="language-"><code># Define a variable in the config
|
||||
TOKEN: "secret"
|
||||
|
||||
# Reference the variable
|
||||
authorization {
|
||||
token: $TOKEN
|
||||
}
|
||||
</code></pre><p>A similar configuration, but this time, the value is in the environment:</p>
|
||||
<pre class="language-"><code>authorization {
|
||||
token: $TOKEN
|
||||
}
|
||||
</code></pre><p>export TOKEN="hello"; nats-server -c /config/file</p>
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<div class="search-results">
|
||||
<div class="has-results">
|
||||
|
||||
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
|
||||
<ul class="search-results-list"></ul>
|
||||
|
||||
</div>
|
||||
<div class="no-results">
|
||||
|
||||
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<a href="flags.html" class="navigation navigation-prev " aria-label="Previous page: Flags">
|
||||
<i class="fa fa-angle-left"></i>
|
||||
</a>
|
||||
|
||||
|
||||
<a href="signals.html" class="navigation navigation-next " aria-label="Next page: Signals">
|
||||
<i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var gitbook = gitbook || [];
|
||||
gitbook.push(function() {
|
||||
gitbook.page.hasChanged({"page":{"title":"Configuration File","level":"1.1.1.5","depth":3,"next":{"title":"Signals","level":"1.1.1.6","depth":3,"path":"nats_server/signals.md","ref":"nats_server/signals.md","articles":[]},"previous":{"title":"Flags","level":"1.1.1.4","depth":3,"path":"nats_server/flags.md","ref":"nats_server/flags.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["prism","-highlight","include-html"],"pluginsConfig":{"prism":{},"include-html":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"nats_server/configuration.md","mtime":"2019-05-13T21:46:03.611Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-15T15:16:11.909Z"},"basePath":"..","book":{"language":""}});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<!-- Viz Support -->
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js"> </script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/lite.render.js"> </script>
|
||||
|
||||
<!-- Site code -->
|
||||
<script>
|
||||
function flash(elem, text, speed) {
|
||||
if (!elem) {
|
||||
return;
|
||||
}
|
||||
var s = elem.style;
|
||||
elem.textContent = text;
|
||||
s.display = 'block';
|
||||
s.opacity = 1;
|
||||
(function fade() {
|
||||
(s.opacity -= .1) < .1 ? s.display = "none" : setTimeout(fade, speed)
|
||||
})();
|
||||
}
|
||||
|
||||
function copyToClipboard(text, el) {
|
||||
var copyTest = document.queryCommandSupported('copy');
|
||||
var elOriginalText = el.getAttribute('data-original-title');
|
||||
|
||||
if (copyTest === true) {
|
||||
var copyTextArea = document.createElement("textarea");
|
||||
copyTextArea.value = text;
|
||||
document.body.appendChild(copyTextArea);
|
||||
copyTextArea.select();
|
||||
try {
|
||||
var successful = document.execCommand('copy');
|
||||
var msg = successful ? 'Copied!' : 'Whoops, not copied!';
|
||||
var parent = el.parentNode.parentNode;
|
||||
var msgElem = parent.querySelector(".copy-msg");
|
||||
flash(msgElem, msg, 100);
|
||||
} catch (err) {
|
||||
console.log('Oops, unable to copy', err);
|
||||
}
|
||||
document.body.removeChild(copyTextArea);
|
||||
el.setAttribute('data-original-title', elOriginalText);
|
||||
} else {
|
||||
// Fallback if browser doesn't support .execCommand('copy')
|
||||
window.prompt("Copy to clipboard: Ctrl+C or Command+C, Enter", text);
|
||||
}
|
||||
}
|
||||
|
||||
function processGraphVizSections(elements) {
|
||||
var elements = document.querySelectorAll("[data-viz]");
|
||||
var viz = new Viz();
|
||||
Array.prototype.forEach.call(elements, function (x) {
|
||||
var engine = x.getAttribute("data-viz");
|
||||
var image = viz.renderImageElement(x.innerText, {
|
||||
format: "png",
|
||||
engine: engine
|
||||
}).then(function (element) {
|
||||
x.parentNode.insertBefore(element, x);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
|
||||
function updateLanguageParameter(value) {
|
||||
const param = "lang";
|
||||
|
||||
if (window.location.href.indexOf("?") >= 0) {
|
||||
const regExp = new RegExp(param + "(.+?)(&|$)", "g");
|
||||
const newUrl = window.location.href.replace(regExp, param + "=" + encodeURIComponent(value) + "$2");
|
||||
window.history.pushState("", "", newUrl);
|
||||
} else {
|
||||
const newUrl = window.location.href + "?" + param + "=" + encodeURIComponent(value);
|
||||
window.history.pushState("", "", newUrl);
|
||||
}
|
||||
}
|
||||
|
||||
function getLanguageParameter() {
|
||||
var match = RegExp('[?&]lang=([^&]*)').exec(window.location.search);
|
||||
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
|
||||
}
|
||||
|
||||
function docReady() {
|
||||
window.gitbook.events.bind("page.change", function () {
|
||||
pageChanged();
|
||||
});
|
||||
}
|
||||
|
||||
function pageChanged() {
|
||||
document.querySelectorAll('.js-copy').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var el = this;
|
||||
var parent = this.parentNode.parentNode;
|
||||
var code = parent.querySelector('code');
|
||||
var text = code.textContent || code.innerText;
|
||||
copyToClipboard(text, el);
|
||||
})
|
||||
});
|
||||
|
||||
document.querySelectorAll('.api-lang').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var lang = this.getAttribute('data-language');
|
||||
|
||||
// Stop the infinite loop
|
||||
if (curLang == lang) {
|
||||
return;
|
||||
}
|
||||
|
||||
sessionStorage.setItem('nats-api-language', lang); // So we only do this 1x
|
||||
|
||||
updateLanguageParameter(lang)
|
||||
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
if (sessionStorage) {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var queryLang = getLanguageParameter();
|
||||
var lang = curLang;
|
||||
|
||||
if (queryLang) { // query takes precedent
|
||||
lang = queryLang
|
||||
}
|
||||
|
||||
if (lang) {
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
processGraphVizSections();
|
||||
}, 1);
|
||||
}
|
||||
|
||||
|
||||
if (document.readyState != 'loading') docReady();
|
||||
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', docReady);
|
||||
else document.attachEvent('onreadystatechange', function () {
|
||||
if (document.readyState == 'complete') docReady();
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Github Buttons -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
|
||||
<!-- Styles -->
|
||||
<style>
|
||||
div.graphviz {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
padding-top: 15px;
|
||||
padding-right: 15px;
|
||||
padding-bottom: 15px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
code[data-viz] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tab-wrap {
|
||||
transition: 0.3s box-shadow ease;
|
||||
border-radius: 6px;
|
||||
max-width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
list-style: none;
|
||||
background-color: #fff;
|
||||
margin: 10px 0;
|
||||
/* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);*/
|
||||
}
|
||||
|
||||
.tab-wrap:hover {
|
||||
box-shadow: 0 12px 23px rgba(0, 0, 0, 0.23), 0 10px 10px rgba(0, 0, 0, 0.19);
|
||||
}
|
||||
|
||||
.tab {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Using scss these would be generated, we have to manually create enough for all tabs, start with 8 */
|
||||
.tab:checked:nth-of-type(1)~.tab__content:nth-of-type(1) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(2)~.tab__content:nth-of-type(2) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(3)~.tab__content:nth-of-type(3) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(4)~.tab__content:nth-of-type(4) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(5)~.tab__content:nth-of-type(5) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(6)~.tab__content:nth-of-type(6) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(7)~.tab__content:nth-of-type(7) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(8)~.tab__content:nth-of-type(8) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:first-of-type:not(:last-of-type)+label {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
.tab:not(:first-of-type):not(:last-of-type)+label {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.tab:last-of-type:not(:first-of-type)+label {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.tab:checked+label {
|
||||
background-color: #fff;
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
cursor: default;
|
||||
font-weight: bold;
|
||||
border: 1px solid #ddd;
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
|
||||
.tab:checked+label:hover {
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.tab+label {
|
||||
box-shadow: 0 -1px 0 #eee inset;
|
||||
border-radius: 6px 6px 0 0;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: #27aae1;
|
||||
flex-grow: 3;
|
||||
text-align: center;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
text-align: center;
|
||||
transition: 0.3s background-color ease, 0.3s box-shadow ease;
|
||||
height: 50px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.tab+label:hover {
|
||||
background-color: #f9f9f9;
|
||||
box-shadow: 0 1px 0 #f4f4f4 inset;
|
||||
}
|
||||
|
||||
.tab__content {
|
||||
padding: 2px 2px;
|
||||
background-color: transparent;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: -1;
|
||||
opacity: 0;
|
||||
left: 0;
|
||||
-webkit-transform: translateY(-3px);
|
||||
transform: translateY(-3px);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.tab__content pre {
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
|
||||
.toolbar-icons {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
a.toolbar-icons {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.toolbar-icons .mdi {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.copy-msg {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.pull-right {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
.pull-left {
|
||||
float: left !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook.js"></script>
|
||||
<script src="../gitbook/theme.js"></script>
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-search/search.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
972
docs/nats_server/flags.html
Normal file
972
docs/nats_server/flags.html
Normal file
@@ -0,0 +1,972 @@
|
||||
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="" >
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
||||
<title>Flags · GitBook</title>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="description" content="">
|
||||
<meta name="generator" content="GitBook 3.2.3">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/style.css">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism.css">
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<meta name="HandheldFriendly" content="true"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
|
||||
<link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
|
||||
|
||||
|
||||
<link rel="next" href="configuration.html" />
|
||||
|
||||
|
||||
<link rel="prev" href="clients.html" />
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="book">
|
||||
<div class="book-summary">
|
||||
|
||||
|
||||
<div id="book-search-input" role="search">
|
||||
<input type="text" placeholder="Type to search" />
|
||||
</div>
|
||||
|
||||
|
||||
<nav role="navigation">
|
||||
|
||||
|
||||
|
||||
<ul class="summary">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.1" data-path="../">
|
||||
|
||||
<a href="../">
|
||||
|
||||
|
||||
Introduction
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.1.1" data-path="./">
|
||||
|
||||
<a href="./">
|
||||
|
||||
|
||||
NATS Server
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.1.1.1" data-path="installation.html">
|
||||
|
||||
<a href="installation.html">
|
||||
|
||||
|
||||
Installing
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.2" data-path="running.html">
|
||||
|
||||
<a href="running.html">
|
||||
|
||||
|
||||
Running
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.3" data-path="clients.html">
|
||||
|
||||
<a href="clients.html">
|
||||
|
||||
|
||||
Clients
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter active" data-level="1.1.1.4" data-path="flags.html">
|
||||
|
||||
<a href="flags.html">
|
||||
|
||||
|
||||
Flags
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.5" data-path="configuration.html">
|
||||
|
||||
<a href="configuration.html">
|
||||
|
||||
|
||||
Configuration File
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.6" data-path="signals.html">
|
||||
|
||||
<a href="signals.html">
|
||||
|
||||
|
||||
Signals
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.7" data-path="windows_srv.html">
|
||||
|
||||
<a href="windows_srv.html">
|
||||
|
||||
|
||||
Window Service
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.2" data-path="../developer/">
|
||||
|
||||
<a href="../developer/">
|
||||
|
||||
|
||||
Developing with NATS
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.2.1" data-path="../developer/connecting.html">
|
||||
|
||||
<a href="../developer/connecting.html">
|
||||
|
||||
|
||||
Connecting
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="divider"></li>
|
||||
|
||||
<li>
|
||||
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
|
||||
Published with GitBook
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="book-body">
|
||||
|
||||
<div class="body-inner">
|
||||
|
||||
|
||||
|
||||
<div class="book-header" role="navigation">
|
||||
|
||||
|
||||
<!-- Title -->
|
||||
<h1>
|
||||
<i class="fa fa-circle-o-notch fa-spin"></i>
|
||||
<a href=".." >Flags</a>
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="page-wrapper" tabindex="-1" role="main">
|
||||
<div class="page-inner">
|
||||
|
||||
<div id="book-search-results">
|
||||
<div class="search-noresults">
|
||||
|
||||
<section class="normal markdown-section">
|
||||
|
||||
<h2 id="flags">Flags</h2>
|
||||
<p>The NATS server has many flags to customize it's behaviour without having to write a configuration file.</p>
|
||||
<p>The configuration flags revolve around:</p>
|
||||
<ul>
|
||||
<li>Server Options</li>
|
||||
<li>Logging</li>
|
||||
<li>Authorization</li>
|
||||
<li>TLS Security</li>
|
||||
<li>Clustering</li>
|
||||
<li>Information</li>
|
||||
</ul>
|
||||
<h3 id="server-options">Server Options</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Flag</th>
|
||||
<th style="text-align:left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-a</code>, <code>--addr</code></td>
|
||||
<td style="text-align:left">Host address to bind to (default: 0.0.0.0) - all interfaces.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-p</code>, <code>--port</code></td>
|
||||
<td style="text-align:left">NATS client port (default: 4222).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-P</code>, <code>--pid</code></td>
|
||||
<td style="text-align:left">File to store the process ID (PID).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-m</code>, <code>--http_port</code></td>
|
||||
<td style="text-align:left">HTTP port for monitoring dashboard (exclusive of <code>--https_port</code>).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-ms</code>, <code>--https_port</code></td>
|
||||
<td style="text-align:left">HTTPS port monitoring for monitoring dashboard (exclusive of <code>--http_port</code>).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-c</code>, <code>--config</code></td>
|
||||
<td style="text-align:left">Path to NATS server configuration file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-sl</code>, <code>--signal</code></td>
|
||||
<td style="text-align:left">Send a signal to nats-server process. See <a href="signals.html">process signaling</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--client_advertise</code></td>
|
||||
<td style="text-align:left">Client HostPort to advertise to other servers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-t</code></td>
|
||||
<td style="text-align:left">Test configuration and exit</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="logging-options">Logging Options</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Flag</th>
|
||||
<th style="text-align:left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-l</code>, <code>--log</code></td>
|
||||
<td style="text-align:left">File to redirect log output</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-T</code>, <code>--logtime</code></td>
|
||||
<td style="text-align:left">Specify <code>-T=false</code> to disable timestamping log entries</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-s</code>, <code>--syslog</code></td>
|
||||
<td style="text-align:left">Log to syslog or windows event log</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-r</code>, <code>--remote_syslog</code></td>
|
||||
<td style="text-align:left">The syslog server address, like <code>udp://localhost:514</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-D</code>, <code>--debug</code></td>
|
||||
<td style="text-align:left">Enable debugging output</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-V</code>, <code>--trace</code></td>
|
||||
<td style="text-align:left">Enable protocol trace log messages</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-DV</code></td>
|
||||
<td style="text-align:left">Enable both debug and protocol trace messages</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="authorization-options">Authorization Options</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Flag</th>
|
||||
<th style="text-align:left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--user</code></td>
|
||||
<td style="text-align:left">Required <em>username</em> for connections.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--pass</code></td>
|
||||
<td style="text-align:left">Required <em>password</em> for connections.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--auth</code></td>
|
||||
<td style="text-align:left">Required <em>authorization token</em> for connections.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="tls-options">TLS Options</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Flag</th>
|
||||
<th style="text-align:left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--tls</code></td>
|
||||
<td style="text-align:left">Enable TLS, do not verify clients</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--tlscert</code></td>
|
||||
<td style="text-align:left">Server certificate file</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--tlskey</code></td>
|
||||
<td style="text-align:left">Private key for server certificate</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--tlsverify</code></td>
|
||||
<td style="text-align:left">Enable client TLS certificate verification</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--tlscacert</code></td>
|
||||
<td style="text-align:left">Client certificate CA for verification</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="cluster-options">Cluster Options</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Flag</th>
|
||||
<th style="text-align:left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--routes</code></td>
|
||||
<td style="text-align:left">Comma separated list of cluster URLs to solicit and connect</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--cluster</code></td>
|
||||
<td style="text-align:left">Cluster URL for clustering requests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--no_advertise</code></td>
|
||||
<td style="text-align:left">Do not advertise known cluster information to clients</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--cluster_advertise</code></td>
|
||||
<td style="text-align:left">Cluster URL to advertise to other servers</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--connect_retries</code></td>
|
||||
<td style="text-align:left">For implicit routes, number of connect retries</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="common-options">Common Options</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Flag</th>
|
||||
<th style="text-align:left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-h</code>, <code>--help</code></td>
|
||||
<td style="text-align:left">Show this message</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>-v</code>, <code>--version</code></td>
|
||||
<td style="text-align:left">Show version</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>--help_tls</code></td>
|
||||
<td style="text-align:left">TLS help</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<div class="search-results">
|
||||
<div class="has-results">
|
||||
|
||||
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
|
||||
<ul class="search-results-list"></ul>
|
||||
|
||||
</div>
|
||||
<div class="no-results">
|
||||
|
||||
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<a href="clients.html" class="navigation navigation-prev " aria-label="Previous page: Clients">
|
||||
<i class="fa fa-angle-left"></i>
|
||||
</a>
|
||||
|
||||
|
||||
<a href="configuration.html" class="navigation navigation-next " aria-label="Next page: Configuration File">
|
||||
<i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var gitbook = gitbook || [];
|
||||
gitbook.push(function() {
|
||||
gitbook.page.hasChanged({"page":{"title":"Flags","level":"1.1.1.4","depth":3,"next":{"title":"Configuration File","level":"1.1.1.5","depth":3,"path":"nats_server/configuration.md","ref":"nats_server/configuration.md","articles":[]},"previous":{"title":"Clients","level":"1.1.1.3","depth":3,"path":"nats_server/clients.md","ref":"nats_server/clients.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["prism","-highlight","include-html"],"pluginsConfig":{"prism":{},"include-html":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"nats_server/flags.md","mtime":"2019-05-13T21:14:44.370Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-15T15:16:11.909Z"},"basePath":"..","book":{"language":""}});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<!-- Viz Support -->
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js"> </script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/lite.render.js"> </script>
|
||||
|
||||
<!-- Site code -->
|
||||
<script>
|
||||
function flash(elem, text, speed) {
|
||||
if (!elem) {
|
||||
return;
|
||||
}
|
||||
var s = elem.style;
|
||||
elem.textContent = text;
|
||||
s.display = 'block';
|
||||
s.opacity = 1;
|
||||
(function fade() {
|
||||
(s.opacity -= .1) < .1 ? s.display = "none" : setTimeout(fade, speed)
|
||||
})();
|
||||
}
|
||||
|
||||
function copyToClipboard(text, el) {
|
||||
var copyTest = document.queryCommandSupported('copy');
|
||||
var elOriginalText = el.getAttribute('data-original-title');
|
||||
|
||||
if (copyTest === true) {
|
||||
var copyTextArea = document.createElement("textarea");
|
||||
copyTextArea.value = text;
|
||||
document.body.appendChild(copyTextArea);
|
||||
copyTextArea.select();
|
||||
try {
|
||||
var successful = document.execCommand('copy');
|
||||
var msg = successful ? 'Copied!' : 'Whoops, not copied!';
|
||||
var parent = el.parentNode.parentNode;
|
||||
var msgElem = parent.querySelector(".copy-msg");
|
||||
flash(msgElem, msg, 100);
|
||||
} catch (err) {
|
||||
console.log('Oops, unable to copy', err);
|
||||
}
|
||||
document.body.removeChild(copyTextArea);
|
||||
el.setAttribute('data-original-title', elOriginalText);
|
||||
} else {
|
||||
// Fallback if browser doesn't support .execCommand('copy')
|
||||
window.prompt("Copy to clipboard: Ctrl+C or Command+C, Enter", text);
|
||||
}
|
||||
}
|
||||
|
||||
function processGraphVizSections(elements) {
|
||||
var elements = document.querySelectorAll("[data-viz]");
|
||||
var viz = new Viz();
|
||||
Array.prototype.forEach.call(elements, function (x) {
|
||||
var engine = x.getAttribute("data-viz");
|
||||
var image = viz.renderImageElement(x.innerText, {
|
||||
format: "png",
|
||||
engine: engine
|
||||
}).then(function (element) {
|
||||
x.parentNode.insertBefore(element, x);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
|
||||
function updateLanguageParameter(value) {
|
||||
const param = "lang";
|
||||
|
||||
if (window.location.href.indexOf("?") >= 0) {
|
||||
const regExp = new RegExp(param + "(.+?)(&|$)", "g");
|
||||
const newUrl = window.location.href.replace(regExp, param + "=" + encodeURIComponent(value) + "$2");
|
||||
window.history.pushState("", "", newUrl);
|
||||
} else {
|
||||
const newUrl = window.location.href + "?" + param + "=" + encodeURIComponent(value);
|
||||
window.history.pushState("", "", newUrl);
|
||||
}
|
||||
}
|
||||
|
||||
function getLanguageParameter() {
|
||||
var match = RegExp('[?&]lang=([^&]*)').exec(window.location.search);
|
||||
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
|
||||
}
|
||||
|
||||
function docReady() {
|
||||
window.gitbook.events.bind("page.change", function () {
|
||||
pageChanged();
|
||||
});
|
||||
}
|
||||
|
||||
function pageChanged() {
|
||||
document.querySelectorAll('.js-copy').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var el = this;
|
||||
var parent = this.parentNode.parentNode;
|
||||
var code = parent.querySelector('code');
|
||||
var text = code.textContent || code.innerText;
|
||||
copyToClipboard(text, el);
|
||||
})
|
||||
});
|
||||
|
||||
document.querySelectorAll('.api-lang').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var lang = this.getAttribute('data-language');
|
||||
|
||||
// Stop the infinite loop
|
||||
if (curLang == lang) {
|
||||
return;
|
||||
}
|
||||
|
||||
sessionStorage.setItem('nats-api-language', lang); // So we only do this 1x
|
||||
|
||||
updateLanguageParameter(lang)
|
||||
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
if (sessionStorage) {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var queryLang = getLanguageParameter();
|
||||
var lang = curLang;
|
||||
|
||||
if (queryLang) { // query takes precedent
|
||||
lang = queryLang
|
||||
}
|
||||
|
||||
if (lang) {
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
processGraphVizSections();
|
||||
}, 1);
|
||||
}
|
||||
|
||||
|
||||
if (document.readyState != 'loading') docReady();
|
||||
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', docReady);
|
||||
else document.attachEvent('onreadystatechange', function () {
|
||||
if (document.readyState == 'complete') docReady();
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Github Buttons -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
|
||||
<!-- Styles -->
|
||||
<style>
|
||||
div.graphviz {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
padding-top: 15px;
|
||||
padding-right: 15px;
|
||||
padding-bottom: 15px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
code[data-viz] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tab-wrap {
|
||||
transition: 0.3s box-shadow ease;
|
||||
border-radius: 6px;
|
||||
max-width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
list-style: none;
|
||||
background-color: #fff;
|
||||
margin: 10px 0;
|
||||
/* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);*/
|
||||
}
|
||||
|
||||
.tab-wrap:hover {
|
||||
box-shadow: 0 12px 23px rgba(0, 0, 0, 0.23), 0 10px 10px rgba(0, 0, 0, 0.19);
|
||||
}
|
||||
|
||||
.tab {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Using scss these would be generated, we have to manually create enough for all tabs, start with 8 */
|
||||
.tab:checked:nth-of-type(1)~.tab__content:nth-of-type(1) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(2)~.tab__content:nth-of-type(2) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(3)~.tab__content:nth-of-type(3) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(4)~.tab__content:nth-of-type(4) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(5)~.tab__content:nth-of-type(5) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(6)~.tab__content:nth-of-type(6) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(7)~.tab__content:nth-of-type(7) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(8)~.tab__content:nth-of-type(8) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:first-of-type:not(:last-of-type)+label {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
.tab:not(:first-of-type):not(:last-of-type)+label {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.tab:last-of-type:not(:first-of-type)+label {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.tab:checked+label {
|
||||
background-color: #fff;
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
cursor: default;
|
||||
font-weight: bold;
|
||||
border: 1px solid #ddd;
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
|
||||
.tab:checked+label:hover {
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.tab+label {
|
||||
box-shadow: 0 -1px 0 #eee inset;
|
||||
border-radius: 6px 6px 0 0;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: #27aae1;
|
||||
flex-grow: 3;
|
||||
text-align: center;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
text-align: center;
|
||||
transition: 0.3s background-color ease, 0.3s box-shadow ease;
|
||||
height: 50px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.tab+label:hover {
|
||||
background-color: #f9f9f9;
|
||||
box-shadow: 0 1px 0 #f4f4f4 inset;
|
||||
}
|
||||
|
||||
.tab__content {
|
||||
padding: 2px 2px;
|
||||
background-color: transparent;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: -1;
|
||||
opacity: 0;
|
||||
left: 0;
|
||||
-webkit-transform: translateY(-3px);
|
||||
transform: translateY(-3px);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.tab__content pre {
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
|
||||
.toolbar-icons {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
a.toolbar-icons {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.toolbar-icons .mdi {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.copy-msg {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.pull-right {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
.pull-left {
|
||||
float: left !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook.js"></script>
|
||||
<script src="../gitbook/theme.js"></script>
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-search/search.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism.css">
|
||||
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<meta name="HandheldFriendly" content="true"/>
|
||||
@@ -63,9 +64,12 @@
|
||||
<link rel="prev" href="../" />
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="book">
|
||||
<div class="book-summary">
|
||||
|
||||
@@ -154,6 +158,58 @@
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.4" data-path="flags.html">
|
||||
|
||||
<a href="flags.html">
|
||||
|
||||
|
||||
Flags
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.5" data-path="configuration.html">
|
||||
|
||||
<a href="configuration.html">
|
||||
|
||||
|
||||
Configuration File
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.6" data-path="signals.html">
|
||||
|
||||
<a href="signals.html">
|
||||
|
||||
|
||||
Signals
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.7" data-path="windows_srv.html">
|
||||
|
||||
<a href="windows_srv.html">
|
||||
|
||||
|
||||
Window Service
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
@@ -166,6 +222,38 @@
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.2" data-path="../developer/">
|
||||
|
||||
<a href="../developer/">
|
||||
|
||||
|
||||
Developing with NATS
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.2.1" data-path="../developer/connecting.html">
|
||||
|
||||
<a href="../developer/connecting.html">
|
||||
|
||||
|
||||
Connecting
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -259,11 +347,397 @@
|
||||
<script>
|
||||
var gitbook = gitbook || [];
|
||||
gitbook.push(function() {
|
||||
gitbook.page.hasChanged({"page":{"title":"NATS Server","level":"1.1.1","depth":2,"next":{"title":"Installing","level":"1.1.1.1","depth":3,"path":"nats_server/installation.md","ref":"nats_server/installation.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[{"title":"NATS Server","level":"1.1.1","depth":2,"path":"nats_server/README.md","ref":"nats_server/README.md","articles":[{"title":"Installing","level":"1.1.1.1","depth":3,"path":"nats_server/installation.md","ref":"nats_server/installation.md","articles":[]},{"title":"Running","level":"1.1.1.2","depth":3,"path":"nats_server/running.md","ref":"nats_server/running.md","articles":[]},{"title":"Clients","level":"1.1.1.3","depth":3,"path":"nats_server/clients.md","ref":"nats_server/clients.md","articles":[]}]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"nats_server/README.md","mtime":"2019-05-13T22:01:38.527Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-13T22:02:53.861Z"},"basePath":"..","book":{"language":""}});
|
||||
gitbook.page.hasChanged({"page":{"title":"NATS Server","level":"1.1.1","depth":2,"next":{"title":"Installing","level":"1.1.1.1","depth":3,"path":"nats_server/installation.md","ref":"nats_server/installation.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[{"title":"NATS Server","level":"1.1.1","depth":2,"path":"nats_server/README.md","ref":"nats_server/README.md","articles":[{"title":"Installing","level":"1.1.1.1","depth":3,"path":"nats_server/installation.md","ref":"nats_server/installation.md","articles":[]},{"title":"Running","level":"1.1.1.2","depth":3,"path":"nats_server/running.md","ref":"nats_server/running.md","articles":[]},{"title":"Clients","level":"1.1.1.3","depth":3,"path":"nats_server/clients.md","ref":"nats_server/clients.md","articles":[]},{"title":"Flags","level":"1.1.1.4","depth":3,"path":"nats_server/flags.md","ref":"nats_server/flags.md","articles":[]},{"title":"Configuration File","level":"1.1.1.5","depth":3,"path":"nats_server/configuration.md","ref":"nats_server/configuration.md","articles":[]},{"title":"Signals","level":"1.1.1.6","depth":3,"path":"nats_server/signals.md","ref":"nats_server/signals.md","articles":[]},{"title":"Window Service","level":"1.1.1.7","depth":3,"path":"nats_server/windows_srv.md","ref":"nats_server/windows_srv.md","articles":[]}]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["prism","-highlight","include-html"],"pluginsConfig":{"prism":{},"include-html":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"nats_server/README.md","mtime":"2019-05-13T14:20:04.050Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-15T15:16:11.909Z"},"basePath":"..","book":{"language":""}});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<!-- Viz Support -->
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js"> </script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/lite.render.js"> </script>
|
||||
|
||||
<!-- Site code -->
|
||||
<script>
|
||||
function flash(elem, text, speed) {
|
||||
if (!elem) {
|
||||
return;
|
||||
}
|
||||
var s = elem.style;
|
||||
elem.textContent = text;
|
||||
s.display = 'block';
|
||||
s.opacity = 1;
|
||||
(function fade() {
|
||||
(s.opacity -= .1) < .1 ? s.display = "none" : setTimeout(fade, speed)
|
||||
})();
|
||||
}
|
||||
|
||||
function copyToClipboard(text, el) {
|
||||
var copyTest = document.queryCommandSupported('copy');
|
||||
var elOriginalText = el.getAttribute('data-original-title');
|
||||
|
||||
if (copyTest === true) {
|
||||
var copyTextArea = document.createElement("textarea");
|
||||
copyTextArea.value = text;
|
||||
document.body.appendChild(copyTextArea);
|
||||
copyTextArea.select();
|
||||
try {
|
||||
var successful = document.execCommand('copy');
|
||||
var msg = successful ? 'Copied!' : 'Whoops, not copied!';
|
||||
var parent = el.parentNode.parentNode;
|
||||
var msgElem = parent.querySelector(".copy-msg");
|
||||
flash(msgElem, msg, 100);
|
||||
} catch (err) {
|
||||
console.log('Oops, unable to copy', err);
|
||||
}
|
||||
document.body.removeChild(copyTextArea);
|
||||
el.setAttribute('data-original-title', elOriginalText);
|
||||
} else {
|
||||
// Fallback if browser doesn't support .execCommand('copy')
|
||||
window.prompt("Copy to clipboard: Ctrl+C or Command+C, Enter", text);
|
||||
}
|
||||
}
|
||||
|
||||
function processGraphVizSections(elements) {
|
||||
var elements = document.querySelectorAll("[data-viz]");
|
||||
var viz = new Viz();
|
||||
Array.prototype.forEach.call(elements, function (x) {
|
||||
var engine = x.getAttribute("data-viz");
|
||||
var image = viz.renderImageElement(x.innerText, {
|
||||
format: "png",
|
||||
engine: engine
|
||||
}).then(function (element) {
|
||||
x.parentNode.insertBefore(element, x);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
|
||||
function updateLanguageParameter(value) {
|
||||
const param = "lang";
|
||||
|
||||
if (window.location.href.indexOf("?") >= 0) {
|
||||
const regExp = new RegExp(param + "(.+?)(&|$)", "g");
|
||||
const newUrl = window.location.href.replace(regExp, param + "=" + encodeURIComponent(value) + "$2");
|
||||
window.history.pushState("", "", newUrl);
|
||||
} else {
|
||||
const newUrl = window.location.href + "?" + param + "=" + encodeURIComponent(value);
|
||||
window.history.pushState("", "", newUrl);
|
||||
}
|
||||
}
|
||||
|
||||
function getLanguageParameter() {
|
||||
var match = RegExp('[?&]lang=([^&]*)').exec(window.location.search);
|
||||
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
|
||||
}
|
||||
|
||||
function docReady() {
|
||||
window.gitbook.events.bind("page.change", function () {
|
||||
pageChanged();
|
||||
});
|
||||
}
|
||||
|
||||
function pageChanged() {
|
||||
document.querySelectorAll('.js-copy').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var el = this;
|
||||
var parent = this.parentNode.parentNode;
|
||||
var code = parent.querySelector('code');
|
||||
var text = code.textContent || code.innerText;
|
||||
copyToClipboard(text, el);
|
||||
})
|
||||
});
|
||||
|
||||
document.querySelectorAll('.api-lang').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var lang = this.getAttribute('data-language');
|
||||
|
||||
// Stop the infinite loop
|
||||
if (curLang == lang) {
|
||||
return;
|
||||
}
|
||||
|
||||
sessionStorage.setItem('nats-api-language', lang); // So we only do this 1x
|
||||
|
||||
updateLanguageParameter(lang)
|
||||
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
if (sessionStorage) {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var queryLang = getLanguageParameter();
|
||||
var lang = curLang;
|
||||
|
||||
if (queryLang) { // query takes precedent
|
||||
lang = queryLang
|
||||
}
|
||||
|
||||
if (lang) {
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
processGraphVizSections();
|
||||
}, 1);
|
||||
}
|
||||
|
||||
|
||||
if (document.readyState != 'loading') docReady();
|
||||
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', docReady);
|
||||
else document.attachEvent('onreadystatechange', function () {
|
||||
if (document.readyState == 'complete') docReady();
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Github Buttons -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
|
||||
<!-- Styles -->
|
||||
<style>
|
||||
div.graphviz {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
padding-top: 15px;
|
||||
padding-right: 15px;
|
||||
padding-bottom: 15px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
code[data-viz] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tab-wrap {
|
||||
transition: 0.3s box-shadow ease;
|
||||
border-radius: 6px;
|
||||
max-width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
list-style: none;
|
||||
background-color: #fff;
|
||||
margin: 10px 0;
|
||||
/* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);*/
|
||||
}
|
||||
|
||||
.tab-wrap:hover {
|
||||
box-shadow: 0 12px 23px rgba(0, 0, 0, 0.23), 0 10px 10px rgba(0, 0, 0, 0.19);
|
||||
}
|
||||
|
||||
.tab {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Using scss these would be generated, we have to manually create enough for all tabs, start with 8 */
|
||||
.tab:checked:nth-of-type(1)~.tab__content:nth-of-type(1) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(2)~.tab__content:nth-of-type(2) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(3)~.tab__content:nth-of-type(3) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(4)~.tab__content:nth-of-type(4) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(5)~.tab__content:nth-of-type(5) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(6)~.tab__content:nth-of-type(6) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(7)~.tab__content:nth-of-type(7) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(8)~.tab__content:nth-of-type(8) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:first-of-type:not(:last-of-type)+label {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
.tab:not(:first-of-type):not(:last-of-type)+label {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.tab:last-of-type:not(:first-of-type)+label {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.tab:checked+label {
|
||||
background-color: #fff;
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
cursor: default;
|
||||
font-weight: bold;
|
||||
border: 1px solid #ddd;
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
|
||||
.tab:checked+label:hover {
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.tab+label {
|
||||
box-shadow: 0 -1px 0 #eee inset;
|
||||
border-radius: 6px 6px 0 0;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: #27aae1;
|
||||
flex-grow: 3;
|
||||
text-align: center;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
text-align: center;
|
||||
transition: 0.3s background-color ease, 0.3s box-shadow ease;
|
||||
height: 50px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.tab+label:hover {
|
||||
background-color: #f9f9f9;
|
||||
box-shadow: 0 1px 0 #f4f4f4 inset;
|
||||
}
|
||||
|
||||
.tab__content {
|
||||
padding: 2px 2px;
|
||||
background-color: transparent;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: -1;
|
||||
opacity: 0;
|
||||
left: 0;
|
||||
-webkit-transform: translateY(-3px);
|
||||
transform: translateY(-3px);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.tab__content pre {
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
|
||||
.toolbar-icons {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
a.toolbar-icons {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.toolbar-icons .mdi {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.copy-msg {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.pull-right {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
.pull-left {
|
||||
float: left !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook.js"></script>
|
||||
<script src="../gitbook/theme.js"></script>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism.css">
|
||||
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<meta name="HandheldFriendly" content="true"/>
|
||||
@@ -63,9 +64,12 @@
|
||||
<link rel="prev" href="./" />
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="book">
|
||||
<div class="book-summary">
|
||||
|
||||
@@ -154,6 +158,58 @@
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.4" data-path="flags.html">
|
||||
|
||||
<a href="flags.html">
|
||||
|
||||
|
||||
Flags
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.5" data-path="configuration.html">
|
||||
|
||||
<a href="configuration.html">
|
||||
|
||||
|
||||
Configuration File
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.6" data-path="signals.html">
|
||||
|
||||
<a href="signals.html">
|
||||
|
||||
|
||||
Signals
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.7" data-path="windows_srv.html">
|
||||
|
||||
<a href="windows_srv.html">
|
||||
|
||||
|
||||
Window Service
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
@@ -166,6 +222,38 @@
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.2" data-path="../developer/">
|
||||
|
||||
<a href="../developer/">
|
||||
|
||||
|
||||
Developing with NATS
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.2.1" data-path="../developer/connecting.html">
|
||||
|
||||
<a href="../developer/connecting.html">
|
||||
|
||||
|
||||
Connecting
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -215,15 +303,15 @@
|
||||
<p>NATS philosophy is simplicity. Installation is just decompression a zip file and copying the binary to an appropiate directory; you can also use your favorite package manager.</p>
|
||||
<h3 id="installing-via-a-package-manager">Installing via a Package Manager</h3>
|
||||
<p>On Windows:</p>
|
||||
<pre><code>> choco install nats-server
|
||||
<pre class="language-"><code>> choco install nats-server
|
||||
</code></pre><p>On Mac OS:</p>
|
||||
<pre><code>> brew install nats-server
|
||||
<pre class="language-"><code>> brew install nats-server
|
||||
</code></pre><p>Via Docker:</p>
|
||||
<pre><code>> docker pull nats-server:latest
|
||||
<pre class="language-"><code>> docker pull nats-server:latest
|
||||
</code></pre><h3 id="installing-directly-release-build">Installing directly Release Build</h3>
|
||||
<p>You can find the latest release of nats-server <a href="https://github.com/nats-io/nats-server/releases/latest" target="_blank">here</a>.</p>
|
||||
<p>Simply download the zip file matching your systems architecture, and unzip. For this example, assuming version 2.0.0 of the server, and a Linux AMD64:</p>
|
||||
<pre><code>> curl -L https://github.com/nats-io/nats-server/releases/download/v2.0.0/nats-server-v2.0.0-linux-amd64.zip -o nats-server.zip
|
||||
<pre class="language-"><code>> curl -L https://github.com/nats-io/nats-server/releases/download/v2.0.0/nats-server-v2.0.0-linux-amd64.zip -o nats-server.zip
|
||||
|
||||
> unzip nats-server.zip -d nats-server
|
||||
Archive: nats-server.zip
|
||||
@@ -235,11 +323,11 @@ Archive: nats-server.zip
|
||||
> cp nats-server-v2.0.0darwin-amd64/nats-server /usr/local/bin
|
||||
</code></pre><h3 id="installing-from-the-source">Installing from the source</h3>
|
||||
<p>If you have go installed, installing the binary is very easy:</p>
|
||||
<pre><code>> go get github.com/nats-io/nats-server
|
||||
<pre class="language-"><code>> go get github.com/nats-io/nats-server
|
||||
</code></pre><p>This mechanism will always install the latest build on <a href="https://github.com/nats-io/nats-server" target="_blank">master</a>, which almost certainly will not be a released version. If you are a developer and want to play with the the latest, this is the easiest way of obtaining it. </p>
|
||||
<h2 id="testing-your-installation">Testing Your Installation</h2>
|
||||
<p>To test your installation (provided the install locations are visible by your shell):</p>
|
||||
<pre><code>> nats-server
|
||||
<pre class="language-"><code>> nats-server
|
||||
[41634] 2019/05/13 09:42:11.745919 [INF] Starting nats-server version 2.0.0
|
||||
[41634] 2019/05/13 09:42:11.746240 [INF] Listening for client connections on 0.0.0.0:4222
|
||||
...
|
||||
@@ -288,11 +376,397 @@ Archive: nats-server.zip
|
||||
<script>
|
||||
var gitbook = gitbook || [];
|
||||
gitbook.push(function() {
|
||||
gitbook.page.hasChanged({"page":{"title":"Installing","level":"1.1.1.1","depth":3,"next":{"title":"Running","level":"1.1.1.2","depth":3,"path":"nats_server/running.md","ref":"nats_server/running.md","articles":[]},"previous":{"title":"NATS Server","level":"1.1.1","depth":2,"path":"nats_server/README.md","ref":"nats_server/README.md","articles":[{"title":"Installing","level":"1.1.1.1","depth":3,"path":"nats_server/installation.md","ref":"nats_server/installation.md","articles":[]},{"title":"Running","level":"1.1.1.2","depth":3,"path":"nats_server/running.md","ref":"nats_server/running.md","articles":[]},{"title":"Clients","level":"1.1.1.3","depth":3,"path":"nats_server/clients.md","ref":"nats_server/clients.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"nats_server/installation.md","mtime":"2019-05-13T22:01:38.527Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-13T22:02:53.861Z"},"basePath":"..","book":{"language":""}});
|
||||
gitbook.page.hasChanged({"page":{"title":"Installing","level":"1.1.1.1","depth":3,"next":{"title":"Running","level":"1.1.1.2","depth":3,"path":"nats_server/running.md","ref":"nats_server/running.md","articles":[]},"previous":{"title":"NATS Server","level":"1.1.1","depth":2,"path":"nats_server/README.md","ref":"nats_server/README.md","articles":[{"title":"Installing","level":"1.1.1.1","depth":3,"path":"nats_server/installation.md","ref":"nats_server/installation.md","articles":[]},{"title":"Running","level":"1.1.1.2","depth":3,"path":"nats_server/running.md","ref":"nats_server/running.md","articles":[]},{"title":"Clients","level":"1.1.1.3","depth":3,"path":"nats_server/clients.md","ref":"nats_server/clients.md","articles":[]},{"title":"Flags","level":"1.1.1.4","depth":3,"path":"nats_server/flags.md","ref":"nats_server/flags.md","articles":[]},{"title":"Configuration File","level":"1.1.1.5","depth":3,"path":"nats_server/configuration.md","ref":"nats_server/configuration.md","articles":[]},{"title":"Signals","level":"1.1.1.6","depth":3,"path":"nats_server/signals.md","ref":"nats_server/signals.md","articles":[]},{"title":"Window Service","level":"1.1.1.7","depth":3,"path":"nats_server/windows_srv.md","ref":"nats_server/windows_srv.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["prism","-highlight","include-html"],"pluginsConfig":{"prism":{},"include-html":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"nats_server/installation.md","mtime":"2019-05-13T14:43:31.021Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-15T15:16:11.909Z"},"basePath":"..","book":{"language":""}});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<!-- Viz Support -->
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js"> </script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/lite.render.js"> </script>
|
||||
|
||||
<!-- Site code -->
|
||||
<script>
|
||||
function flash(elem, text, speed) {
|
||||
if (!elem) {
|
||||
return;
|
||||
}
|
||||
var s = elem.style;
|
||||
elem.textContent = text;
|
||||
s.display = 'block';
|
||||
s.opacity = 1;
|
||||
(function fade() {
|
||||
(s.opacity -= .1) < .1 ? s.display = "none" : setTimeout(fade, speed)
|
||||
})();
|
||||
}
|
||||
|
||||
function copyToClipboard(text, el) {
|
||||
var copyTest = document.queryCommandSupported('copy');
|
||||
var elOriginalText = el.getAttribute('data-original-title');
|
||||
|
||||
if (copyTest === true) {
|
||||
var copyTextArea = document.createElement("textarea");
|
||||
copyTextArea.value = text;
|
||||
document.body.appendChild(copyTextArea);
|
||||
copyTextArea.select();
|
||||
try {
|
||||
var successful = document.execCommand('copy');
|
||||
var msg = successful ? 'Copied!' : 'Whoops, not copied!';
|
||||
var parent = el.parentNode.parentNode;
|
||||
var msgElem = parent.querySelector(".copy-msg");
|
||||
flash(msgElem, msg, 100);
|
||||
} catch (err) {
|
||||
console.log('Oops, unable to copy', err);
|
||||
}
|
||||
document.body.removeChild(copyTextArea);
|
||||
el.setAttribute('data-original-title', elOriginalText);
|
||||
} else {
|
||||
// Fallback if browser doesn't support .execCommand('copy')
|
||||
window.prompt("Copy to clipboard: Ctrl+C or Command+C, Enter", text);
|
||||
}
|
||||
}
|
||||
|
||||
function processGraphVizSections(elements) {
|
||||
var elements = document.querySelectorAll("[data-viz]");
|
||||
var viz = new Viz();
|
||||
Array.prototype.forEach.call(elements, function (x) {
|
||||
var engine = x.getAttribute("data-viz");
|
||||
var image = viz.renderImageElement(x.innerText, {
|
||||
format: "png",
|
||||
engine: engine
|
||||
}).then(function (element) {
|
||||
x.parentNode.insertBefore(element, x);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
|
||||
function updateLanguageParameter(value) {
|
||||
const param = "lang";
|
||||
|
||||
if (window.location.href.indexOf("?") >= 0) {
|
||||
const regExp = new RegExp(param + "(.+?)(&|$)", "g");
|
||||
const newUrl = window.location.href.replace(regExp, param + "=" + encodeURIComponent(value) + "$2");
|
||||
window.history.pushState("", "", newUrl);
|
||||
} else {
|
||||
const newUrl = window.location.href + "?" + param + "=" + encodeURIComponent(value);
|
||||
window.history.pushState("", "", newUrl);
|
||||
}
|
||||
}
|
||||
|
||||
function getLanguageParameter() {
|
||||
var match = RegExp('[?&]lang=([^&]*)').exec(window.location.search);
|
||||
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
|
||||
}
|
||||
|
||||
function docReady() {
|
||||
window.gitbook.events.bind("page.change", function () {
|
||||
pageChanged();
|
||||
});
|
||||
}
|
||||
|
||||
function pageChanged() {
|
||||
document.querySelectorAll('.js-copy').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var el = this;
|
||||
var parent = this.parentNode.parentNode;
|
||||
var code = parent.querySelector('code');
|
||||
var text = code.textContent || code.innerText;
|
||||
copyToClipboard(text, el);
|
||||
})
|
||||
});
|
||||
|
||||
document.querySelectorAll('.api-lang').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var lang = this.getAttribute('data-language');
|
||||
|
||||
// Stop the infinite loop
|
||||
if (curLang == lang) {
|
||||
return;
|
||||
}
|
||||
|
||||
sessionStorage.setItem('nats-api-language', lang); // So we only do this 1x
|
||||
|
||||
updateLanguageParameter(lang)
|
||||
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
if (sessionStorage) {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var queryLang = getLanguageParameter();
|
||||
var lang = curLang;
|
||||
|
||||
if (queryLang) { // query takes precedent
|
||||
lang = queryLang
|
||||
}
|
||||
|
||||
if (lang) {
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
processGraphVizSections();
|
||||
}, 1);
|
||||
}
|
||||
|
||||
|
||||
if (document.readyState != 'loading') docReady();
|
||||
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', docReady);
|
||||
else document.attachEvent('onreadystatechange', function () {
|
||||
if (document.readyState == 'complete') docReady();
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Github Buttons -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
|
||||
<!-- Styles -->
|
||||
<style>
|
||||
div.graphviz {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
padding-top: 15px;
|
||||
padding-right: 15px;
|
||||
padding-bottom: 15px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
code[data-viz] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tab-wrap {
|
||||
transition: 0.3s box-shadow ease;
|
||||
border-radius: 6px;
|
||||
max-width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
list-style: none;
|
||||
background-color: #fff;
|
||||
margin: 10px 0;
|
||||
/* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);*/
|
||||
}
|
||||
|
||||
.tab-wrap:hover {
|
||||
box-shadow: 0 12px 23px rgba(0, 0, 0, 0.23), 0 10px 10px rgba(0, 0, 0, 0.19);
|
||||
}
|
||||
|
||||
.tab {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Using scss these would be generated, we have to manually create enough for all tabs, start with 8 */
|
||||
.tab:checked:nth-of-type(1)~.tab__content:nth-of-type(1) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(2)~.tab__content:nth-of-type(2) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(3)~.tab__content:nth-of-type(3) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(4)~.tab__content:nth-of-type(4) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(5)~.tab__content:nth-of-type(5) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(6)~.tab__content:nth-of-type(6) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(7)~.tab__content:nth-of-type(7) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(8)~.tab__content:nth-of-type(8) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:first-of-type:not(:last-of-type)+label {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
.tab:not(:first-of-type):not(:last-of-type)+label {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.tab:last-of-type:not(:first-of-type)+label {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.tab:checked+label {
|
||||
background-color: #fff;
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
cursor: default;
|
||||
font-weight: bold;
|
||||
border: 1px solid #ddd;
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
|
||||
.tab:checked+label:hover {
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.tab+label {
|
||||
box-shadow: 0 -1px 0 #eee inset;
|
||||
border-radius: 6px 6px 0 0;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: #27aae1;
|
||||
flex-grow: 3;
|
||||
text-align: center;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
text-align: center;
|
||||
transition: 0.3s background-color ease, 0.3s box-shadow ease;
|
||||
height: 50px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.tab+label:hover {
|
||||
background-color: #f9f9f9;
|
||||
box-shadow: 0 1px 0 #f4f4f4 inset;
|
||||
}
|
||||
|
||||
.tab__content {
|
||||
padding: 2px 2px;
|
||||
background-color: transparent;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: -1;
|
||||
opacity: 0;
|
||||
left: 0;
|
||||
-webkit-transform: translateY(-3px);
|
||||
transform: translateY(-3px);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.tab__content pre {
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
|
||||
.toolbar-icons {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
a.toolbar-icons {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.toolbar-icons .mdi {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.copy-msg {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.pull-right {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
.pull-left {
|
||||
float: left !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook.js"></script>
|
||||
<script src="../gitbook/theme.js"></script>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism.css">
|
||||
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<meta name="HandheldFriendly" content="true"/>
|
||||
@@ -63,9 +64,12 @@
|
||||
<link rel="prev" href="installation.html" />
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="book">
|
||||
<div class="book-summary">
|
||||
|
||||
@@ -154,6 +158,58 @@
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.4" data-path="flags.html">
|
||||
|
||||
<a href="flags.html">
|
||||
|
||||
|
||||
Flags
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.5" data-path="configuration.html">
|
||||
|
||||
<a href="configuration.html">
|
||||
|
||||
|
||||
Configuration File
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.6" data-path="signals.html">
|
||||
|
||||
<a href="signals.html">
|
||||
|
||||
|
||||
Signals
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.7" data-path="windows_srv.html">
|
||||
|
||||
<a href="windows_srv.html">
|
||||
|
||||
|
||||
Window Service
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
@@ -166,6 +222,38 @@
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.2" data-path="../developer/">
|
||||
|
||||
<a href="../developer/">
|
||||
|
||||
|
||||
Developing with NATS
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.2.1" data-path="../developer/connecting.html">
|
||||
|
||||
<a href="../developer/connecting.html">
|
||||
|
||||
|
||||
Connecting
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -217,7 +305,7 @@ In the absence of any flags, the NATS server will start listening for NATS clien
|
||||
By default, security is not enabled.</p>
|
||||
<h3 id="standalone">Standalone</h3>
|
||||
<p>When the server starts it will print some information including where the server is listening for client connections:</p>
|
||||
<pre><code>> nats-server
|
||||
<pre class="language-"><code>> nats-server
|
||||
[41634] 2019/05/13 09:42:11.745919 [INF] Starting nats-server version 2.0.0
|
||||
[41634] 2019/05/13 09:42:11.746240 [INF] Listening for client connections on 0.0.0.0:4222
|
||||
...
|
||||
@@ -225,7 +313,7 @@ By default, security is not enabled.</p>
|
||||
[41634] 2019/05/13 09:42:11.746252 [INF] Server is ready
|
||||
</code></pre><h3 id="docker">Docker</h3>
|
||||
<p>If you are running your NATS server in a docker container:</p>
|
||||
<pre><code>> docker run -p 4222:4222 -ti nats-server:latest
|
||||
<pre class="language-"><code>> docker run -p 4222:4222 -ti nats-server:latest
|
||||
[1] 2019/05/13 14:55:11.981434 [INF] Starting nats-server version 2.0.0
|
||||
...
|
||||
[1] 2019/05/13 14:55:11.981545 [INF] Starting http monitor on 0.0.0.0:8222
|
||||
@@ -276,11 +364,397 @@ By default, security is not enabled.</p>
|
||||
<script>
|
||||
var gitbook = gitbook || [];
|
||||
gitbook.push(function() {
|
||||
gitbook.page.hasChanged({"page":{"title":"Running","level":"1.1.1.2","depth":3,"next":{"title":"Clients","level":"1.1.1.3","depth":3,"path":"nats_server/clients.md","ref":"nats_server/clients.md","articles":[]},"previous":{"title":"Installing","level":"1.1.1.1","depth":3,"path":"nats_server/installation.md","ref":"nats_server/installation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"nats_server/running.md","mtime":"2019-05-13T22:01:38.527Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-13T22:02:53.861Z"},"basePath":"..","book":{"language":""}});
|
||||
gitbook.page.hasChanged({"page":{"title":"Running","level":"1.1.1.2","depth":3,"next":{"title":"Clients","level":"1.1.1.3","depth":3,"path":"nats_server/clients.md","ref":"nats_server/clients.md","articles":[]},"previous":{"title":"Installing","level":"1.1.1.1","depth":3,"path":"nats_server/installation.md","ref":"nats_server/installation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["prism","-highlight","include-html"],"pluginsConfig":{"prism":{},"include-html":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"nats_server/running.md","mtime":"2019-05-13T14:56:43.909Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-15T15:16:11.909Z"},"basePath":"..","book":{"language":""}});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<!-- Viz Support -->
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js"> </script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/lite.render.js"> </script>
|
||||
|
||||
<!-- Site code -->
|
||||
<script>
|
||||
function flash(elem, text, speed) {
|
||||
if (!elem) {
|
||||
return;
|
||||
}
|
||||
var s = elem.style;
|
||||
elem.textContent = text;
|
||||
s.display = 'block';
|
||||
s.opacity = 1;
|
||||
(function fade() {
|
||||
(s.opacity -= .1) < .1 ? s.display = "none" : setTimeout(fade, speed)
|
||||
})();
|
||||
}
|
||||
|
||||
function copyToClipboard(text, el) {
|
||||
var copyTest = document.queryCommandSupported('copy');
|
||||
var elOriginalText = el.getAttribute('data-original-title');
|
||||
|
||||
if (copyTest === true) {
|
||||
var copyTextArea = document.createElement("textarea");
|
||||
copyTextArea.value = text;
|
||||
document.body.appendChild(copyTextArea);
|
||||
copyTextArea.select();
|
||||
try {
|
||||
var successful = document.execCommand('copy');
|
||||
var msg = successful ? 'Copied!' : 'Whoops, not copied!';
|
||||
var parent = el.parentNode.parentNode;
|
||||
var msgElem = parent.querySelector(".copy-msg");
|
||||
flash(msgElem, msg, 100);
|
||||
} catch (err) {
|
||||
console.log('Oops, unable to copy', err);
|
||||
}
|
||||
document.body.removeChild(copyTextArea);
|
||||
el.setAttribute('data-original-title', elOriginalText);
|
||||
} else {
|
||||
// Fallback if browser doesn't support .execCommand('copy')
|
||||
window.prompt("Copy to clipboard: Ctrl+C or Command+C, Enter", text);
|
||||
}
|
||||
}
|
||||
|
||||
function processGraphVizSections(elements) {
|
||||
var elements = document.querySelectorAll("[data-viz]");
|
||||
var viz = new Viz();
|
||||
Array.prototype.forEach.call(elements, function (x) {
|
||||
var engine = x.getAttribute("data-viz");
|
||||
var image = viz.renderImageElement(x.innerText, {
|
||||
format: "png",
|
||||
engine: engine
|
||||
}).then(function (element) {
|
||||
x.parentNode.insertBefore(element, x);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
|
||||
function updateLanguageParameter(value) {
|
||||
const param = "lang";
|
||||
|
||||
if (window.location.href.indexOf("?") >= 0) {
|
||||
const regExp = new RegExp(param + "(.+?)(&|$)", "g");
|
||||
const newUrl = window.location.href.replace(regExp, param + "=" + encodeURIComponent(value) + "$2");
|
||||
window.history.pushState("", "", newUrl);
|
||||
} else {
|
||||
const newUrl = window.location.href + "?" + param + "=" + encodeURIComponent(value);
|
||||
window.history.pushState("", "", newUrl);
|
||||
}
|
||||
}
|
||||
|
||||
function getLanguageParameter() {
|
||||
var match = RegExp('[?&]lang=([^&]*)').exec(window.location.search);
|
||||
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
|
||||
}
|
||||
|
||||
function docReady() {
|
||||
window.gitbook.events.bind("page.change", function () {
|
||||
pageChanged();
|
||||
});
|
||||
}
|
||||
|
||||
function pageChanged() {
|
||||
document.querySelectorAll('.js-copy').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var el = this;
|
||||
var parent = this.parentNode.parentNode;
|
||||
var code = parent.querySelector('code');
|
||||
var text = code.textContent || code.innerText;
|
||||
copyToClipboard(text, el);
|
||||
})
|
||||
});
|
||||
|
||||
document.querySelectorAll('.api-lang').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var lang = this.getAttribute('data-language');
|
||||
|
||||
// Stop the infinite loop
|
||||
if (curLang == lang) {
|
||||
return;
|
||||
}
|
||||
|
||||
sessionStorage.setItem('nats-api-language', lang); // So we only do this 1x
|
||||
|
||||
updateLanguageParameter(lang)
|
||||
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
if (sessionStorage) {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var queryLang = getLanguageParameter();
|
||||
var lang = curLang;
|
||||
|
||||
if (queryLang) { // query takes precedent
|
||||
lang = queryLang
|
||||
}
|
||||
|
||||
if (lang) {
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
processGraphVizSections();
|
||||
}, 1);
|
||||
}
|
||||
|
||||
|
||||
if (document.readyState != 'loading') docReady();
|
||||
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', docReady);
|
||||
else document.attachEvent('onreadystatechange', function () {
|
||||
if (document.readyState == 'complete') docReady();
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Github Buttons -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
|
||||
<!-- Styles -->
|
||||
<style>
|
||||
div.graphviz {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
padding-top: 15px;
|
||||
padding-right: 15px;
|
||||
padding-bottom: 15px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
code[data-viz] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tab-wrap {
|
||||
transition: 0.3s box-shadow ease;
|
||||
border-radius: 6px;
|
||||
max-width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
list-style: none;
|
||||
background-color: #fff;
|
||||
margin: 10px 0;
|
||||
/* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);*/
|
||||
}
|
||||
|
||||
.tab-wrap:hover {
|
||||
box-shadow: 0 12px 23px rgba(0, 0, 0, 0.23), 0 10px 10px rgba(0, 0, 0, 0.19);
|
||||
}
|
||||
|
||||
.tab {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Using scss these would be generated, we have to manually create enough for all tabs, start with 8 */
|
||||
.tab:checked:nth-of-type(1)~.tab__content:nth-of-type(1) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(2)~.tab__content:nth-of-type(2) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(3)~.tab__content:nth-of-type(3) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(4)~.tab__content:nth-of-type(4) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(5)~.tab__content:nth-of-type(5) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(6)~.tab__content:nth-of-type(6) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(7)~.tab__content:nth-of-type(7) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(8)~.tab__content:nth-of-type(8) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:first-of-type:not(:last-of-type)+label {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
.tab:not(:first-of-type):not(:last-of-type)+label {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.tab:last-of-type:not(:first-of-type)+label {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.tab:checked+label {
|
||||
background-color: #fff;
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
cursor: default;
|
||||
font-weight: bold;
|
||||
border: 1px solid #ddd;
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
|
||||
.tab:checked+label:hover {
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.tab+label {
|
||||
box-shadow: 0 -1px 0 #eee inset;
|
||||
border-radius: 6px 6px 0 0;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: #27aae1;
|
||||
flex-grow: 3;
|
||||
text-align: center;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
text-align: center;
|
||||
transition: 0.3s background-color ease, 0.3s box-shadow ease;
|
||||
height: 50px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.tab+label:hover {
|
||||
background-color: #f9f9f9;
|
||||
box-shadow: 0 1px 0 #f4f4f4 inset;
|
||||
}
|
||||
|
||||
.tab__content {
|
||||
padding: 2px 2px;
|
||||
background-color: transparent;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: -1;
|
||||
opacity: 0;
|
||||
left: 0;
|
||||
-webkit-transform: translateY(-3px);
|
||||
transform: translateY(-3px);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.tab__content pre {
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
|
||||
.toolbar-icons {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
a.toolbar-icons {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.toolbar-icons .mdi {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.copy-msg {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.pull-right {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
.pull-left {
|
||||
float: left !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook.js"></script>
|
||||
<script src="../gitbook/theme.js"></script>
|
||||
|
||||
821
docs/nats_server/signals.html
Normal file
821
docs/nats_server/signals.html
Normal file
@@ -0,0 +1,821 @@
|
||||
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="" >
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
||||
<title>Signals · GitBook</title>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="description" content="">
|
||||
<meta name="generator" content="GitBook 3.2.3">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/style.css">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism.css">
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<meta name="HandheldFriendly" content="true"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
|
||||
<link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
|
||||
|
||||
|
||||
<link rel="next" href="windows_srv.html" />
|
||||
|
||||
|
||||
<link rel="prev" href="configuration.html" />
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="book">
|
||||
<div class="book-summary">
|
||||
|
||||
|
||||
<div id="book-search-input" role="search">
|
||||
<input type="text" placeholder="Type to search" />
|
||||
</div>
|
||||
|
||||
|
||||
<nav role="navigation">
|
||||
|
||||
|
||||
|
||||
<ul class="summary">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.1" data-path="../">
|
||||
|
||||
<a href="../">
|
||||
|
||||
|
||||
Introduction
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.1.1" data-path="./">
|
||||
|
||||
<a href="./">
|
||||
|
||||
|
||||
NATS Server
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.1.1.1" data-path="installation.html">
|
||||
|
||||
<a href="installation.html">
|
||||
|
||||
|
||||
Installing
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.2" data-path="running.html">
|
||||
|
||||
<a href="running.html">
|
||||
|
||||
|
||||
Running
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.3" data-path="clients.html">
|
||||
|
||||
<a href="clients.html">
|
||||
|
||||
|
||||
Clients
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.4" data-path="flags.html">
|
||||
|
||||
<a href="flags.html">
|
||||
|
||||
|
||||
Flags
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.5" data-path="configuration.html">
|
||||
|
||||
<a href="configuration.html">
|
||||
|
||||
|
||||
Configuration File
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter active" data-level="1.1.1.6" data-path="signals.html">
|
||||
|
||||
<a href="signals.html">
|
||||
|
||||
|
||||
Signals
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.7" data-path="windows_srv.html">
|
||||
|
||||
<a href="windows_srv.html">
|
||||
|
||||
|
||||
Window Service
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.2" data-path="../developer/">
|
||||
|
||||
<a href="../developer/">
|
||||
|
||||
|
||||
Developing with NATS
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.2.1" data-path="../developer/connecting.html">
|
||||
|
||||
<a href="../developer/connecting.html">
|
||||
|
||||
|
||||
Connecting
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="divider"></li>
|
||||
|
||||
<li>
|
||||
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
|
||||
Published with GitBook
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="book-body">
|
||||
|
||||
<div class="body-inner">
|
||||
|
||||
|
||||
|
||||
<div class="book-header" role="navigation">
|
||||
|
||||
|
||||
<!-- Title -->
|
||||
<h1>
|
||||
<i class="fa fa-circle-o-notch fa-spin"></i>
|
||||
<a href=".." >Signals</a>
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="page-wrapper" tabindex="-1" role="main">
|
||||
<div class="page-inner">
|
||||
|
||||
<div id="book-search-results">
|
||||
<div class="search-noresults">
|
||||
|
||||
<section class="normal markdown-section">
|
||||
|
||||
<h2 id="process-signaling">Process Signaling</h2>
|
||||
<p>On Unix systems, the NATS server responds to the following signals:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Signal</th>
|
||||
<th style="text-align:left">Result</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left">SIGKILL</td>
|
||||
<td style="text-align:left">Kills the process immediately</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left">SIGINT</td>
|
||||
<td style="text-align:left">Stops the server gracefully</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left">SIGUSR1</td>
|
||||
<td style="text-align:left">Reopens the log file for log rotation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left">SIGHUP</td>
|
||||
<td style="text-align:left">Reloads server configuration file</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left">SIGUSR2</td>
|
||||
<td style="text-align:left">Stops the server after evicting all clients (lame duck mode)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>The <code>nats-server</code> binary can be used to send these signals to running NATS servers using the <code>-sl</code> flag:</p>
|
||||
<pre class="language-"><code class="lang-sh"><span class="token comment"># Quit the server</span>
|
||||
nats-server -sl quit
|
||||
|
||||
<span class="token comment"># Stop the server</span>
|
||||
nats-server -sl stop
|
||||
|
||||
<span class="token comment"># Reopen log file for log rotation</span>
|
||||
nats-server -sl reopen
|
||||
|
||||
<span class="token comment"># Reload server configuration</span>
|
||||
nats-server -sl reload
|
||||
|
||||
<span class="token comment"># Lame duck mode server configuration</span>
|
||||
nats-server -sl ldm
|
||||
</code></pre>
|
||||
<p>If there are multiple <code>nats-server</code> processes running, or if <code>pgrep</code> isn't available, you must either specify a PID or the absolute path to a PID file:</p>
|
||||
<pre class="language-"><code class="lang-sh">nats-server -sl stop<span class="token operator">=</span><span class="token operator"><</span>pid<span class="token operator">></span>
|
||||
</code></pre>
|
||||
<pre class="language-"><code class="lang-sh">nats-server -sl stop<span class="token operator">=</span>/path/to/pidfile
|
||||
</code></pre>
|
||||
<p>See the <a href="windows_srv.html">Windows Service</a> section for information on signaling the NATS server on Windows.</p>
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<div class="search-results">
|
||||
<div class="has-results">
|
||||
|
||||
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
|
||||
<ul class="search-results-list"></ul>
|
||||
|
||||
</div>
|
||||
<div class="no-results">
|
||||
|
||||
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<a href="configuration.html" class="navigation navigation-prev " aria-label="Previous page: Configuration File">
|
||||
<i class="fa fa-angle-left"></i>
|
||||
</a>
|
||||
|
||||
|
||||
<a href="windows_srv.html" class="navigation navigation-next " aria-label="Next page: Window Service">
|
||||
<i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var gitbook = gitbook || [];
|
||||
gitbook.push(function() {
|
||||
gitbook.page.hasChanged({"page":{"title":"Signals","level":"1.1.1.6","depth":3,"next":{"title":"Window Service","level":"1.1.1.7","depth":3,"path":"nats_server/windows_srv.md","ref":"nats_server/windows_srv.md","articles":[]},"previous":{"title":"Configuration File","level":"1.1.1.5","depth":3,"path":"nats_server/configuration.md","ref":"nats_server/configuration.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["prism","-highlight","include-html"],"pluginsConfig":{"prism":{},"include-html":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"nats_server/signals.md","mtime":"2019-05-13T16:14:12.238Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-15T15:16:11.909Z"},"basePath":"..","book":{"language":""}});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<!-- Viz Support -->
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js"> </script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/lite.render.js"> </script>
|
||||
|
||||
<!-- Site code -->
|
||||
<script>
|
||||
function flash(elem, text, speed) {
|
||||
if (!elem) {
|
||||
return;
|
||||
}
|
||||
var s = elem.style;
|
||||
elem.textContent = text;
|
||||
s.display = 'block';
|
||||
s.opacity = 1;
|
||||
(function fade() {
|
||||
(s.opacity -= .1) < .1 ? s.display = "none" : setTimeout(fade, speed)
|
||||
})();
|
||||
}
|
||||
|
||||
function copyToClipboard(text, el) {
|
||||
var copyTest = document.queryCommandSupported('copy');
|
||||
var elOriginalText = el.getAttribute('data-original-title');
|
||||
|
||||
if (copyTest === true) {
|
||||
var copyTextArea = document.createElement("textarea");
|
||||
copyTextArea.value = text;
|
||||
document.body.appendChild(copyTextArea);
|
||||
copyTextArea.select();
|
||||
try {
|
||||
var successful = document.execCommand('copy');
|
||||
var msg = successful ? 'Copied!' : 'Whoops, not copied!';
|
||||
var parent = el.parentNode.parentNode;
|
||||
var msgElem = parent.querySelector(".copy-msg");
|
||||
flash(msgElem, msg, 100);
|
||||
} catch (err) {
|
||||
console.log('Oops, unable to copy', err);
|
||||
}
|
||||
document.body.removeChild(copyTextArea);
|
||||
el.setAttribute('data-original-title', elOriginalText);
|
||||
} else {
|
||||
// Fallback if browser doesn't support .execCommand('copy')
|
||||
window.prompt("Copy to clipboard: Ctrl+C or Command+C, Enter", text);
|
||||
}
|
||||
}
|
||||
|
||||
function processGraphVizSections(elements) {
|
||||
var elements = document.querySelectorAll("[data-viz]");
|
||||
var viz = new Viz();
|
||||
Array.prototype.forEach.call(elements, function (x) {
|
||||
var engine = x.getAttribute("data-viz");
|
||||
var image = viz.renderImageElement(x.innerText, {
|
||||
format: "png",
|
||||
engine: engine
|
||||
}).then(function (element) {
|
||||
x.parentNode.insertBefore(element, x);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
|
||||
function updateLanguageParameter(value) {
|
||||
const param = "lang";
|
||||
|
||||
if (window.location.href.indexOf("?") >= 0) {
|
||||
const regExp = new RegExp(param + "(.+?)(&|$)", "g");
|
||||
const newUrl = window.location.href.replace(regExp, param + "=" + encodeURIComponent(value) + "$2");
|
||||
window.history.pushState("", "", newUrl);
|
||||
} else {
|
||||
const newUrl = window.location.href + "?" + param + "=" + encodeURIComponent(value);
|
||||
window.history.pushState("", "", newUrl);
|
||||
}
|
||||
}
|
||||
|
||||
function getLanguageParameter() {
|
||||
var match = RegExp('[?&]lang=([^&]*)').exec(window.location.search);
|
||||
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
|
||||
}
|
||||
|
||||
function docReady() {
|
||||
window.gitbook.events.bind("page.change", function () {
|
||||
pageChanged();
|
||||
});
|
||||
}
|
||||
|
||||
function pageChanged() {
|
||||
document.querySelectorAll('.js-copy').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var el = this;
|
||||
var parent = this.parentNode.parentNode;
|
||||
var code = parent.querySelector('code');
|
||||
var text = code.textContent || code.innerText;
|
||||
copyToClipboard(text, el);
|
||||
})
|
||||
});
|
||||
|
||||
document.querySelectorAll('.api-lang').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var lang = this.getAttribute('data-language');
|
||||
|
||||
// Stop the infinite loop
|
||||
if (curLang == lang) {
|
||||
return;
|
||||
}
|
||||
|
||||
sessionStorage.setItem('nats-api-language', lang); // So we only do this 1x
|
||||
|
||||
updateLanguageParameter(lang)
|
||||
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
if (sessionStorage) {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var queryLang = getLanguageParameter();
|
||||
var lang = curLang;
|
||||
|
||||
if (queryLang) { // query takes precedent
|
||||
lang = queryLang
|
||||
}
|
||||
|
||||
if (lang) {
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
processGraphVizSections();
|
||||
}, 1);
|
||||
}
|
||||
|
||||
|
||||
if (document.readyState != 'loading') docReady();
|
||||
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', docReady);
|
||||
else document.attachEvent('onreadystatechange', function () {
|
||||
if (document.readyState == 'complete') docReady();
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Github Buttons -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
|
||||
<!-- Styles -->
|
||||
<style>
|
||||
div.graphviz {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
padding-top: 15px;
|
||||
padding-right: 15px;
|
||||
padding-bottom: 15px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
code[data-viz] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tab-wrap {
|
||||
transition: 0.3s box-shadow ease;
|
||||
border-radius: 6px;
|
||||
max-width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
list-style: none;
|
||||
background-color: #fff;
|
||||
margin: 10px 0;
|
||||
/* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);*/
|
||||
}
|
||||
|
||||
.tab-wrap:hover {
|
||||
box-shadow: 0 12px 23px rgba(0, 0, 0, 0.23), 0 10px 10px rgba(0, 0, 0, 0.19);
|
||||
}
|
||||
|
||||
.tab {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Using scss these would be generated, we have to manually create enough for all tabs, start with 8 */
|
||||
.tab:checked:nth-of-type(1)~.tab__content:nth-of-type(1) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(2)~.tab__content:nth-of-type(2) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(3)~.tab__content:nth-of-type(3) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(4)~.tab__content:nth-of-type(4) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(5)~.tab__content:nth-of-type(5) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(6)~.tab__content:nth-of-type(6) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(7)~.tab__content:nth-of-type(7) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(8)~.tab__content:nth-of-type(8) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:first-of-type:not(:last-of-type)+label {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
.tab:not(:first-of-type):not(:last-of-type)+label {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.tab:last-of-type:not(:first-of-type)+label {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.tab:checked+label {
|
||||
background-color: #fff;
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
cursor: default;
|
||||
font-weight: bold;
|
||||
border: 1px solid #ddd;
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
|
||||
.tab:checked+label:hover {
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.tab+label {
|
||||
box-shadow: 0 -1px 0 #eee inset;
|
||||
border-radius: 6px 6px 0 0;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: #27aae1;
|
||||
flex-grow: 3;
|
||||
text-align: center;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
text-align: center;
|
||||
transition: 0.3s background-color ease, 0.3s box-shadow ease;
|
||||
height: 50px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.tab+label:hover {
|
||||
background-color: #f9f9f9;
|
||||
box-shadow: 0 1px 0 #f4f4f4 inset;
|
||||
}
|
||||
|
||||
.tab__content {
|
||||
padding: 2px 2px;
|
||||
background-color: transparent;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: -1;
|
||||
opacity: 0;
|
||||
left: 0;
|
||||
-webkit-transform: translateY(-3px);
|
||||
transform: translateY(-3px);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.tab__content pre {
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
|
||||
.toolbar-icons {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
a.toolbar-icons {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.toolbar-icons .mdi {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.copy-msg {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.pull-right {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
.pull-left {
|
||||
float: left !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook.js"></script>
|
||||
<script src="../gitbook/theme.js"></script>
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-search/search.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
785
docs/nats_server/windows_srv.html
Normal file
785
docs/nats_server/windows_srv.html
Normal file
@@ -0,0 +1,785 @@
|
||||
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="" >
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
||||
<title>Window Service · GitBook</title>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="description" content="">
|
||||
<meta name="generator" content="GitBook 3.2.3">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/style.css">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism.css">
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<meta name="HandheldFriendly" content="true"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
|
||||
<link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
|
||||
|
||||
|
||||
<link rel="next" href="../developer/" />
|
||||
|
||||
|
||||
<link rel="prev" href="signals.html" />
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="book">
|
||||
<div class="book-summary">
|
||||
|
||||
|
||||
<div id="book-search-input" role="search">
|
||||
<input type="text" placeholder="Type to search" />
|
||||
</div>
|
||||
|
||||
|
||||
<nav role="navigation">
|
||||
|
||||
|
||||
|
||||
<ul class="summary">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.1" data-path="../">
|
||||
|
||||
<a href="../">
|
||||
|
||||
|
||||
Introduction
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.1.1" data-path="./">
|
||||
|
||||
<a href="./">
|
||||
|
||||
|
||||
NATS Server
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.1.1.1" data-path="installation.html">
|
||||
|
||||
<a href="installation.html">
|
||||
|
||||
|
||||
Installing
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.2" data-path="running.html">
|
||||
|
||||
<a href="running.html">
|
||||
|
||||
|
||||
Running
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.3" data-path="clients.html">
|
||||
|
||||
<a href="clients.html">
|
||||
|
||||
|
||||
Clients
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.4" data-path="flags.html">
|
||||
|
||||
<a href="flags.html">
|
||||
|
||||
|
||||
Flags
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.5" data-path="configuration.html">
|
||||
|
||||
<a href="configuration.html">
|
||||
|
||||
|
||||
Configuration File
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.1.1.6" data-path="signals.html">
|
||||
|
||||
<a href="signals.html">
|
||||
|
||||
|
||||
Signals
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter active" data-level="1.1.1.7" data-path="windows_srv.html">
|
||||
|
||||
<a href="windows_srv.html">
|
||||
|
||||
|
||||
Window Service
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="chapter " data-level="1.2" data-path="../developer/">
|
||||
|
||||
<a href="../developer/">
|
||||
|
||||
|
||||
Developing with NATS
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<ul class="articles">
|
||||
|
||||
|
||||
<li class="chapter " data-level="1.2.1" data-path="../developer/connecting.html">
|
||||
|
||||
<a href="../developer/connecting.html">
|
||||
|
||||
|
||||
Connecting
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="divider"></li>
|
||||
|
||||
<li>
|
||||
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
|
||||
Published with GitBook
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="book-body">
|
||||
|
||||
<div class="body-inner">
|
||||
|
||||
|
||||
|
||||
<div class="book-header" role="navigation">
|
||||
|
||||
|
||||
<!-- Title -->
|
||||
<h1>
|
||||
<i class="fa fa-circle-o-notch fa-spin"></i>
|
||||
<a href=".." >Window Service</a>
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="page-wrapper" tabindex="-1" role="main">
|
||||
<div class="page-inner">
|
||||
|
||||
<div id="book-search-results">
|
||||
<div class="search-noresults">
|
||||
|
||||
<section class="normal markdown-section">
|
||||
|
||||
<h3 id="windows-service">Windows Service</h3>
|
||||
<p>The NATS server supports running as a Windows service. In fact, this is the recommended way of running NATS on Windows. There is currently no installer and instead users should use <code>sc.exe</code> to install the service:</p>
|
||||
<pre class="language-"><code class="lang-batch"><span class="token command"><span class="token keyword">sc</span>.exe create nats-server binPath= <span class="token string">"%NATS_PATH%\nats-server.exe [nats-server flags]"</span></span>
|
||||
<span class="token command"><span class="token keyword">sc</span>.exe start nats-server</span>
|
||||
</code></pre>
|
||||
<p>The above will create and start a <code>nats-server</code> service. Note that the nats-server flags should be passed in when creating the service. This allows for running multiple NATS server configurations on a single Windows server by using a 1:1 service instance per installed NATS server service. Once the service is running, it can be controlled using <code>sc.exe</code> or <code>nats-server.exe -sl</code>:</p>
|
||||
<pre class="language-"><code class="lang-batch"><span class="token comment">REM Reload server configuration</span>
|
||||
<span class="token command"><span class="token keyword">nats</span>-server.exe -sl reload</span>
|
||||
|
||||
<span class="token comment">REM Reopen log file for log rotation</span>
|
||||
<span class="token command"><span class="token keyword">nats</span>-server.exe -sl reopen</span>
|
||||
|
||||
<span class="token comment">REM Stop the server</span>
|
||||
<span class="token command"><span class="token keyword">nats</span>-server.exe -sl stop</span>
|
||||
</code></pre>
|
||||
<p>The above commands will default to controlling the <code>nats-server</code> service. If the service is another name, it can be specified:</p>
|
||||
<pre class="language-"><code class="lang-batch"><span class="token command"><span class="token keyword">nats</span>-server.exe -sl stop=<service name></span>
|
||||
</code></pre>
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<div class="search-results">
|
||||
<div class="has-results">
|
||||
|
||||
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
|
||||
<ul class="search-results-list"></ul>
|
||||
|
||||
</div>
|
||||
<div class="no-results">
|
||||
|
||||
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<a href="signals.html" class="navigation navigation-prev " aria-label="Previous page: Signals">
|
||||
<i class="fa fa-angle-left"></i>
|
||||
</a>
|
||||
|
||||
|
||||
<a href="../developer/" class="navigation navigation-next " aria-label="Next page: Developing with NATS">
|
||||
<i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var gitbook = gitbook || [];
|
||||
gitbook.push(function() {
|
||||
gitbook.page.hasChanged({"page":{"title":"Window Service","level":"1.1.1.7","depth":3,"next":{"title":"Developing with NATS","level":"1.2","depth":1,"path":"developer/README.md","ref":"developer/README.md","articles":[{"title":"Connecting","level":"1.2.1","depth":2,"path":"developer/connecting.md","ref":"developer/connecting.md","articles":[]}]},"previous":{"title":"Signals","level":"1.1.1.6","depth":3,"path":"nats_server/signals.md","ref":"nats_server/signals.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["prism","-highlight","include-html"],"pluginsConfig":{"prism":{},"include-html":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"nats_server/windows_srv.md","mtime":"2019-05-13T16:13:54.780Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-15T15:16:11.909Z"},"basePath":"..","book":{"language":""}});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<!-- Viz Support -->
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js"> </script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/lite.render.js"> </script>
|
||||
|
||||
<!-- Site code -->
|
||||
<script>
|
||||
function flash(elem, text, speed) {
|
||||
if (!elem) {
|
||||
return;
|
||||
}
|
||||
var s = elem.style;
|
||||
elem.textContent = text;
|
||||
s.display = 'block';
|
||||
s.opacity = 1;
|
||||
(function fade() {
|
||||
(s.opacity -= .1) < .1 ? s.display = "none" : setTimeout(fade, speed)
|
||||
})();
|
||||
}
|
||||
|
||||
function copyToClipboard(text, el) {
|
||||
var copyTest = document.queryCommandSupported('copy');
|
||||
var elOriginalText = el.getAttribute('data-original-title');
|
||||
|
||||
if (copyTest === true) {
|
||||
var copyTextArea = document.createElement("textarea");
|
||||
copyTextArea.value = text;
|
||||
document.body.appendChild(copyTextArea);
|
||||
copyTextArea.select();
|
||||
try {
|
||||
var successful = document.execCommand('copy');
|
||||
var msg = successful ? 'Copied!' : 'Whoops, not copied!';
|
||||
var parent = el.parentNode.parentNode;
|
||||
var msgElem = parent.querySelector(".copy-msg");
|
||||
flash(msgElem, msg, 100);
|
||||
} catch (err) {
|
||||
console.log('Oops, unable to copy', err);
|
||||
}
|
||||
document.body.removeChild(copyTextArea);
|
||||
el.setAttribute('data-original-title', elOriginalText);
|
||||
} else {
|
||||
// Fallback if browser doesn't support .execCommand('copy')
|
||||
window.prompt("Copy to clipboard: Ctrl+C or Command+C, Enter", text);
|
||||
}
|
||||
}
|
||||
|
||||
function processGraphVizSections(elements) {
|
||||
var elements = document.querySelectorAll("[data-viz]");
|
||||
var viz = new Viz();
|
||||
Array.prototype.forEach.call(elements, function (x) {
|
||||
var engine = x.getAttribute("data-viz");
|
||||
var image = viz.renderImageElement(x.innerText, {
|
||||
format: "png",
|
||||
engine: engine
|
||||
}).then(function (element) {
|
||||
x.parentNode.insertBefore(element, x);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
|
||||
function updateLanguageParameter(value) {
|
||||
const param = "lang";
|
||||
|
||||
if (window.location.href.indexOf("?") >= 0) {
|
||||
const regExp = new RegExp(param + "(.+?)(&|$)", "g");
|
||||
const newUrl = window.location.href.replace(regExp, param + "=" + encodeURIComponent(value) + "$2");
|
||||
window.history.pushState("", "", newUrl);
|
||||
} else {
|
||||
const newUrl = window.location.href + "?" + param + "=" + encodeURIComponent(value);
|
||||
window.history.pushState("", "", newUrl);
|
||||
}
|
||||
}
|
||||
|
||||
function getLanguageParameter() {
|
||||
var match = RegExp('[?&]lang=([^&]*)').exec(window.location.search);
|
||||
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
|
||||
}
|
||||
|
||||
function docReady() {
|
||||
window.gitbook.events.bind("page.change", function () {
|
||||
pageChanged();
|
||||
});
|
||||
}
|
||||
|
||||
function pageChanged() {
|
||||
document.querySelectorAll('.js-copy').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var el = this;
|
||||
var parent = this.parentNode.parentNode;
|
||||
var code = parent.querySelector('code');
|
||||
var text = code.textContent || code.innerText;
|
||||
copyToClipboard(text, el);
|
||||
})
|
||||
});
|
||||
|
||||
document.querySelectorAll('.api-lang').forEach(elem => {
|
||||
elem.addEventListener("click", function () {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var lang = this.getAttribute('data-language');
|
||||
|
||||
// Stop the infinite loop
|
||||
if (curLang == lang) {
|
||||
return;
|
||||
}
|
||||
|
||||
sessionStorage.setItem('nats-api-language', lang); // So we only do this 1x
|
||||
|
||||
updateLanguageParameter(lang)
|
||||
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
if (sessionStorage) {
|
||||
var curLang = sessionStorage.getItem('nats-api-language');
|
||||
var queryLang = getLanguageParameter();
|
||||
var lang = curLang;
|
||||
|
||||
if (queryLang) { // query takes precedent
|
||||
lang = queryLang
|
||||
}
|
||||
|
||||
if (lang) {
|
||||
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
||||
elem.click();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
processGraphVizSections();
|
||||
}, 1);
|
||||
}
|
||||
|
||||
|
||||
if (document.readyState != 'loading') docReady();
|
||||
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', docReady);
|
||||
else document.attachEvent('onreadystatechange', function () {
|
||||
if (document.readyState == 'complete') docReady();
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Github Buttons -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
|
||||
<!-- Styles -->
|
||||
<style>
|
||||
div.graphviz {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
padding-top: 15px;
|
||||
padding-right: 15px;
|
||||
padding-bottom: 15px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
code[data-viz] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tab-wrap {
|
||||
transition: 0.3s box-shadow ease;
|
||||
border-radius: 6px;
|
||||
max-width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
list-style: none;
|
||||
background-color: #fff;
|
||||
margin: 10px 0;
|
||||
/* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);*/
|
||||
}
|
||||
|
||||
.tab-wrap:hover {
|
||||
box-shadow: 0 12px 23px rgba(0, 0, 0, 0.23), 0 10px 10px rgba(0, 0, 0, 0.19);
|
||||
}
|
||||
|
||||
.tab {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Using scss these would be generated, we have to manually create enough for all tabs, start with 8 */
|
||||
.tab:checked:nth-of-type(1)~.tab__content:nth-of-type(1) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(2)~.tab__content:nth-of-type(2) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(3)~.tab__content:nth-of-type(3) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(4)~.tab__content:nth-of-type(4) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(5)~.tab__content:nth-of-type(5) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(6)~.tab__content:nth-of-type(6) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(7)~.tab__content:nth-of-type(7) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:checked:nth-of-type(8)~.tab__content:nth-of-type(8) {
|
||||
opacity: 1;
|
||||
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
||||
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
-webkit-transform: translateY(0px);
|
||||
transform: translateY(0px);
|
||||
text-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
.tab:first-of-type:not(:last-of-type)+label {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
.tab:not(:first-of-type):not(:last-of-type)+label {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.tab:last-of-type:not(:first-of-type)+label {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.tab:checked+label {
|
||||
background-color: #fff;
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
cursor: default;
|
||||
font-weight: bold;
|
||||
border: 1px solid #ddd;
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
|
||||
.tab:checked+label:hover {
|
||||
box-shadow: 0 -1px 0 #fff inset;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.tab+label {
|
||||
box-shadow: 0 -1px 0 #eee inset;
|
||||
border-radius: 6px 6px 0 0;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: #27aae1;
|
||||
flex-grow: 3;
|
||||
text-align: center;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
text-align: center;
|
||||
transition: 0.3s background-color ease, 0.3s box-shadow ease;
|
||||
height: 50px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.tab+label:hover {
|
||||
background-color: #f9f9f9;
|
||||
box-shadow: 0 1px 0 #f4f4f4 inset;
|
||||
}
|
||||
|
||||
.tab__content {
|
||||
padding: 2px 2px;
|
||||
background-color: transparent;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: -1;
|
||||
opacity: 0;
|
||||
left: 0;
|
||||
-webkit-transform: translateY(-3px);
|
||||
transform: translateY(-3px);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.tab__content pre {
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
|
||||
.toolbar-icons {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
a.toolbar-icons {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.toolbar-icons .mdi {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.copy-msg {
|
||||
color: #4183c4;
|
||||
}
|
||||
|
||||
.pull-right {
|
||||
float: right !important;
|
||||
}
|
||||
|
||||
.pull-left {
|
||||
float: left !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook.js"></script>
|
||||
<script src="../gitbook/theme.js"></script>
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-search/search.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
|
||||
|
||||
|
||||
|
||||
<script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user