Difference between pages "Package:Varnish" and "Hostname"

(Difference between pages)
m (update since package had broken previous configuration syntax, and setup.)
 
 
Line 1: Line 1:
{{Ebuild
+
==Introduction==
|Summary=Varnish is a state-of-the-art, high-performance HTTP accelerator
+
A hostname is a unique name created to identify a machine on a network. In computer networking, a hostname is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication such as the World Wide Web, e-mail or Usenet. Hostnames may be simple names consisting of a single word or phrase, or they may be structured.
|CatPkg=www-servers/varnish
+
|Maintainer=
+
}}
+
__TOC__
+
'''Varnish''' is a webcache & http acceleratorVarnish will either serve cached content, or retireve content from the server, and cache it. Varnish will reduce I/O pressure from webservers.
+
 
+
==Install==
+
===Emerge===
+
 
+
Install {{Package|www-servers/varnish}}
+
<console>###i## www-servers/varnish</console>
+
 
+
 
==Configuration==
 
==Configuration==
 +
In Funtoo Linux <code>/etc/conf.d/hostname</code> is the only configuration file for setting a hostname. In OpenRC framework <code>/etc/conf.d/foo</code> is the configuration file for a corresponding Init script <code>/etc/init.d/foo</code>.  With the case of hostname, default value in <code>/etc/conf.d/hostname</code> is set to ''localhost'', means when system boots and OpenRC's <code>/etc/init.d/hostname</code> script started a hostname getting only ''localhost'' name.  How it looks?  In your shell promt this will look in following way, an example for root:
 +
<console>
 +
localhost ~ # ##i## Hello :)
 +
</console>
 +
Let's play a bit with a configuration. Open <code>/etc/conf.d/hostname</code> with your favorite editor and set a hostname of your choice.  Below, I will use a real examples  from one of my working test boxes.
 +
<console>
 +
localhost ~ # ##i## nano /etc/conf.d/hostname
 +
</console>
 +
Let's set it to hostname="oleg-stable.host.funtoo.org". Save the file and restart  a hostname service:
 +
<console>
 +
localhost ~ # ##i## service hostname restart
 +
</console>
 +
Now, let's examine our changes, after a restarting a hostname
 +
<console>
 +
oleg-stable ~ # ##i## Hello :)
 +
</console>
 +
== Diving deeper==
 +
Notice, that in above output we seeing a shortened hostname and not a FQDN (Fully Qualified Domain Name). Don't be frustrated. This is  how  default bash promt <code>PS1</code> set. To get nice promts, please, follow http://www.funtoo.org/Prompt_Magic
 +
Another way to test our settings is using a '''hostname''' command. Here we will show only  some of it's features. Let's try to execute '''hostname''' command:
 +
<console>
 +
oleg-stable ~ # ##i## hostname
 +
oleg-stable.host.funtoo.org
 +
</console>
 +
Now we see our fully qualified domain name hostname just how we configured it in <code>/etc/conf.d/hostname</code> in above paragraph. To get a short hostname we need to set '''-s ''' (short) argument to hostname command.
 +
<console>
 +
oleg-stable ~ # ##i## hostname -s
 +
oleg-stable
 +
</console>
 +
Good! Hostname offers more then just displaying a system host name but can also set one. Let's try:
 +
<console>
 +
oleg-stable ~ # ##i## hostname foo.bar.baz
 +
oleg-stable ~ # ##i## hostname
 +
foo.bar.baz
 +
</console>
 +
As you can see, we changed a hostname on-the-fly. This is not recommended way.
 +
{{fancywarning|Please, notice that using '''hostname''' command to configure will work temporary for a current session and will be reverted back to a value set in <code>/etc/conf.d/hostname</code> file with next system restart.}}
  
Configuration is controlled by /etc/varnish/default.vcl & /etc/conf.d/varnishd
+
Now that we got a brief description of a hostname and basic configuration steps, its time to reflect another important case which is directly related to a Funtoo Linux hostname generation, a hosts.
  
{{file|name=/etc/varnish/default.vcl|desc=varnish configuration file|body=
+
==Hosts case==
vcl 4.0;
+
As per man page <code>hosts</code> stands for static table lookup for hostnames and it's configuration file is <code>/etc/hosts</code>. Here is how it looks
backend default {
+
{{file|name=/etc/hosts|body=
    .host = "127.0.0.1";
+
# Auto-generated hostname. Please do not remove this comment.
    .port = "8080";
+
127.0.0.1       oleg-stable.host.funtoo.org oleg-stable localhost localhost.localdomain
}
+
::1            oleg-stable.host.funtoo.org oleg-stable localhost localhost.localdomain
 
}}
 
}}
 +
As you can see it has entries from our <code>/etc/conf.d/hostname</code>. As you may have guessed, in Funtoo Linux <code>/etc/hosts</code> file entries are auto-generated, when OpenRC hostname service starts. Previously, it is used to edit <code>/etc/hosts</code> manually. In Funtoo Linux there is no such need.
  
