Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mongoose
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
esp
mongoose
Commits
96bb9aac
Commit
96bb9aac
authored
Jan 04, 2014
by
Sergey Lyubka
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Docs updated
parent
7cec2fe2
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
54 additions
and
64 deletions
+54
-64
README.md
README.md
+15
-29
Usage.md
docs/Usage.md
+39
-35
No files found.
README.md
View file @
96bb9aac
#
Project Mission
#
Mongoose Web Server
Project mission is to provide easy to use, powerful, embeddable web server.
Mongoose easy to use, powerful, embeddable web server. Quick links:
*
[
Downloads
](
http://cesanta.com/#downloads
)
*
[
Documentation
](
http://cesanta.com/#docs,Usage.md
)
*
[
Mailing list
](
http://groups.google.com/group/mongoose-users
)
# Downloads & Docs
Sources, binaries and bundles are available for download at
[
http://cesanta.com/#downloads
](
http://cesanta.com/#downloads
)
.
User documentation is available at
[
http://cesanta.com/#docs
](
http://cesanta.com/#docs,Usage.md
)
.
# Overview
Mongoose keeps the balance between functionality and
simplicity by carefully selected list of features:
# Features
-
Works on Windows, Mac, UNIX/Linux, iPhone, Android, and many other platforms
-
CGI, SSL, Digest auth, Websocket, WEbDAV
-
Resumed download, URL rewrite, file blacklist, IP-based ACL, Windows service
-
Scripting and database support (Lua Server Pages + Sqlite, see
[
page.lp
](
https://github.com/cesanta/mongoose/blob/master/build/test/page.lp
)
),
-
CGI, SSL, Digest auth, Websocket, WEbDAV, Resumed download, URL rewrite, file blacklist, IP-based ACL, Windows service
-
Scripting and database support (
[
Lua
](
http://lua.org
)
+
[
Sqlite
](
http://sqlite.org
)
, see
[
page.lp
](
https://github.com/cesanta/mongoose/blob/master/build/test/page.lp
)
),
which provides ready to go, powerful web development platform in
one single-click executable with no dependencies
-
Simple and clean
[
embedding API
](
https://github.com/cesanta/mongoose/blob/master/mongoose.h
)
.
The source is in single
[
mongoose.c
](
https://github.com/cesanta/mongoose/blob/master/mongoose.c
)
file
to make embedding easy
.
to make embedding easy
-
Extremely lightweight, has a core of under 40kB and tiny runtime footprint
-
Asyncronouns, non-blocking core supporting single- or multi-threaded usage
-
On the market since 2004, stable, mature and tested,
has man-years invested in continuous improvement and refinement
Note that Windows and MacOS binaries have following 3rd party software
compiled in:
<a
href=
"http://wolfssl.com"
>
WolfSSL lightweight SSL library
</a>
,
<a
href=
"http://sqlite.org"
>
SQLite embedded database
</a>
,
<a
href=
"http://lua.org"
>
Lua embedded scripting engine
</a>
.
Questions can be asked at
[
mongoose-users@googlegroups.com
](
http://groups.google.com/group/mongoose-users
)
mailing list.
has several man-years invested in continuous improvement and refinement
-
Professional support and consultancy available from
[
Cesanta Software
](
http://cesanta.com
)
, developer of Mongoose
# Acknowledgements
Author is grateful to the following people who made their contribution
:
Mongoose made better thanks to the contribution of following people
:
Arnout Vandecappelle, Benoît Amiaux, Boris Pek, Cody Hanson, Colin Leitner,
Daniel Oaks, Eric Bakan, Erik Oomen, Filipp Kovalev, Ger Hobbelt,
...
...
docs/Usage.md
View file @
96bb9aac
# Mongoose Us
age
Guide
# Mongoose Us
er
Guide
Mongoose is small and easy to use web server. It is self-contained, and does
not require any external software to run.
Mongoose is small and easy to use web server built on top of
mongoose library. It is designed with maximum simplicity in mind. For example,
to share any directory, just drop mongoose executable file in that directory,
double-click it (on UNIX, run it from shell) and launch a browser at
[
http://localhost:8080
](
http://localhost:8080
)
Note that 'localhost' should
be changed to a machine's name if a folder is accessed from other computer.
On Windows
, mongoose iconifies itself to the system tray icon
when started.
On Windows
and Mac, Mongoose iconifies itself to the system tray
when started.
Right-click on the icon pops up a menu, where it is possible to stop
mongoose, or configure it, or install it as Windows service. The easiest way
to share a folder on Windows is to copy
`mongoose.exe`
to a folder,
double-click the exe, and launch a browser at
[
http://localhost:8080
](
http://localhost:8080
)
. Note that 'localhost' should
be changed to a machine's name if a folder is accessed from other computer.
mongoose, or configure it.
On UNIX
and Mac, mongoose
is a command line utility. Running
`mongoose`
in
On UNIX
,
`mongoose`
is a command line utility. Running
`mongoose`
in
terminal, optionally followed by configuration parameters
(
`mongoose [OPTIONS]`
) or configuration file name
(
`mongoose [config_file_name]`
) starts the
web server. Mongoose does not detach from terminal. Pressing
`Ctrl-C`
keys
would stop the server.
web server:
$ mongoose -document_root /var/www # Running mongoose with cmdline options
$ mongoose /etc/my_config.txt # Running mongoose with config file
$ mongoose # Running with no parameters. This will
# serve current directory on port 8080
Mongoose does not detach from terminal. Pressing
`Ctrl-C`
keys
stops the server.
When started, mongoose first searches for the configuration file.
If configuration file is specified explicitly in the command line,
i.e.
`mongoose path_to_config_file`
, then
specified configuration file is used.
If configuration file is specified explicitly in the command line,
then
specified configuration file is used.
Otherwise, mongoose would search for file
`mongoose.conf`
in the same directory
where binary is located, and use it. Configuration file can be absent.
Configuration file is a sequence of lines, each line containing
command line argument name and it's value. Empty lines
,
and lines beginning
with
`#`
,
are ignored. Here is the example of
`mongoose.conf`
file:
command line argument name and it's value. Empty lines and lines beginning
with
`#`
are ignored. Here is the example of
`mongoose.conf`
file:
document_root c:\www
listening_ports 8080,8043s
ssl_certificate c:\mongoose\ssl_cert.pem
# This is a comment
document_root C:\www
listening_port 80
ssl_certificate C:\mongoose\ssl_cert.pem
When configuration file is processed, mongoose process command line arguments,
if they are specified. Command line arguments therefore can override
configuration file settings. Command line arguments must start with
`-`
.
For example, if
`mongoose.conf`
has line
Command line arguments are highest priority and can override
configuration file settings. For example, if
`mongoose.conf`
has line
`document_root /var/www`
, and mongoose has been started as
`mongoose -document_root /etc`
, then
`/etc`
directory will be served as
document root, because command line options take priority over
configuration file. Configuration options section below provide a good
overview of Mongoose features.
`mongoose -document_root /etc`
, then
`/etc`
directory will be used as
document root.
Note that configuration options on the command line must start with
`-`
,
but their names are the same as in the config file. All option names are
listed in the next section. Thus,
the following two setups are equivalent:
and their names are the same as in the config file. Exampli gratia,
the following two setups are equivalent:
# Using command line arguments
$ mongoose -listening_ports 1234 -document_root /var/www
$ mongoose -listening_port 1234 -document_root /var/www
# Using config file
$ cat mongoose.conf
$ cat > mongoose.conf
listening_ports 1234
document_root /var/www
^D
$ mongoose
Mongoose can also be used to modify
`.htpasswd`
passwords file:
mongoose -A <htpasswd_file> <realm> <user> <passwd>
$ mongoose -A .htpasswd mydomain.com user_name user_password
Unlike other web servers, mongoose does not require CGI scripts be located in
a special directory. CGI scripts can be anywhere. CGI (and SSI) files are
...
...
@@ -78,4 +80,6 @@ All other characters in the pattern match themselves. Examples:
/foo Any string that begins with /foo
**a$|**b$ Any string that ends with a or b
To restrict CGI files only to
`/cgi-bin/`
directory, use this setting:
$ mongoose -cgi_pattern /cgi-bin/*.cgi # Emulate /cgi-bin/ restriction
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment