Deploying on Windows Server 2022 (Azure): compute service not installed


I’m testing the deployment of Rhino Compute on a new Virtual Machine (Azure) with Windows Server 2022.

I followed the steps listed at the page (last updated on 24 January 2022)

The bootstrap script

$F="/";$T="$($Env:temp)\tmp$([convert]::tostring((get-random 65535),16).padleft(4,'0')).tmp"; New-Item -ItemType Directory -Path $T; iwr -useb -outfile $T$F; Expand-Archive $T$F -DestinationPath $T; Remove-Item $T$F;& "$T\boostrap_server.ps1"

is completed and returns the message “Congratulations! All components have now been installed.”, however it seems like the rhino.compute server is not installed (it’s not in the list of services).

The file is actually downloaded in the folder “C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319” and successfully extracted into the two folders (compute.geometry and rhino.compute), however it seems the creation of the service did not succeed.

I believe I can do it manually (it has been done on another virtual machine that I’m already using), but before I do that that I wanted to know if there’s a better way or a fix for this.

Thank you!

Which service are you referring to? After the bootstrap script finishes can you test it? Rhino - Deployment to Production Servers

Hi Luis, sorry for not replying earlier.

I tested it using HOPS and it actually works - thanks.

We actually need to run Rhino Compute in combination with a node.js web application installed on the same machine.
Rhino Compute is configured to work on a different port (8081), with the app connecting to it locally.

To do this we changed the port (from 80 to 8081) in the environment variables as well as in the website configuration in the IIS Manager. The node.js app is responding to port 80 through a reverse proxy url rewrite.

However it looks like the web application cannot connect to Rhino Compute unless we manually start the compute.geometry.exe file located in C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\compute.geometry

If we do it, then everything works, both locally and connecting through the web.

Shouldn’t it be configured so that we don’t need to launch it manually?
are we missing something?

Also, does it make a difference with regards to the Core Hour Billing process? (in terms of suspending the billing after some time of inactivity)?

Thank you in advance!

1 Like

Rhino.Compute should be handling the spinning up and down of compute.geometry. If you can access this server through Hops, then you should be able to access it via your node.js app.

What errors are you getting in your node.js app?