Project

General

Profile

Standalone » History » Version 1

Jan Klopper, 2012-03-13 15:13

1 1 Jan Klopper
h1. Standalone
2 1 Jan Klopper
3 1 Jan Klopper
µWeb's standalone mode allows you to develop an application or website without installing / configuring a full-fledged webserver like apache. By keeping all of the environment the same as it would be inside a normal webserver it allows you to code once, and run on both types of install.
4 1 Jan Klopper
5 1 Jan Klopper
A default standalone server can be started by issuing a 'start' command on the router. Obviously 'stop' and 'restart' are also supported.
6 1 Jan Klopper
7 1 Jan Klopper
The default ip/port the standalone will bind to are: localhost:8082, which you can then use to connect to your server via a browser.
8 1 Jan Klopper
9 1 Jan Klopper
h2. Custom ip/port
10 1 Jan Klopper
11 1 Jan Klopper
Using a custom port and or ip can be attained by setting a config file in the router with the 'CONFIG' variable, and in that config list the following settings:
12 1 Jan Klopper
<pre>
13 1 Jan Klopper
[standalone]
14 1 Jan Klopper
port = 4001
15 1 Jan Klopper
</pre>
16 1 Jan Klopper
17 1 Jan Klopper
If you want to use 1 config file for multiple standalone servers, eg, you want to centralize certain settings, but have others on a server by server basis, you can issue a more specific block for each server using the package name as defined in the router using the 'PACKAGE' variable. For example, a demo router would look like this:
18 1 Jan Klopper
19 1 Jan Klopper
20 1 Jan Klopper
<pre>
21 1 Jan Klopper
<code class="python">
22 1 Jan Klopper
import uweb
23 1 Jan Klopper
import pages
24 1 Jan Klopper
CONFIG = '../demo.conf'
25 1 Jan Klopper
PACKAGE = 'demo'
26 1 Jan Klopper
PAGE_CLASS = pages.PageMaker
27 1 Jan Klopper
ROUTES = (
28 1 Jan Klopper
    ('/', 'requestIndex'),
29 1 Jan Klopper
    ('(/.*)', 'requestFail'))
30 1 Jan Klopper
31 1 Jan Klopper
uweb.ServerSetup()
32 1 Jan Klopper
</code>
33 1 Jan Klopper
</pre>
34 1 Jan Klopper
This would read from the ../demo.conf file (relative to the location of the router) and look for both a [standalone] and a [standalone:demo] subsection
35 1 Jan Klopper
<pre>
36 1 Jan Klopper
[standalone:demo]
37 1 Jan Klopper
port = 8080
38 1 Jan Klopper
39 1 Jan Klopper
[standalone]
40 1 Jan Klopper
access_logging = 0
41 1 Jan Klopper
error_logging = 0
42 1 Jan Klopper
</pre>
43 1 Jan Klopper
44 1 Jan Klopper
As you can see, by setting the access_logging and error_logging vars you can make sure the server doesn't log these actions and thus speeds up a bit.