{{file|name=/etc/conf.d/varnishd|desc=varnish configuration file|body=
+
What about custom hosts entries? This can be easily configured with 'aliases'. For example you want to have a hosts for your remote router or a computer in home LAN. Let's try to modify <code>/etc/conf.d/hostname</code> with adding following - my remote computer oleg.distant.home has an IP 10.1.1.2:
VARNISHD="/usr/sbin/varnishd"
+
<console>
VARNISHADM="/usr/bin/varnishadm"
+
oleg-stable ~ # ##i## echo 'aliases="10.1.12 oleg.distant.home"' >> /etc/conf.d/hostname
CONFIGFILE="/etc/varnish/default.vcl"
+
oleg-stable ~ # ##i## service hostname restart
VARNISHD_OPTS="-a 127.0.0.1:80"
+
</console>
VARNISHD_OPTS="${VARNISHD_OPTS} -u varnish -g varnish"
+
Examine our changes:
 +
<console>
 +
oleg-stable ~ # ##i## cat /etc/hosts
 +
</console>
 +
{{file|name=/etc/hosts|body=
 +
# Auto-generated hostname. Please do not remove this comment.
 +
10.1.1.2        oleg.distant.home
 +
127.0.0.1       oleg-stable.host.funtoo.org oleg-stable localhost localhost.localdomain
 +
::1            oleg-stable.host.funtoo.org oleg-stable localhost localhost.localdomain
 
}}
 
}}
 
Varnish will fetch data from localhost:8080 and serve accelerated proxy data on localhost:80
 
 
== BootService ==
 
 
To start varnish immediately:
 
<console>###i## rc-service varnishd start</console>
 
 
To start varnish at boot:
 
<console>###i## rc-update add varnishd default</console>
 
 
== Verification ==
 
To verify that your traffic is going through varnish.
 
<console>$##i## curl -I https://www.varnish-cache.org/</console>
 
 
[[Category:Server]]
 
[[Category:Daemons]]
 
 
{{EbuildFooter}}
 

Revision as of 16:06, February 24, 2015

Introduction

A hostname is a unique name created to identify a machine on a network. In computer networking, a hostname is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication such as the World Wide Web, e-mail or Usenet. Hostnames may be simple names consisting of a single word or phrase, or they may be structured.

Configuration

In Funtoo Linux /etc/conf.d/hostname is the only configuration file for setting a hostname. In OpenRC framework /etc/conf.d/foo is the configuration file for a corresponding Init script /etc/init.d/foo. With the case of hostname, default value in /etc/conf.d/hostname is set to localhost, means when system boots and OpenRC's /etc/init.d/hostname script started a hostname getting only localhost name. How it looks? In your shell promt this will look in following way, an example for root:

localhost ~ #  Hello :)

Let's play a bit with a configuration. Open /etc/conf.d/hostname with your favorite editor and set a hostname of your choice. Below, I will use a real examples from one of my working test boxes.

localhost ~ #  nano /etc/conf.d/hostname

Let's set it to hostname="oleg-stable.host.funtoo.org". Save the file and restart a hostname service:

localhost ~ #  service hostname restart

Now, let's examine our changes, after a restarting a hostname

oleg-stable ~ #  Hello :)

Diving deeper

Notice, that in above output we seeing a shortened hostname and not a FQDN (Fully Qualified Domain Name). Don't be frustrated. This is how default bash promt PS1 set. To get nice promts, please, follow http://www.funtoo.org/Prompt_Magic Another way to test our settings is using a hostname command. Here we will show only some of it's features. Let's try to execute hostname command:

oleg-stable ~ #  hostname
oleg-stable.host.funtoo.org

Now we see our fully qualified domain name hostname just how we configured it in /etc/conf.d/hostname in above paragraph. To get a short hostname we need to set -s (short) argument to hostname command.

oleg-stable ~ #  hostname -s
oleg-stable

Good! Hostname offers more then just displaying a system host name but can also set one. Let's try:

oleg-stable ~ #  hostname foo.bar.baz
oleg-stable ~ #  hostname 
foo.bar.baz

As you can see, we changed a hostname on-the-fly. This is not recommended way.

Warning

Please, notice that using hostname command to configure will work temporary for a current session and will be reverted back to a value set in /etc/conf.d/hostname file with next system restart.

Now that we got a brief description of a hostname and basic configuration steps, its time to reflect another important case which is directly related to a Funtoo Linux hostname generation, a hosts.

Hosts case

As per man page hosts stands for static table lookup for hostnames and it's configuration file is /etc/hosts. Here is how it looks

/etc/hosts
# Auto-generated hostname. Please do not remove this comment.
127.0.0.1       oleg-stable.host.funtoo.org oleg-stable localhost localhost.localdomain
::1             oleg-stable.host.funtoo.org oleg-stable localhost localhost.localdomain

As you can see it has entries from our /etc/conf.d/hostname. As you may have guessed, in Funtoo Linux /etc/hosts file entries are auto-generated, when OpenRC hostname service starts. Previously, it is used to edit /etc/hosts manually. In Funtoo Linux there is no such need.

What about custom hosts entries? This can be easily configured with 'aliases'. For example you want to have a hosts for your remote router or a computer in home LAN. Let's try to modify /etc/conf.d/hostname with adding following - my remote computer oleg.distant.home has an IP 10.1.1.2:

oleg-stable ~ #  echo 'aliases="10.1.12 oleg.distant.home"' >> /etc/conf.d/hostname
oleg-stable ~ #  service hostname restart
Examine our changes:
oleg-stable ~ #  cat /etc/hosts
/etc/hosts
# Auto-generated hostname. Please do not remove this comment.
10.1.1.2        oleg.distant.home
127.0.0.1       oleg-stable.host.funtoo.org oleg-stable localhost localhost.localdomain
::1             oleg-stable.host.funtoo.org oleg-stable localhost localhost.localdomain