Deploy GitHub Pages
This commit is contained in:
parent
ec2af1dbc3
commit
006cda8fee
62 changed files with 1885 additions and 1843 deletions
|
|
@ -34,7 +34,7 @@
|
|||
<meta name="lang:search.tokenizer" content="[\s\-]+">
|
||||
|
||||
<link rel="shortcut icon" href="../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.3">
|
||||
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.6.2">
|
||||
|
||||
|
||||
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/application.30686662.css">
|
||||
<link rel="stylesheet" href="../assets/stylesheets/application.adb8469c.css">
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/application-palette.a8b3c06d.css">
|
||||
|
||||
|
|
@ -53,12 +53,12 @@
|
|||
|
||||
|
||||
|
||||
<script src="../assets/javascripts/modernizr.74668098.js"></script>
|
||||
<script src="../assets/javascripts/modernizr.86422ebf.js"></script>
|
||||
|
||||
|
||||
|
||||
<link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
|
||||
<style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
|
||||
|
||||
|
||||
|
|
@ -114,7 +114,7 @@
|
|||
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
||||
<label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
|
||||
|
||||
<a href="#troubleshooting" tabindex="1" class="md-skip">
|
||||
<a href="#troubleshooting" tabindex="0" class="md-skip">
|
||||
Skip to content
|
||||
</a>
|
||||
|
||||
|
|
@ -123,7 +123,7 @@
|
|||
<nav class="md-header-nav md-grid">
|
||||
<div class="md-flex">
|
||||
<div class="md-flex__cell md-flex__cell--shrink">
|
||||
<a href="https://kubernetes.github.io/ingress-nginx" title="NGINX Ingress Controller" class="md-header-nav__button md-logo">
|
||||
<a href="https://kubernetes.github.io/ingress-nginx" title="NGINX Ingress Controller" aria-label="NGINX Ingress Controller" class="md-header-nav__button md-logo">
|
||||
|
||||
<i class="md-icon">public</i>
|
||||
|
||||
|
|
@ -154,7 +154,7 @@
|
|||
<label class="md-search__overlay" for="__search"></label>
|
||||
<div class="md-search__inner" role="search">
|
||||
<form class="md-search__form" name="search">
|
||||
<input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
|
||||
<input type="text" class="md-search__input" aria-label="search" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
|
||||
<label class="md-icon md-search__icon" for="__search"></label>
|
||||
<button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
|
||||

