Permalink
Browse files

mention the Linux Subsystem for Windows

  • Loading branch information...
1 parent 8fdf806 commit 7a67c61446d55b7b4c6be213492c053400b1e46b @kraih committed Sep 8, 2016
Showing with 30 additions and 22 deletions.
  1. +16 −15 lib/Mojolicious/Guides/Cookbook.pod
  2. +13 −6 lib/Mojolicious/Guides/FAQ.pod
  3. +1 −1 script/hypnotoad
@@ -122,9 +122,9 @@ script.
=head2 Hypnotoad
For bigger applications L<Mojolicious> contains the UNIX optimized pre-forking
-web server L<Mojo::Server::Hypnotoad>, which can take advantage of multiple CPU
-cores and copy-on-write memory management to scale up to thousands of
-concurrent client connections.
+web server L<Hypnotoad|Mojo::Server::Hypnotoad>, which can take advantage of
+multiple CPU cores and copy-on-write memory management to scale up to thousands
+of concurrent client connections.
Mojo::Server::Hypnotoad
|- Mojo::Server::Daemon [1]
@@ -172,15 +172,16 @@ losing a single incoming connection, just by running the command above again.
$ hypnotoad ./script/my_app
Starting hot deployment for Hypnotoad server 31841.
-You might also want to enable proxy support if you're using Hypnotoad behind a
-reverse proxy. This allows L<Mojolicious> to automatically pick up the
-C<X-Forwarded-For> and C<X-Forwarded-Proto> headers.
+You might also want to enable proxy support if you're using
+L<Hypnotoad|Mojo::Server::Hypnotoad> behind a reverse proxy. This allows
+L<Mojolicious> to automatically pick up the C<X-Forwarded-For> and
+C<X-Forwarded-Proto> headers.
# myapp.conf
{hypnotoad => {proxy => 1}};
-To manage Hypnotoad with systemd, you can use a unit configuration file like
-this.
+To manage L<Hypnotoad|Mojo::Server::Hypnotoad> with systemd, you can use a unit
+configuration file like this.
[Unit]
Description=My Mojolicious application
@@ -198,10 +199,10 @@ this.
=head2 Zero downtime software upgrades
-Hypnotoad makes zero downtime software upgrades (hot deployment) very simple,
-as you can see above, but on modern operating systems that support the
-C<SO_REUSEPORT> socket option, there is also another method available that
-works with all built-in web servers.
+L<Hypnotoad|Mojo::Server::Hypnotoad> makes zero downtime software upgrades (hot
+deployment) very simple, as you can see above, but on modern operating systems
+that support the C<SO_REUSEPORT> socket option, there is also another method
+available that works with all built-in web servers.
$ ./script/my_app prefork -P /tmp/first.pid -l http://*:8080?reuse=1
Server available at http://127.0.0.1:8080
@@ -218,9 +219,9 @@ parameter.
=head2 Nginx
-One of the most popular setups these days is Hypnotoad behind an
-L<Nginx|http://nginx.org> reverse proxy, which even supports WebSockets in
-newer versions.
+One of the most popular setups these days is
+L<Hypnotoad|Mojo::Server::Hypnotoad> behind an L<Nginx|http://nginx.org> reverse
+proxy, which even supports WebSockets in newer versions.
upstream myapp {
server 127.0.0.1:8080;
@@ -78,9 +78,16 @@ In addition we will also keep the distribution installable up to a certain
legacy version that we deem worthy of supporting, but not specifically optimize
for it, this is currently 5.10.1.
+=head2 How well is Windows supported?
+
+Windows is fully supported by L<Mojolicious>, some features such as
+L<subprocesses|Mojo::IOLoop/"subprocess"> and
+L<Hypnotoad|Mojo::Server::Hypnotoad> will however require the use of the
+L<Linux Subsystem for Windows|https://msdn.microsoft.com/commandline/wsl/>.
+
=head2 Do I need to clean my environment before testing Mojolicious?
-Mojolicious uses many environment variables both internally and externally,
+L<Mojolicious> uses many environment variables both internally and externally,
notably (but not exclusively) those starting with the prefix C<MOJO_*> and
C<PLACK_ENV>. The test suite expects a clean environment; testing with a
non-standard environment is unsupported and is unlikely to succeed. Therefore
@@ -157,11 +164,11 @@ allow matching of the C<.> character.
=head2 Can I configure Hypnotoad from the command line?
-No, you can't, Hypnotoad is a bit special in this regard. Because when you
-initiate a zero downtime software upgrade (hot deployment), you are only really
-sending a C<USR2> signal to the already running server, and no other information
-can be passed along. What you can do instead, is to use a
-L<Mojolicious::Plugin::Config> or L<Mojolicious::Plugin::JSONConfig>
+No, you can't, L<Hypnotoad|Mojo::Server::Hypnotoad> is a bit special in this
+regard. Because when you initiate a zero downtime software upgrade (hot
+deployment), you are only really sending a C<USR2> signal to the already running
+server, and no other information can be passed along. What you can do instead,
+is to use a L<Mojolicious::Plugin::Config> or L<Mojolicious::Plugin::JSONConfig>
configuration file.
# myapp.conf
View
@@ -43,7 +43,7 @@ hypnotoad - Hypnotoad HTTP and WebSocket server
=head1 DESCRIPTION
Start L<Mojolicious> and L<Mojolicious::Lite> applications with the
-L<Mojo::Server::Hypnotoad> web server.
+L<Hypnotoad|Mojo::Server::Hypnotoad> web server.
=head1 SEE ALSO

0 comments on commit 7a67c61

Please sign in to comment.