Just to add more to this thread:

For windows I have used https://kevinworthington.com/nginx-for-windows/
with a lot of success. It is compiled with cygwin/linux environment and it
runs fine on windows - However to make full use of nginx automatic like
http://nginx.org/en/docs/http/ngx_http_geoip_module.html, nginx plugins and
extra features linux is ideal platform. NGINX runs much more stably and
reliably on Linux than windows in my view. Linux box with nginx in the same
private LAN with windows machines behind NAT in a VPC ( virtual private
cloud) runs without any issues. Backend Database servers are completed
hidden from public domain which makes this approach secure too. One Linux
box with NGINX per region and separate EC2 windows box per client seems
like the best way forward in my opinion.

Cheers / Bal

On 16 September 2016 at 11:37, Balinder Walia <balinder.wa...@gmail.com>
wrote:

> + 1 to the message from Paul Dennis. Let's break the entire process down
> into different steps manually first and then Automate everything:
>
> - Setup a new server for the client when the client sign up for an account
> with us (in this case Synergist - Perhaps triggered by an online
> registration form which registers the customer in DB with appropriate
> templates to enable/disable selected services from a list and then add next
> action in the sequence of events - set up new server windows machine.
> - Above step we presume customer paid successfully and ready to launch
> Synergist Instance preconfigured and tailored for their needs
> - We spin a new bare bone machine EC2 with windows 2008 or 2012 server
> software ( data centre edition of windows 64 bit OS) should do.
> - Download Synergist code and default sample datafile or startup empty
> datafile. Let's say we pull latest code from GitHub
> - Install Synergist code (might be merged app server or single user) not
> sure yet. Also make sure latest web folder is copied form a central
> repository.
> - Install 4D server or runtime if not merged
> - Install 4D licences
> - Copy the demo .4DD from a single source server with some sample data
> perhaps tailored as per the selected services from the list by the client
> - Create 4DLink file to make sure 4DB/4DC are wedded with .4DD file we
> just copied
> - Make sure web server config is setup, setup appropriate ports for
> http/https server. Make sure we record the IP of the new machine. If behind
> NAT then we need to know private network IP so we can then add into NGINX
> to work as a proxy at the front.
> - Open ports in the firewall 80/443 as required
> - Launch the Synergist web server
> - Notify the registered client about how to login to the new system
>
> All of the steps can be automated with config mgmt. systems such as
> Ansible, Jenkins, Chef and PuppetLabs etc. Or you can use simple batch
> files, ssh files to automate all steps.
>
> I was thinking about one linux machine small instance at the front for
> each client but then you will need one linux box per machine and then
> windows box for Synergist backend DB/App. So you could just setup one nginx
> large instance which takes care of the entire traffic. Wildcard DNS entry
> can also be pre-ready and all set. So the entire traffic to the backend
> instances for each client can be proxied via one linux box with nginx using
> sub domains system with wildcard DNS entry all pre-pointing to Linux Box
> IP. Enable caching of static content on the nginx linux machine itself so
> once cached back-end machine do not even care about serving static files.
>
> I will send you some ideas via email in private!!!
>
> Regards / Bal
>
>
>
> On 15 September 2016 at 09:01, Paul Dennis <i...@completepicture.co.uk>
> wrote:
>
>> Keith,
>>
>> I run my application and a few oem versions on webfusion windows vps ie
>> similar to aws but cheaper. I use nginx on windows with this build
>>
>> http://nginx-win.ecsds.eu/
>>
>> This means you can run the proxy on the same machine as 4D which has some
>> advantages if you need to cache static files so that they are not served
>> by
>> the 4D server. I'm running 4 versions of the application on single server
>> and nginx proxies requests to each depending on the domain name. The
>> server
>> has a public IP address  and nginx proxies to local host and different
>> port
>> numbers.
>>
>> For ssl I use lets envrypt and nginx does the ssl bit so 4d is http only.
>>
>> Regards
>> Paul
>>
>>
>>
>> --
>> View this message in context: http://4d.1045681.n5.nabble.co
>> m/Deployment-of-Vertical-Market-4D-App-in-AWS-Cloud-tp574738
>> 0p5747398.html
>> Sent from the 4D Tech mailing list archive at Nabble.com.
>> **********************************************************************
>> 4D Internet Users Group (4D iNUG)
>> FAQ:  http://lists.4d.com/faqnug.html
>> Archive:  http://lists.4d.com/archives.html
>> Options: http://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> **********************************************************************
>>
>
>
**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**********************************************************************

Reply via email to