|
||||
|
|
@ -1288,7 +1288,7 @@ Do not move it without providing redirects.
|
|||
<p>There are many ways to troubleshoot the ingress-controller. The following are basic troubleshooting
|
||||
methods to obtain more information.</p>
|
||||
<p>Check the Ingress Resource Events</p>
|
||||
<div class="codehilite"><pre><span></span><span class="gp">$</span> kubectl get ing -n <namespace-of-ingress-resource>
|
||||
<div class="codehilite"><pre><span></span><code><span class="gp">$</span> kubectl get ing -n <namespace-of-ingress-resource>
|
||||
<span class="go">NAME HOSTS ADDRESS PORTS AGE</span>
|
||||
<span class="go">cafe-ingress cafe.com 10.0.2.15 80 25s</span>
|
||||
|
||||
|
|
@ -1311,10 +1311,10 @@ methods to obtain more information.</p>
|
|||
<span class="go"> ---- ------ ---- ---- -------</span>
|
||||
<span class="go"> Normal CREATE 1m nginx-ingress-controller Ingress default/cafe-ingress</span>
|
||||
<span class="go"> Normal UPDATE 58s nginx-ingress-controller Ingress default/cafe-ingress</span>
|
||||
</pre></div>
|
||||
</code></pre></div>
|
||||
|
||||
<p>Check the Ingress Controller Logs</p>
|
||||
<div class="codehilite"><pre><span></span><span class="gp">$</span> kubectl get pods -n <namespace-of-ingress-controller>
|
||||
<div class="codehilite"><pre><span></span><code><span class="gp">$</span> kubectl get pods -n <namespace-of-ingress-controller>
|
||||
<span class="go">NAME READY STATUS RESTARTS AGE</span>
|
||||
<span class="go">nginx-ingress-controller-67956bf89d-fv58j 1/1 Running 0 1m</span>
|
||||
|
||||
|
|
@ -1326,10 +1326,10 @@ methods to obtain more information.</p>
|
|||
<span class="go"> Repository: https://github.com/kubernetes/ingress-nginx</span>
|
||||
<span class="go">-------------------------------------------------------------------------------</span>
|
||||
<span class="go">....</span>
|
||||
</pre></div>
|
||||
</code></pre></div>
|
||||
|
||||
<p>Check the Nginx Configuration</p>
|
||||
<div class="codehilite"><pre><span></span><span class="gp">$</span> kubectl get pods -n <namespace-of-ingress-controller>
|
||||
<div class="codehilite"><pre><span></span><code><span class="gp">$</span> kubectl get pods -n <namespace-of-ingress-controller>
|
||||
<span class="go">NAME READY STATUS RESTARTS AGE</span>
|
||||
<span class="go">nginx-ingress-controller-67956bf89d-fv58j 1/1 Running 0 1m</span>
|
||||
|
||||
|
|
@ -1346,10 +1346,10 @@ methods to obtain more information.</p>
|
|||
<span class="go">}</span>
|
||||
<span class="go">http {</span>
|
||||
<span class="go">....</span>
|
||||
</pre></div>
|
||||
</code></pre></div>
|
||||
|
||||
<p>Check if used Services Exist</p>
|
||||
<div class="codehilite"><pre><span></span><span class="gp">$</span> kubectl get svc --all-namespaces
|
||||
<div class="codehilite"><pre><span></span><code><span class="gp">$</span> kubectl get svc --all-namespaces
|
||||
<span class="go">NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE</span>
|
||||
<span class="go">default coffee-svc ClusterIP 10.106.154.35 <none> 80/TCP 18m</span>
|
||||
<span class="go">default kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 30m</span>
|
||||
|
|
@ -1357,36 +1357,36 @@ methods to obtain more information.</p>
|
|||
<span class="go">kube-system default-http-backend NodePort 10.108.189.236 <none> 80:30001/TCP 30m</span>
|
||||
<span class="go">kube-system kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 30m</span>
|
||||
<span class="go">kube-system kubernetes-dashboard NodePort 10.103.128.17 <none> 80:30000/TCP 30m</span>
|
||||
</pre></div>
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="debug-logging">Debug Logging<a class="headerlink" href="#debug-logging" title="Permanent link"> ¶</a></h2>
|
||||
<p>Using the flag <code class="codehilite">--v=XX</code> it is possible to increase the level of logging. This is performed by editing
|
||||
<p>Using the flag <code class="codehilite"><span class="err">--v=XX</span></code> it is possible to increase the level of logging. This is performed by editing
|
||||
the deployment.</p>
|
||||
<div class="codehilite"><pre><span></span><span class="gp">$</span> kubectl get deploy -n <namespace-of-ingress-controller>
|
||||
<div class="codehilite"><pre><span></span><code><span class="gp">$</span> kubectl get deploy -n <namespace-of-ingress-controller>
|
||||
<span class="go">NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE</span>
|
||||
<span class="go">default-http-backend 1 1 1 1 35m</span>
|
||||
<span class="go">nginx-ingress-controller 1 1 1 1 35m</span>
|
||||
|
||||
<span class="gp">$</span> kubectl edit deploy -n <namespace-of-ingress-controller> nginx-ingress-controller
|
||||
<span class="gp">#</span> Add --v<span class="o">=</span>X to <span class="s2">"- args"</span>, where X is an integer
|
||||
</pre></div>
|
||||
</code></pre></div>
|
||||
|
||||
<ul>
|
||||
<li><code class="codehilite">--v=2</code> shows details using <code class="codehilite">diff</code> about the changes in the configuration in nginx</li>
|
||||
<li><code class="codehilite">--v=3</code> shows details about the service, Ingress rule, endpoint changes and it dumps the nginx configuration in JSON format</li>
|
||||
<li><code class="codehilite">--v=5</code> configures NGINX in <a href="http://nginx.org/en/docs/debugging_log.html">debug mode</a></li>
|
||||
<li><code class="codehilite"><span class="err">--v=2</span></code> shows details using <code class="codehilite"><span class="err">diff</span></code> about the changes in the configuration in nginx</li>
|
||||
<li><code class="codehilite"><span class="err">--v=3</span></code> shows details about the service, Ingress rule, endpoint changes and it dumps the nginx configuration in JSON format</li>
|
||||
<li><code class="codehilite"><span class="err">--v=5</span></code> configures NGINX in <a href="http://nginx.org/en/docs/debugging_log.html">debug mode</a></li>
|
||||
</ul>
|
||||
<h2 id="authentication-to-the-kubernetes-api-server">Authentication to the Kubernetes API Server<a class="headerlink" href="#authentication-to-the-kubernetes-api-server" title="Permanent link"> ¶</a></h2>
|
||||
<p>A number of components are involved in the authentication process and the first step is to narrow
|
||||
down the source of the problem, namely whether it is a problem with service authentication or
|
||||
with the kubeconfig file.</p>
|
||||
<p>Both authentications must work:</p>
|
||||
<div class="codehilite"><pre><span></span>+-------------+ service +------------+
|
||||
| | authentication | |
|
||||
+ apiserver +<-------------------+ ingress |
|
||||
| | | controller |
|
||||
+-------------+ +------------+
|
||||
</pre></div>
|
||||
<div class="codehilite"><pre><span></span><code><span class="err">+-------------+ service +------------+</span>
|
||||
<span class="err">| | authentication | |</span>
|
||||
<span class="err">+ apiserver +<-------------------+ ingress |</span>
|
||||
<span class="err">| | | controller |</span>
|
||||
<span class="err">+-------------+ +------------+</span>
|
||||
</code></pre></div>
|
||||
|
||||
<p><strong>Service authentication</strong></p>
|
||||
<p>The Ingress controller needs information from apiserver. Therefore, authentication is required, which can be achieved in two different ways:</p>
|
||||
|
|
@ -1395,41 +1395,41 @@ with the kubeconfig file.</p>
|
|||
<p><em>Service Account:</em> This is recommended, because nothing has to be configured. The Ingress controller will use information provided by the system to communicate with the API server. See 'Service Account' section for details.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><em>Kubeconfig file:</em> In some Kubernetes environments service accounts are not available. In this case a manual configuration is required. The Ingress controller binary can be started with the <code class="codehilite">--kubeconfig</code> flag. The value of the flag is a path to a file specifying how to connect to the API server. Using the <code class="codehilite">--kubeconfig</code> does not requires the flag <code class="codehilite">--apiserver-host</code>.
|
||||
The format of the file is identical to <code class="codehilite">~/.kube/config</code> which is used by kubectl to connect to the API server. See 'kubeconfig' section for details.</p>
|
||||
<p><em>Kubeconfig file:</em> In some Kubernetes environments service accounts are not available. In this case a manual configuration is required. The Ingress controller binary can be started with the <code class="codehilite"><span class="err">--kubeconfig</span></code> flag. The value of the flag is a path to a file specifying how to connect to the API server. Using the <code class="codehilite"><span class="err">--kubeconfig</span></code> does not requires the flag <code class="codehilite"><span class="err">--apiserver-host</span></code>.
|
||||
The format of the file is identical to <code class="codehilite"><span class="err">~/.kube/config</span></code> which is used by kubectl to connect to the API server. See 'kubeconfig' section for details.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><em>Using the flag <code class="codehilite">--apiserver-host</code>:</em> Using this flag <code class="codehilite">--apiserver-host=http://localhost:8080</code> it is possible to specify an unsecured API server or reach a remote kubernetes cluster using <a href="https://kubernetes.io/docs/user-guide/kubectl/kubectl_proxy/">kubectl proxy</a>.
|
||||
<p><em>Using the flag <code class="codehilite"><span class="err">--apiserver-host</span></code>:</em> Using this flag <code class="codehilite"><span class="err">--apiserver-host=http://localhost:8080</span></code> it is possible to specify an unsecured API server or reach a remote kubernetes cluster using <a href="https://kubernetes.io/docs/user-guide/kubectl/kubectl_proxy/">kubectl proxy</a>.
|
||||
Please do not use this approach in production.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p>In the diagram below you can see the full authentication flow with all options, starting with the browser
|
||||
on the lower left hand side.</p>
|
||||
<div class="codehilite"><pre><span></span>Kubernetes Workstation
|
||||
+---------------------------------------------------+ +------------------+
|
||||
| | | |
|
||||
| +-----------+ apiserver +------------+ | | +------------+ |
|
||||
| | | proxy | | | | | | |
|
||||
| | apiserver | | ingress | | | | ingress | |
|
||||
| | | | controller | | | | controller | |
|
||||
| | | | | | | | | |
|
||||
| | | | | | | | | |
|
||||
| | | service account/ | | | | | | |
|
||||
| | | kubeconfig | | | | | | |
|
||||
| | +<-------------------+ | | | | | |
|
||||
| | | | | | | | | |
|
||||
| +------+----+ kubeconfig +------+-----+ | | +------+-----+ |
|
||||
| |<--------------------------------------------------------| |
|
||||
| | | |
|
||||
+---------------------------------------------------+ +------------------+
|
||||
</pre></div>
|
||||
<div class="codehilite"><pre><span></span><code><span class="err">Kubernetes Workstation</span>
|
||||
<span class="err">+---------------------------------------------------+ +------------------+</span>
|
||||
<span class="err">| | | |</span>
|
||||
<span class="err">| +-----------+ apiserver +------------+ | | +------------+ |</span>
|
||||
<span class="err">| | | proxy | | | | | | |</span>
|
||||
<span class="err">| | apiserver | | ingress | | | | ingress | |</span>
|
||||
<span class="err">| | | | controller | | | | controller | |</span>
|
||||
<span class="err">| | | | | | | | | |</span>
|
||||
<span class="err">| | | | | | | | | |</span>
|
||||
<span class="err">| | | service account/ | | | | | | |</span>
|
||||
<span class="err">| | | kubeconfig | | | | | | |</span>
|
||||
<span class="err">| | +<-------------------+ | | | | | |</span>
|
||||
<span class="err">| | | | | | | | | |</span>
|
||||
<span class="err">| +------+----+ kubeconfig +------+-----+ | | +------+-----+ |</span>
|
||||
<span class="err">| |<--------------------------------------------------------| |</span>
|
||||
<span class="err">| | | |</span>
|
||||
<span class="err">+---------------------------------------------------+ +------------------+</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h3 id="service-account">Service Account<a class="headerlink" href="#service-account" title="Permanent link"> ¶</a></h3>
|
||||
<p>If using a service account to connect to the API server, Dashboard expects the file
|
||||
<code class="codehilite">/var/run/secrets/kubernetes.io/serviceaccount/token</code> to be present. It provides a secret
|
||||
<code class="codehilite"><span class="err">/var/run/secrets/kubernetes.io/serviceaccount/token</span></code> to be present. It provides a secret
|
||||
token that is required to authenticate with the API server.</p>
|
||||
<p>Verify with the following commands:</p>
|
||||
<div class="codehilite"><pre><span></span><span class="gp">#</span> start a container that contains curl
|
||||
<div class="codehilite"><pre><span></span><code><span class="gp">#</span> start a container that contains curl
|
||||
<span class="gp">$</span> kubectl run <span class="nb">test</span> --image<span class="o">=</span>tutum/curl -- sleep <span class="m">10000</span>
|
||||
|
||||
<span class="gp">#</span> check that container is running
|
||||
|
|
@ -1492,20 +1492,20 @@ token that is required to authenticate with the API server.</p>
|
|||
<span class="go"> "/version"</span>
|
||||
<span class="go"> ]</span>
|
||||
<span class="go">}</span>
|
||||
</pre></div>
|
||||
</code></pre></div>
|
||||
|
||||
<p>If it is not working, there are two possible reasons:</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>The contents of the tokens are invalid. Find the secret name with <code class="codehilite">kubectl get secrets | grep service-account</code> and
|
||||
delete it with <code class="codehilite">kubectl delete secret <name></code>. It will automatically be recreated.</p>
|
||||
<p>The contents of the tokens are invalid. Find the secret name with <code class="codehilite"><span class="err">kubectl get secrets | grep service-account</span></code> and
|
||||
delete it with <code class="codehilite"><span class="err">kubectl delete secret <name></span></code>. It will automatically be recreated.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>You have a non-standard Kubernetes installation and the file containing the token may not be present.
|
||||
The API server will mount a volume containing this file, but only if the API server is configured to use
|
||||
the ServiceAccount admission controller.
|
||||
If you experience this error, verify that your API server is using the ServiceAccount admission controller.
|
||||
If you are configuring the API server by hand, you can set this with the <code class="codehilite">--admission-control</code> parameter.</p>
|
||||
If you are configuring the API server by hand, you can set this with the <code class="codehilite"><span class="err">--admission-control</span></code> parameter.</p>
|
||||
<blockquote>
|
||||
<p>Note that you should use other admission controllers as well. Before configuring this option, you should read about admission controllers.</p>
|
||||
</blockquote>
|
||||
|
|
@ -1518,7 +1518,7 @@ token that is required to authenticate with the API server.</p>
|
|||
</ul>
|
||||
<h2 id="kube-config">Kube-Config<a class="headerlink" href="#kube-config" title="Permanent link"> ¶</a></h2>
|
||||
<p>If you want to use a kubeconfig file for authentication, follow the <a href="../deploy/">deploy procedure</a> and
|
||||
add the flag <code class="codehilite">--kubeconfig=/etc/kubernetes/kubeconfig.yaml</code> to the args section of the deployment.</p>
|
||||
add the flag <code class="codehilite"><span class="err">--kubeconfig=/etc/kubernetes/kubeconfig.yaml</span></code> to the args section of the deployment.</p>
|
||||
<h2 id="using-gdb-with-nginx">Using GDB with Nginx<a class="headerlink" href="#using-gdb-with-nginx" title="Permanent link"> ¶</a></h2>
|
||||
<p><a href="https://www.gnu.org/software/gdb/">Gdb</a> can be used to with nginx to perform a configuration
|
||||
dump. This allows us to see which configuration is being used, as well as older configurations.</p>
|
||||
|
|
@ -1526,33 +1526,33 @@ dump. This allows us to see which configuration is being used, as well as older
|
|||
<ol>
|
||||
<li>SSH into the worker</li>
|
||||
</ol>
|
||||
<div class="codehilite"><pre><span></span><span class="gp">$</span> ssh user@workerIP
|
||||
</pre></div>
|
||||
<div class="codehilite"><pre><span></span><code><span class="gp">$</span> ssh user@workerIP
|
||||
</code></pre></div>
|
||||
|
||||
<ol>
|
||||
<li>Obtain the Docker Container Running nginx</li>
|
||||
</ol>
|
||||
<div class="codehilite"><pre><span></span><span class="gp">$</span> docker ps <span class="p">|</span> grep nginx-ingress-controller
|
||||
<div class="codehilite"><pre><span></span><code><span class="gp">$</span> docker ps <span class="p">|</span> grep nginx-ingress-controller
|
||||
<span class="go">CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES</span>
|
||||
<span class="go">d9e1d243156a quay.io/kubernetes-ingress-controller/nginx-ingress-controller "/usr/bin/dumb-init …" 19 minutes ago Up 19 minutes k8s_nginx-ingress-controller_nginx-ingress-controller-67956bf89d-mqxzt_kube-system_079f31ec-aa37-11e8-ad39-080027a227db_0</span>
|
||||
</pre></div>
|
||||
</code></pre></div>
|
||||
|
||||
<ol>
|
||||
<li>Exec into the container</li>
|
||||
</ol>
|
||||
<div class="codehilite"><pre><span></span><span class="gp">$</span> docker <span class="nb">exec</span> -it --user<span class="o">=</span><span class="m">0</span> --privileged d9e1d243156a bash
|
||||
</pre></div>
|
||||
<div class="codehilite"><pre><span></span><code><span class="gp">$</span> docker <span class="nb">exec</span> -it --user<span class="o">=</span><span class="m">0</span> --privileged d9e1d243156a bash
|
||||
</code></pre></div>
|
||||
|
||||
<ol>
|
||||
<li>Make sure nginx is running in <code class="codehilite">--with-debug</code></li>
|
||||
<li>Make sure nginx is running in <code class="codehilite"><span class="err">--with-debug</span></code></li>
|
||||
</ol>
|
||||
<div class="codehilite"><pre><span></span><span class="gp">$</span> nginx -V <span class="m">2</span>><span class="p">&</span><span class="m">1</span> <span class="p">|</span> grep -- <span class="s1">'--with-debug'</span>
|
||||
</pre></div>
|
||||
<div class="codehilite"><pre><span></span><code><span class="gp">$</span> nginx -V <span class="m">2</span>><span class="p">&</span><span class="m">1</span> <span class="p">|</span> grep -- <span class="s1">'--with-debug'</span>
|
||||
</code></pre></div>
|
||||
|
||||
<ol>
|
||||
<li>Get list of processes running on container</li>
|
||||
</ol>
|
||||
<div class="codehilite"><pre><span></span><span class="gp">$</span> ps -ef
|
||||
<div class="codehilite"><pre><span></span><code><span class="gp">$</span> ps -ef
|
||||
<span class="go">UID PID PPID C STIME TTY TIME CMD</span>
|
||||
<span class="go">root 1 0 0 20:23 ? 00:00:00 /usr/bin/dumb-init /nginx-ingres</span>
|
||||
<span class="go">root 5 1 0 20:23 ? 00:00:05 /nginx-ingress-controller --defa</span>
|
||||
|
|
@ -1560,23 +1560,23 @@ dump. This allows us to see which configuration is being used, as well as older
|
|||
<span class="go">nobody 106 21 0 20:23 ? 00:00:00 nginx: worker process</span>
|
||||
<span class="go">nobody 107 21 0 20:23 ? 00:00:00 nginx: worker process</span>
|
||||
<span class="go">root 172 0 0 20:43 pts/0 00:00:00 bash</span>
|
||||
</pre></div>
|
||||
</code></pre></div>
|
||||
|
||||
<ol>
|
||||
<li>Attach gdb to the nginx master process</li>
|
||||
</ol>
|
||||
<div class="codehilite"><pre><span></span><span class="gp">$</span> gdb -p <span class="m">21</span>
|
||||
<div class="codehilite"><pre><span></span><code><span class="gp">$</span> gdb -p <span class="m">21</span>
|
||||
<span class="go">....</span>
|
||||
<span class="go">Attaching to process 21</span>
|
||||
<span class="go">Reading symbols from /usr/sbin/nginx...done.</span>
|
||||
<span class="go">....</span>
|
||||
<span class="go">(gdb)</span>
|
||||
</pre></div>
|
||||
<span class="gp gp-VirtualEnv">(gdb)</span>
|
||||
</code></pre></div>
|
||||
|
||||
<ol>
|
||||
<li>Copy and paste the following:</li>
|
||||
</ol>
|
||||
<div class="codehilite"><pre><span></span><span class="go">set $cd = ngx_cycle->config_dump</span>
|
||||
<div class="codehilite"><pre><span></span><code><span class="go">set $cd = ngx_cycle->config_dump</span>
|
||||
<span class="go">set $nelts = $cd.nelts</span>
|
||||
<span class="go">set $elts = (ngx_conf_dump_t*)($cd.elts)</span>
|
||||
<span class="go">while ($nelts-- > 0)</span>
|
||||
|
|
@ -1585,7 +1585,7 @@ dump. This allows us to see which configuration is being used, as well as older
|
|||
<span class="go">append memory nginx_conf.txt \</span>
|
||||
<span class="gp"> $</span>elts<span class="o">[</span><span class="nv">$nelts</span><span class="o">]</span>->buffer.start <span class="nv">$elts</span><span class="o">[</span><span class="nv">$nelts</span><span class="o">]</span>->buffer.end
|
||||
<span class="go">end</span>
|
||||
</pre></div>
|
||||
</code></pre></div>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
|
|
@ -1595,11 +1595,12 @@ dump. This allows us to see which configuration is being used, as well as older
|
|||
<p>Open nginx_conf.txt</p>
|
||||
</li>
|
||||
</ol>
|
||||
<div class="codehilite"><pre><span></span><span class="go">cat nginx_conf.txt</span>
|
||||
</pre></div>
|
||||
<div class="codehilite"><pre><span></span><code><span class="go">cat nginx_conf.txt</span>
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1654,9 +1655,9 @@ dump. This allows us to see which configuration is being used, as well as older
|
|||
<div class="md-footer-copyright">
|
||||
|
||||
powered by
|
||||
<a href="https://www.mkdocs.org">MkDocs</a>
|
||||
<a href="https://www.mkdocs.org" target="_blank" rel="noopener">MkDocs</a>
|
||||
and
|
||||
<a href="https://squidfunk.github.io/mkdocs-material/">
|
||||
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
||||
Material for MkDocs</a>
|
||||
</div>
|
||||
|
||||
|
|
@ -1666,7 +1667,7 @@ dump. This allows us to see which configuration is being used, as well as older
|
|||
|
||||
</div>
|
||||
|
||||
<script src="../assets/javascripts/application.ac79c3b0.js"></script>
|
||||
<script src="../assets/javascripts/application.c33a9706.js"></script>
|
||||
|
||||
<script>app.initialize({version:"1.0.4",url:{base:".."}})</script>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue