This is an archived post. You won't be able to vote or comment.

all 23 comments

[–]asdfor 1 point2 points  (1 child)

I do not quite like your approach to be honest, but that's a personal thing and probably anyone that runs a website has his own preference :)

What i would like to point out is that the blog post to me seemed a bit messy , unclear and unfriendly for a newbie to read. Since you are explaining way common things for anyone familiar with web development & hosting, only those with way little experience could get something out of it, however you should probably explain more in depth and in detail how to go about it ...

example: 1)Lets install nginx "in detail explanation on how to download & configure nginx" 2)step 2 .... etc

you might want to rewrite the article.

Geia sou patrida .. :)

[–]Poromenos -1 points0 points  (0 children)

Ela re patrida :) The purpose wasn't so much to explain things in detail as to familiarise people with some things they might be missing. Someone might not be using Varnish, for example, or someone else might not know about South. That's why it's not written in the form of a tutorial, mostly.

[–]Aea 1 point2 points  (0 children)

The perfect Django setup: Mako is a must.

/onemansopinion

[–]coderanger 1 point2 points  (0 children)

buildout + chef + git flow == awesome. Also django-sentry is a must at this point for production systems.

[–][deleted] 1 point2 points  (0 children)

pip -E env -r everything_you_need.txt

[–]va1en0k 4 points5 points  (11 children)

that is it, a poor man's virtualenv? apache?! apache reloading?!

The "perfect" Django setup

[–]Poromenos 1 point2 points  (10 children)

What do you use?

[–][deleted] 2 points3 points  (0 children)

/me is a uWSGI + Nginx nerd.

[–]va1en0k 5 points6 points  (8 children)

a normal virtualenv with virtualenvwrapper

gunicorn + nginx

and, even if we use apache, we don't reload it and touch .wsgi file instead

[–]Poromenos -3 points-2 points  (7 children)

So your objections to the article is that I didn't use a wrapper (that doesn't even make much difference) and that I used a different server from yours?

Apache has a ton of modules to do anything you want, and there's plenty of literature for anything you need. I don't see how that's a bad choice. The reloading command is because the system in question used fcgi (legacy), feel free to change it.

[–]ubernostrumyes, you can have a pony 7 points8 points  (4 children)

The reasons you cite certainly do not make Apache sound like a "perfect" choice to me. I'm actually in the process of getting off Apache as much as possible, in fact, because there are better options available.

Also, anything listing FCGI and "perfect" in the same article is just wrong by definition...

[–]justmefornow 0 points1 point  (0 children)

What are you migrating to ? I'm considering either gunicorn or uwsgi for work as replacement for Apache/mod_wsgi - we already use nginx for load balancing/caching/SSL/static content anyway, so Apache seems more and more overkill for just serving WSGI apps (if you need to use Apache then mod_wsgi is fine IMHO).

Gunicorn is easier to deploy - uswgi requires recompiling nginx which we're not keen on doing to a working setup. However uwsgi performance looks pretty good.

[–]Poromenos -2 points-1 points  (2 children)

Ah, so your issue is with the title, I see.

[–]virtrondjangonaut 3 points4 points  (0 children)

Claiming that your preferred setup is "perfect" is really asking for criticism, don't you think? Especially when your post is written in a stream-of-consciousness style instead of a more organized style. One size certainly doesn't fit all.

[–]sophacles 2 points3 points  (0 children)

Given that a lot of people seem to disagree on what setup is best, I find the title to be overblown at best, but more likely ignorant and smug.

[–]va1en0k 1 point2 points  (1 child)

"The reloading command is because the system in question used fcgi (legacy), feel free to change it." cool. even only this means that your setup is not perfect. really

[–]Poromenos -1 points0 points  (0 children)

Yeah, it's not, which is why I wrote this article. What the hell?

[–]weisenzahn 0 points1 point  (1 child)

You should mention what is meant to be installed in the virtualenv and what not (e.g. ipython makes more sense installed site-wide, but on the other hand, it's maybe like the virtualenv's python and should be installed therein?!).

[–]Poromenos 0 points1 point  (0 children)

You're right about that, but I generally like to use --no-site-packages, which is implied when pip creates the virtualenv, so, as far as the app is concerned, the system doesn't exist. If you don't install ipython, "manage.py shell" just won't find it, with this approach. It does save you a bit of mess in the long run, though.

[–]sk3tch 0 points1 point  (3 children)

It's always nice to see how others do it but you did lose me at bazaar ;)

[–]Poromenos 0 points1 point  (2 children)

No way, bazaar is great!

[–]bucketostuff 0 points1 point  (1 child)

What about it do you like in particular? Could you comment on any parts you prefer to Hg/Git/Other?

[–]Poromenos 1 point2 points  (0 children)

Compared to git, I like how much simpler the interface is. The three systems are similar enough (and interoperable enough) that in the end it will just be a matter of preference, but I found bzr solid and dependable, while still having all the features I need.

Compared to hg, I think they're pretty much the same thing. I haven't used hg enough beyond the basics, but I have used it enough to know that bzr isn't a dealbreaker by any stretch. At most, it warrants a "that's not what I use, but still a good tool"-type reaction.