26π
It sounds like youβre describing a shared hosting situation where you have SSH access but the webserver is preconfigured for you. You cannot practically install and serve Django on that machine, because you will not have access to the Apache or other webserver configuration. You could theoretically serve Django from a port other than the typical HTTP port, but this would be extremely irregular and your hosting company would not appreciate it.
You can deploy Django on Heroku: https://devcenter.heroku.com/articles/django . It is free to deploy for extremely low-volume applications or for development; cost scales linearly with capacity above that.
You can also use Google App Engine with a slightly older version of Django. Either of these options have official support from the respective vendors and so they are much better ideas than trying to work around a restriction set by your hosting provider.
Finally, you could pay for a virtual machine, in which you would have full access to the webserver configuration and could serve anything you like. Virtual machines are available from any number of companies at a wide range of price points. You could also develop a Django application without hosting it anywhere but your local machine for starters, and worry about hosting after your application is functional.
14π
AWS :
- Free tier available
- great support(but for technical help you got to pay)
- can use platform (PAAS) BeanStalk
- can customize architecture in case you get a dedicated instance
- great community of support
- Custom domain
- great documentation
- can SSH
- Most popular
Heroku:(Django)
- Free to some extent
- Can use only POSTgresql in free plan
- git must
- Good support
- easy to start
- custom domain
- Can use bash in production(Not SSH).. cannot make direct changes in production. This is what makes your App stable. Any change/update goes through git.
- code maintenance β good (deployment through git heroku commands only)
- use AWS S3 to store static files
- Temporary files are removed perodically
- Once you scale that they start to bill, it is really costly.
- Since this is a PAAS, you have got what you have got. It takes lots of efforts to customize(to some extent) the architecture of the APP.
Google App Engine:( Flask/Django project.)
- Free to some extent
- very easy to start(hello world app)
- custom domain
- code maintenance β good (automatic deployment)
- Support is not available
Pythonanywhere:
- Free to some extent
- No custom domain in free plan
- easy to use
- Good support
Webfaction:(Django)
- Not free.. (I think (minimal plan) costs 10 $ per month on shared hosting. )
- SSH available
- custom domain
- Architecture customization.
- Good support
8π
I have really good experiences with pythonanywhere.com. Itβs also free for really small projects.
For me it seems to be just perfect for experimenting with django. Here is a short story how I switched from Google App Engine to pythonanywhere.com: Django unchained β python in the cloud
3π
I was doing the virtual server thing for a while β then entered Heroku. An extremely easy (and in some cases completely free) way to deploy my django application.
I started where you are,in a shared hosting environment trying to make django work. I then taught myself a lot of server admin and server setup things β thereby moving to a dedicated virtual server setup.
Alas making Django work with apache and on a Centos box can be a pain β But Heroku made it all better. Easy app deployment and scalability. Heroku is a cloud application deployment service β itβs all the benefits of a virtual server without the setup. It doesnβt actually install on your server
Check out these two articles
https://devcenter.heroku.com/articles/django
http://rdegges.com/devops-django-part-4-choosing-heroku (There are some more to this article but they are very lengthy)
I had a new django app up on the internet in half the time. There is lots of cost estimations involved, which is why I would dive deep into the second article and itβs various parts.
- 'WSGIRequest' object has no attribute 'session' while upgrading from django 1.3 to 1.9
- Django database synchronization for an offline usage
- Why does Django South 1.0 use iteritems()?
- Performance, load and stress testing in Django
- Django: passing JSON from view to template
2π
You can host Django on Amazon EC2. If you take advantage of their free tier you can do so free for one year in a micro instance (618Mb RAM, 30Gb filesystem). You get full control of the machine, including SSH access. There are a number of freely available images that already bundle Django including the BitNami Django Amazon Machine Image which is also available for free (disclaimer: I am one of the BitNami developers)
- Libmysqlclient.18.dylib image not found when using MySQL from Django on OS X
- Django + Forms: Dynamic choices for ChoiceField
- Django test client does not automatically serialize factories
- Deploying django in a production server
- Overriding Size of Django Admin Multi-select Widget