I have a Asp.net project need to communicate with PLC by twincat. It works well on Windows. However, to be easier for remote deployment we run into docker. The twincat doesn't work anymore because our host address changed to linux docker container. What's the easiest way to solve this problem or we are also consider to use IIS instead of docker, but version control becomes to a problem.
Related
I have questions about virtual machine using vagrant. I need to install vagrant on a mac, but not for development mode. Just in production. My website runs localy on my mac and every day I need to run vagrant to use my website. It's important to know I won't to make my website online. How can I do that automatically ?
Thanks for answer.
If you need to run the vagrant up, to access your Vagrant Box, it is because your box has been turned off. Unless you are physically turning off your machine, this should not happen.
If you are using a mac you could automate the vagrant box to startup boot of your system using the automator, something like this.
https://www.lifewire.com/automate-opening-applications-and-folders-on-mac-2260908
Note: because there is no windows hosting that satisfies me at the moment, I'm developing my application in PHP and host them on a linux VPS.
Since Windows Server 2016 supports Docker and you are able to create .net 4.5 images, I thought why not review my applications and hosting plans.
Because I'm not a fan of hosting websites directly on a VPS with IIS (setup and configuration seems clumsy), I thought this "infrastructure" seems ideal for me.
A Windows 2016 VPS
A Linux based VPS
For each asp.net application, create a docker image based on microsoft/iis. This means that for the application, there is nothing left to be configured, right? This application will run on the Windows 2016 server.
On the Linux VPS, I will have nginx configured to have all the configuration for SSL certificates and optimizations. Nginx will have proxies that point to the Windows 2016 VPS on specific ports for the different applications.
I think this architecture has scaling possibilities, less configuration on the Windows VPS, more room for improvement? It should even be possible to do this with Ansible if I'm not wrong.
I only need hosting, nothing related to email, ftp, ... That's why I'm not using shared and/or cloud hosting.
Does this architecture seem fine?
Am I missing something?
Would you still just use a Windows VPS for hosting asp.net applications, even if this architecture is possible?
Does this all seem possible with Ansible? I only have basic experience with it.
I don't see anything wrong in your proposal. Remember you can use ansible inside the Linux image's Dockerfile. Maybe you can find that it is an overkill but it should work.
Probably you will find some problems linking your Linux / Windows containers. But I don't see anything short stopping.
Go ahead and post your results. Also if you encounter some walls just ask here and we will try to help.
Regards
because there is no windows hosting that satisfies me at the moment, I'm developing my application in PHP and host them on a linux VPS.
Would you mind telling us a bit about your requirement of Windows Hosting?
For each asp.net http://asp.net/ application, create a docker image based on microsoft/iis. This means that for the application, there is nothing left to be configured, right?
Once fully functional pre-configured image is prepared, you don't have to perform any other changes to your main image. The main image is only modified when you want to update any application in the image or looking to make any changes or update Windows OS.
Does this architecture seem fine?
NGINX reverse proxy works with IIS backend, so, this proposed architecture is achievable. Initial setup of connecting Linux VPS NGINX web server to individual Windows docker image is slightly complex. If you are successful doing that, the next challenge will be adding subsequent dockers to Windows Hyper-V. Here, I don't see actual purpose of using Docker images to host ASP.Net http://asp.net/ applications, when you can easily deploy pre-installed VMs through Windows HyperVisor.
As far as Ansible is concerned, I don't have much idea about this product, but as seen on their website Ansible can automate the dockers.
Good morning,
Working on installing Meteor on windows using the following guide:https://gist.github.com/gabrielhpugliese/5855677
As pointed out on other posts its a little dated and I needed to install meteor separately, which I used this guide: Unable to install meteorite on Ubuntu VM
Currently, my set up can do the following:
files stay in sync between vagrant and windows
localhost:3000/ is working on the server
What I still need help completing:
when opening localhost:3000/ in my windows browser, I get the "This webpage is not available
I know that the vagrant VM is correctly serving the app because I opened a new instance of vagrant and curled the localhoust:3000/
I am actively working in django and node and can successfully run apps locally on :8000 and :8080, I tested the meteor app on those ports but still couldn't connect. I also created a windows firewall port exception on 3000 but the results didn't change.
I know that there is a windows-preview currently out, but that is not working for me and I have an issue being tracked in gitHub.
Thank you in advance.
One thing that might be worth mentioning is it is somewhat possible to use Meteor on windows.
More details here: https://github.com/meteor/meteor/wiki/Preview-of-Meteor-on-Windows.
With your vagrant machine it sounds like there is a problem with port forwarding on your localhost machine to the VM's ports.
One possible simple way to get passed this is to get your Ubuntu machines IP address and simply load it up using http://<ip address>:3000.
I'm not sure why the port forwarding isn't working on your machine. In general the reason is provided when you run vagrant up, if there was an issue.
I am working on a small website based on an example ServiceStack project. It is a standalone web app so that there is no need for IIS etc. Currently I start the server at http://localhost:8080 and opening the website in my local browsers seems to work fine.
My PC has a dedicated IP and I hope to test my server from another computer. I can successfully get a Python server running using python -m SimpleHTTPServer 8000, so network is working fine.
But the remote computer cannot access my ServiceStack server. I think there should be a simple setting somewhere to get it working. But I searched online, there is much information about IIS and ASP.Net. But my app is standalone and is independent of Asp.net. It is supposed to be running on Linux as well as on Windows. (Though I will only deploy on a Windows machine now.)
It will work fine on your local computer because the firewall doesn't block local traffic. If you want any other computer to access services running on your machine you will need to open the ports on the firewall.
This can be configured from the Windows Firewall in Control Panel
I have been given a task where I have to write some code for an ASP.NET website that also uses a webservice.
The webservice works fine on the webserver, but when i run in debug mode in Visual Studio, I get an access not allowed when calling one of the methods (ip 127.0.0.1).
I need to run in debug mode to look at what the code does...
What to do from here ?
Do I need to do some changes in the host file.
Do I need to install IIS on my PC instead of using the VS local webserver (cassini)
Cassini web server does not allow remote connections. You could use Fiddler to forward traffic on localhost to another port on the same machine for some given requests.
By far the easiest solution is to install IIS on your local machine and run it from there.
Cassini is fine for development and getting something running up very quickl.
But never us it to test things that will go into production on a "real" IIS.
Yes, Microsoft says its completely the same, but running on your localmachine also IIS gives you exactly the same environment as you will have on any live hosting environment.
Sure, its a little bit more work, but developing this way reduces errors and artefacts which may steal you some time.