The contractor that should not be
-
@lucas1 said in The contractor that should not be:
Nginx was from the get go designed to be more performant and it is.
More to the point, to someone coming in new without lots of prior experience of either, nginx is a bit clearer.
-
nginx might be faster but for PHP workloads it's stupid easy to misconfigure (FPM, FastCGI?)
For an internal project where speed to spin up is more important than completely hypothetical performance, Apache can be the right choice.
Here's a question: if nginx is so good, why isn't everyone using it? Let me know when you can run shared hosting where users can perform their own choice of rewrites in nginx.
Also, nginx as a proxy in front of Apache is super common. I wonder why they don't drop Apache.
Or maybe Lucas has his head up his arse again because he forgot that other people have business and practical needs that his environment don't need to care about.
-
nginx might be faster but for PHP workloads it's stupid easy to misconfigure (FPM, FastCGI?)
No it isn't, unless you don't bother reading the docs. Sorry the stupidity and/or ignorance of the developer / admin isn't a valid metric here.
I could mis-configure Apache or IIS and get security / performance problems.
For an internal project where speed to spin up is more important than completely hypothetical performance, Apache can be the right choice.
The first time I used Nginx, it took me about 10 minutes to set it up with PHP + FastCGI and get my app running on my CENTOS server that sits under my PC and for all intents and purposes it worked the same as Apache (could just copy up files). Granted I was pretty proficient with IIS 6 and 7+ which are both weird beasts.
Here's a question: if nginx is so good, why isn't everyone using it? Let me know when you can run shared hosting where users can perform their own choice of rewrites in nginx.
Nginx usage has increased at roughly the same rate that Apache usage has dropped. Obviously I don't think you should just stop using something if everything works fine. But if you are starting out on scratch on a brand new server, why not use the better performing of the two. I make sure my apps btw work on Apache, Nginx and IIS (provided the right modules are installed) .
If you are using something like AWS or Digital Ocean you are going to save money as you will be able to use a smaller instance to serve the same number of people.
Also, nginx as a proxy in front of Apache is super common. I wonder why they don't drop Apache.
Because a lot of PHP code is probably out there that assumes that the app is running under Apache. A lot of functions don't behave properly when running on something other than Apache. I had to write my own set of custom functions to work out if the request was HTTP and not HTTPS if I was running on IIS 7.5.
LAMP hosting is fucking cheap (and usually shit and running out of date versions of PHP). My shared hosting has only just upgraded to 5.4 FFS and I am on one of the most popular hosting options in the UK.
I personally prefer IIS 7.5+, because I know inside out what I am doing with it.
Or maybe Lucas has his head up his arse again because he forgot that other people have business and practical needs that his environment don't need to care about.
Obviously my opinions about what to use are shaped by my personal experiences and how I have used them. How surprising!!
-
@dkf said in The contractor that should not be:
nginx is a bit clearer.
Why is there no "nginx-ensite" ? Making me do my own symlinks is the worst part of trying to configure nginx.
-
@Yamikuronue Because sometimes there isn't anyone else around to do it and you kinda just gotta figure it out. My CV circa 2009-2016.
-
@Arantor said in The contractor that should not be:
Here's a question: if nginx is so good, why isn't everyone using it?
One reason that applies to a lot of my customers:
[heterodox ~]$ yum list available nginx
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
Available Packages
Error: No matching Packages to list
-
@heterodox said in The contractor that should not be:
@Arantor said in The contractor that should not be:
Here's a question: if nginx is so good, why isn't everyone using it?
One reason that applies to a lot of my customers:
[heterodox ~]$ yum list available nginx
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
Available Packages
Error: No matching Packages to listSo... compile and publish a package? Shirley, there must be a way to publish packages to a public repo....
-
502 Bad Gateway nginx/1.4.6 (Ubuntu)
-
@Tsaukpaetra said in The contractor that should not be:
So... compile and publish a package? Shirley, there must be a way to publish packages to a public repo....
"No security updates/support from Red Hat" is how that message reads.
And don't call me Shirley. :D
-
@heterodox So your customers like specific third party packages are why Nginx is shit ... Jesus Christ.
Then I have this complaint.
@Arantor said in The contractor that should not be:
Or maybe Lucas has his head up his arse again because he forgot that other people have business and practical needs that his environment don't need to care about.
FUCKING DOUBLE STANDARD MOTHERFUCKERS!
-
@Tsaukpaetra said in The contractor that should not be:
@blakeyrat said in The contractor that should not be:
@Yamikuronue Because you're supposed to be using nginx now! It's the new hot web server!!!
ITYM
???
This looks like something I'd like to like. But as was already mentioned, it smells like Boomla. Whoever wrote that homepage should be ashamed, but what can we expect from something that was probably written in Ruby and Node.js?
EDIT: Go was my third guess.
-
@lucas1 how is it a double standard that you reply to two different people with two different view points?
Mine is simple enough: yes, your experience shapes your viewpoint but you seem to be incapable of seeing that others have different needs to yours, or at least communicating this fact and instead piss and moan that everyone else is doing it wrong because they don't follow your world view.
-
@heterodox Doesn't have an argument and keeps on downvoting my shit which is pretty poor form when actually talking about a subject on here.
-
@Arantor I said the original post as a contentious viewpoint. Our friend @heterodox didn't fucking get that.
Then argument.
Then you said "Maybe (mine) experiences are like only important to you".
Then matey @heterodox says "oh my customers will never use this because of these random packages that aren't in CENTOS".
And apparently in your mind his reasoning if more valid than mine ...
-
@lucas1 they're more valid to him than your sanctimony.
I see where he's coming from. He's not trying to preach it as truth, merely "this is a thing I did that is considered bad for reasons but on this occasion it doesn't matter to me because XYZ" and he feels this is valid. You on the other seem to feel a need to preach your wisdom to the rest of us.
Oh and it was me that down voted you, not heterodox, but you know best or something.
Keep imparting the wisdom.
-
@Arantor Preach my wisdom ... You can fuck off. That is like tactic I love for basically saying "I don't like what you say".
I said why, and I directly replied to each of the points you complained about, earlier on in this thread. Here is a reminder if you dunno how to scroll up .. https://what.thedailywtf.com/topic/20648/the-contractor-that-should-not-be/54
Instead of throwing accusations at me, why don't you actually say what the problems are with what I said, because most of your complaints in my opinion were bullshit.
-
@Arantor said in The contractor that should not be:
I see where he's coming from. He's not trying to preach it as truth, merely "this is a thing I did that is considered bad for reasons but on this occasion it doesn't matter to me because XYZ" and he feels this is valid. You on the other seem to feel a need to preach your wisdom to the rest of us.
Right. I never said nginx was shit; it's not black and white. It just don't think it's the Holy Grail and I'm tired of people acting like it is.
Also, I do admit to a mistake above; should have looked in documentation rather than yum on my Red Hat box. The correct package name is rh-nginx18, which is a supported software collection.
-
@heterodox said in The contractor that should not be:
Also, I do admit to a mistake above; should have looked in documentation rather than yum on my Red Hat box. The correct package name is rh-nginx18, which is a supported software collection.
It is kinda besides the point and it is kinda pathetic a day later you won't actually talk directly to me but talk to someone else about me to address my point via proxy.
-
@lucas1 said in The contractor that should not be:
It is kinda besides the point and it is kinda pathetic a day later you won't actually talk directly to me but talk to someone else about me to address my point via proxy.
I didn't see a point, just name calling.
-
@heterodox I sent plenty to you, but alas you decided to ignore them and reply via proxy as stated. So it was kinda difficult to say anything to you when you wouldn't acknowledge it.
-
@lucas1 said in The contractor that should not be:
@heterodox I sent plenty to you, but alas you decided to ignore them.
None of your points apply to me.
Honest question: What do you want from me? When I need a general-purpose Web server or reverse proxy, I'll keep on deploying Apache for the same reason I'll generally deploy WebLogic when I have a choice of J2EE application servers: Because I have more than a decade of experience with Apache and I have many other Apache deployments.
The more homogenous the environment, the easier it is to administer. When you're administering hundreds of servers, it makes a difference. I'm not going to go ten rounds with a client to get them to add something to their approved software list when I have something else that's perfectly serviceable. I've been going through that process for months to get software approved that's been in production for years. Even with vendor support it's a pain in my ass.
I'm not saying nginx is a piece of shit, nor am I saying you're an idiot for using it. I'm saying it's not a universal solution and in some environments Apache is a better choice.
-
@heterodox I am saying that when I say something that is obviously contentious maybe you shouldn't take it 100% seriously on the internet otherwise I am going to argue the fucking toss just to piss you off.
It is even funnier that I can usually make a decent argument for said contentious statement that looks reasonable.
When all is said and done, I am probably going to use nginx because for everything I ever do it is a better option, and tbh it is for more devs / admins because they aren't in bullshit shared hosting scenarios. Lowest common denominator isn't an argument as far as I am concerned.
Adoption has been rising for years, while apache has had an obvious decline ... so maybe mate you might bother learning about the other.
-
@lucas1 said in The contractor that should not be:
@heterodox I am saying that when I say something that is obviously contentious maybe you shouldn't take it 100% seriously on the internet otherwise I am going to argue the fucking toss just to piss you off.
Mission failed then. shrug
It is even funnier that I can usually make a decent argument for said contentious statement that looks reasonable.
In other words, "trololol"? Good for you, I guess?
Lowest common denominator isn't an argument as far as I am concerned.
It's not an argument I made, either.
Adoption has been rising for years, while apache has had an obvious decline ... so maybe mate you might bother learning about the other.
It is fair to say that I could stand to learn more about nginx administration and configuration, and it's on my To Do list; that's the same list that has a couple years of backlog, though, and I've never had a client yet who's been dissatisfied that I didn't deploy nginx for them.
One point on which I think we can agree: I hate the living guts of any moron contractor who installs Apache on Windows Server for a simple use case when IIS is more often a superior solution on that particular platform. It's also more work for them when it comes to HTTPS (they have to go through the lengthy process of going through the RAs to get a certificate whereas with Schannel you can just use the machine's existing certificate).
-
@Arantor said in The contractor that should not be:
nginx might be faster but for PHP workloads it's stupid easy to misconfigure (FPM, FastCGI?)
I've read somewhere that if you're serving pure PHP workloads (i.e. no static files), Apache/mod_php is actually faster than nginx/php through FastCGI, in terms of response times under low workloads, because Apache doesn't need to do serialization/deserialization through the FastCGI layer. Of course, scalability is a different issue.
And PHP is stupidly easy to misconfigure anyway, whether you're dealing with mod_php or php-fpm/FastCGI. Or even when you're just using the cli, really.
-
We are using 100% apache in PHP production. Why? Network effect.
Everyone knows how to use it. All frameworks come preconfigured for it. All servers come with it in the package manager repos. Contractors use it for local dev. Server admin panels and tools know how to drive it.
I tried nginx and frankly don't find its configuration format any easier than apache. It's still a pile of DSL mumbo jumbo you have to copy paste from google.
As for speed, shrugs. That's a clear benefit, no doubt. All things being equal, you should go with nginx. All things are rarely equal.
-
@anonymous234 said in The contractor that should not be:
Maybe if you included the time it takes to make the $200 for the Windows license, you'd break even.
windows server plus visual studio is much more than 200 bucks
-
@cark said in The contractor that should not be:
And PHP is stupidly easy to misconfigure anyway, whether you're dealing with mod_php or php-fpm/FastCGI. Or even when you're just using the cli, really.
So? The whole purpose of having options on a thing is to allow people to mis-configure thing. That's why they are progressively taking the options out of all the things.
The only unusual aspect I see about PHP is it still has options.
-
-
@groo said in The contractor that should not be:
@anonymous234 said in The contractor that should not be:
Maybe if you included the time it takes to make the $200 for the Windows license, you'd break even.
windows server plus visual studio is much more than 200 bucks
More if your web application use MSSQL and it has to be accessible by public. (Hint: Per core license is expensive, and even if you try to cage it in VM to limit the cost, you still need to license at least 4 cores)
-
@ScholRLEA said in The contractor that should not be:
@Maciejasjmj said in The contractor that should not be:
@Tsaukpaetra said in The contractor that should not be:
Caddy - The HTTP/2 Web Server with Fully Managed TLS
I'd rather it served webpages, thank you very much.
E_COOKBOOK_NOT_FOUND
-
@dkf said in The contractor that should not be:
a Flintstones-style stone wheel
and a triangular one at that.
(triangular wheels are better than square ones because they eliminate one bump)
-
@flabdablet said in The contractor that should not be:
triangular wheels are better than square ones because they eliminate one bump
but hexagonal ones give you smaller bumps
-
@Luhmann I'm sorry, I just can't see how that justifies the extra complexity.
-
@Luhmann said in The contractor that should not be:
@flabdablet said in The contractor that should not be:
triangular wheels are better than square ones because they eliminate one bump
but hexagonal ones give you smaller bumps
For a more sensual experience, right?
-
@flabdablet said in The contractor that should not be:
I'm sorry, I just can't see how that justifies the extra complexity.
We can even make the ride smoother by shaping the roads just right.
-
@dkf And think of all the extra traction we'd get from that!
-
@flabdablet said in The contractor that should not be:
@Luhmann I'm sorry, I just can't see how that justifies the extra complexity.
If four corners is good; if six corners is worse because more corners; if three corners is better because fewer bumps then...
...round is best of all: zero corners--and infinitely fewer bumps!
-
@CoyneTheDup said in The contractor that should not be:
round is best of all
Get out of here! This kind of sense is not tolerated around here!
-
-
@CoyneTheDup said in The contractor that should not be:
round is
bestworst of all:zeroinfinite corners--and infinitely fewerbumps
-
@Jaloopa And besides, standard PHP wheels only come in triangular (square) or square (square_real) and reinventing the wheel is generally held to be a bad idea.
-
@Yamikuronue said in The contractor that should not be:
Why is there no "nginx-ensite" ? Making me do my own symlinks is the worst part of trying to configure nginx.
To be fair, that's a Debianism, not an Apache thing.
And that is why you use fucking Debian (or derivatives) — works well and it's not a PITA to configure.
Filed under: Expecto RHELtrollum!
-
@Onyx said in The contractor that should not be:
Expecto RHELtrollum!
-
@Onyx said in The contractor that should not be:
that's a Debianism, not an Apache thing.
eh? I mean, I primarily use Debian-based distros, but does Apache not create "sites-available" and "sites-enabled" when installed on non-Debian distros?
-
@Yamikuronue it does, in a fashion, but there's no
a2ensite-enable
on other distros. I mean, it's not black magic etiher way, It just symlinks/etc/apache2/sites-available/yoursite.conf
to/etc/apache2/sites-enabled/yoursite.conf
, pretty much in the same way you'd do it manually for ngnix, or even for Apache for that matter, manually symlinking won't break anything, it's just nicer to use.Then again... I do kinda remember that I had to edit
/etc/httpd/apache.conf
on CentOS and add virtual hosts there, and using Debian-like structure involved including the files yourself? Been a while though, I might be wrong there.
-
@Onyx IIRC Apache can work in two modes, one with the sites-available virtualhost thing, but I've seen installs that just put the site definition in the apache.conf for "simplicity".
@Onyx said in The contractor that should not be:
it's not black magic etiher way
no, but symlinks are hard >.>
-
@Yamikuronue said in The contractor that should not be:
symlinks are hard
sorry ... that other thread is still buzzing in my mind
-
@Luhmann You should turn it off. Coin-cell batteries don't last forever ;)
-
@Yamikuronue said in The contractor that should not be:
Apache can work in two modes
It's not really a mode AFAIK, it's just that the default config on Debian has this in
/etc/apache2/apache2.conf
# Include the virtual host configurations: IncludeOptional sites-enabled/*.conf
Which is not a standard on all distros.
-
@Onyx Sure, but the steps to perform maintenance differ, so it's a "mode".