Skip to main content

Development Server Alternatives

Besides running a local copy of Apache on Nginx or your dev box, or using *vagrant*, the only other alternatives for a long time were XAMPP, MAMP, etc. While there are certainly good arguments for using them, for folks like Web Designers and such, there are a lot of technical hoops to jump through that just aren't needed for these types of use cases. And, there are times as well where we coders might want to throw up some flavor of CGI scripted code, and not have to mess with any of the above. Along come two excellent solutions, one completely Open Source, the other Open Source enough for the above use case. In fact, the completely open source solution is a fork of the other, prior to its changing its license to GPL.
What I'm talking about is:

Basic Rundown

The Mongoose Docs will cover all the nuances, but basically, you can download the .dmg, open it, drag the app where ever you want to run it from, and double-click it. When the app opens up, it places a menu icon in your top menu bar of your desktop that you can interface with. The Civetweb Docs will again cover the details, but as a quick-start, download the .dmg, open it, drag the app to where you want it, double-click it, and it will place a menu icon in the top menu bar of your desktop. In both cases, basic usage is simple. After starting the app, open the menu and select:
Edit Configuration
This will open the servers config file in your default .txt application for editing. Somewhere in the short list of items is:
document_root
All you have to do is point that to the absolute address of the folder from which you want the contents served. Stop, then re-start Mongoose | Civetweb, and it will begin serving index.html (or index.php) from that folder on:
localhost:8080
... so make sure that port isn't blocked from something else. However, if for some reason you want it to serve from a different port, not a problem. That option, along with a host of others, is available in the previously mentioned config file. These servers will also run Lua Server Pages, and even perl. So folks, if you don't already know about them, they are well worth checking out for those little/quickie jobs where going through the dance of a heavier stack isn't needed.

Comments

Popular posts from this blog

Kicking things off

My purpose here is to document various thoughts and findings as things come up, or come to mind.  All strictly technical, and kind of a development diary of sorts.  While ideally, others may find these things useful, my main intent is to have them here for my reference ;-) Still, I'll try to write them in tutorial fashion

Passing Functions and Lambdas into Functions with Ruby

Ruby's New Style of Lambda Functions f = ->( m ) { p m } f.call( 1 ) #=> 1 Which of course means the same thing as: f = lambda { |n| p n } f.call(1) #=> 1 Ruby Proc Objects p = Proc.new { |n| p n + 2 } p.call(2) #=> 4 Using a Function as a Closure in Ruby def domo( k ) ->(m) { p m + k } end z = domo( 5 ) z.call( 5 ) #=> 10 Function :domo takes a single parameter. Within :domo , we create a lambda that takes a single parameter, and adds that parameter to the value :domo takes in as its parameter. Then, we assign z to be the result of the lambda in :domo with its 'k' parameter loaded with 5. When z is called, we pass (another) 5 to it. This parameter loads the lambdas n parameter. The lambda executes, essentially adding n (5) + k (5) and yielding the result of 10. The thing about closures such as this is, we can load the initial value of the lambda to be whatever we want it to be when assigning the function :domo '...

Add pre-compiled Elixir on OS X

So, I've been a big Erlang fan for a few years now, and then found out about Elixir :  what I would describe as kind of a Ruby -ish creamy frosting on top of Erlang . But I'll address more on both in future. Right now, I thought I'd just give a quick and dirty way to add Elixir , if you've already got Erlang installed (hint: check-out this Erlang Solutions link for a pre-compiled Erlang solution).  You can also use brew to install both , but I have found that with the simplicity of brew, you give up having the most current version of software.  In both cases. The pre-compiled zip for the most current version of  Elixir can be found here .  Unzipping reveals a folder containing everything you need.  For simplicity's sake, keeping everything pertaining to Elixir all within this folder makes the most sense.  By doing so, all that's needed is to position the folder, and then make links to all the executables in a directory already in our path.  Through t...