4,256 reputation
1720
bio website BlackMesh.com
location
age
visits member for 4 years
seen Jul 8 at 20:35

Director of Emerging Technology at BlackMesh Managed Hosting, longtime Linux aficionado, sometime Drupal developer (and d.o sysadmin), and occasional filesystem tinkerer.


Jun
23
comment Varnish as a web server
You probably want to delete the return(deliver); from the bottom of vcl_synth, lest you fail to run this code from builtin.vcl (née default.vcl): varnish-cache.org/trac/browser/bin/varnishd/… .
Jun
9
comment Varnish as a web server
Sorry to be a pain, but you very much don't want return(deliver) at the very bottom of your vcl_error! If it doesn't satisfy any of the conditionals, you want it to fall through to the default behavior of constructing a "Guru Meditation" page (by not returning at all).
May
30
comment Varnish as a web server
This is the correct answer, and also the official way (per Varnish docs) to handle this. However, both your answer and the Varnish docs have an omission: if you don't set obj.response to something sane, then you'll get HTTP/1.1 200 Unknown Error or even HTTP/1.1 200 http://www.example.com/correct-target in your response! Simple fix: obj.response = "OK" for 200, or other appropriate code for the others.
May
30
comment www.example.com and example.com records in microsoft dns
What do you get when you query DNS about the base domain name, currently? Is there, for example, a hidden CNAME record bedeviling your attempts to add this one?
May
27
comment Why does ethernet have a minimum frame size specified?
@AndrewWagner, As I already said in my response, mfinni's answer above, which is about collision detection, is correct. My point was that this "quirk" of the specification also allows hardware designers to take a few shortcuts of their own.
Mar
25
comment Nginx using mysql result as variable to be used in headers more module
mywiki.wooledge.org/XyProblem ?
Mar
19
comment nginx can't find cgi two levels deep
wiki.nginx.org/HttpCoreModule#try_files covers this quite nicely.
Mar
19
comment What is the best way to resize the “/” mount point that is not LVM?
You don't say what filesystem you're running, but modern best practices typically don't include splitting the OS across so many partitions. That was much more relevant back before journaling filesystems.
Mar
4
comment Varnish 503 error after exactly 60 seconds… how to change this timeout value?
bereq.first_byte_timeout exists, but I'm not sure it's writable. If it is, you could also modify that inside of vcl_pass as opposed to defining a second backend just to change first_byte_timeout.
Nov
22
comment How to troubleshoot performance issues of PHP, MySQL and generic I/O
apc.shm_size is quite small for any significant amount of WordPress code and plugins. Grab a copy of apc.php (git.php.net/?p=pecl/caching/…), throw it in your DocRoot, and check the cache full count. If it's > 0, which it will be, increase shm_size. A good guess for a typical WordPress site might be 64 or 96 MB (corresponding to apc.shm_size=64M or apc.shm_size=96M in your apc.ini). Oh, and delete apc.php when you're done; it's not a real problem, but it ideally shouldn't just be left sitting around.
Nov
22
comment Optimal setup for bulk CSV import
On MySQL 5.5 or newer (or 5.1 with InnoDB Plugin), InnoDB is pretty much always better. On 5.6 or newer, it's truly always better. MyISAM is old and broken. Don't use it unless you truly must. Anyone saying otherwise is either going off of old information, has misconfigured (or not configured) their InnoDB tunables, or is a wizard.
Oct
15
comment SSL Connect timing out during handshake (client exchange re-transmission)
Looks like the ACK isn't hitting the client. Is this an especially noisy, lossy, or slow connection? Again, the raw data is what is really needed here.
Oct
14
comment SSL Connect timing out during handshake (client exchange re-transmission)
TCP-level ACK, or layer 7 ACK? The raw data would be much more useful here.
Oct
7
comment allow BOTH http and https
I suspect that's the issue; s/he only has an SSL VHost configured. @Ziplo, you need to create a second VirtualHost, same as the SSL one only without the SSL bits in there, to serve traffic on port 80.
Sep
26
comment Dangers to giving Apache user a shell
Killing mod_evasive is certainly one option to solve the problem, yes. Whether that's an appropriate answer has far more to do with why you chose to install it in the first place than its intrinsic worth, however. As far as the Apache user, giving it a shell is a minimal increase in privilege; that doesn't concern me. Apache with sudo access is scary, but largely because giving anything sudo is terrifying. Still, as long as you define your sudo narrowly (i.e., not just NOPASSWD: /usr/sbin/iptables), you should be okay in most real-world scenarios. Don't expect to pass a sec. audit, though.
Sep
17
comment passenger apache and nginx module not compiling on ubuntu 12.04LTS
Try editing the rake invocation in the passenger-install-apache2-module script to add the -v flag, which should give you a bit more output. Alternately, grab the g++ line from ps and run that by hand in the appropriate directory. What do you get?
Sep
5
comment passenger apache and nginx module not compiling on ubuntu 12.04LTS
Something like strace output is the ultimate way to track down what's actually going on inside of this, but let's stick with something simpler for now. Log on another time in a separate terminal and share with us the output of ps xfawww while the other terminal appears "stuck"; this will show us what command(s) are being run that are taking so long to complete. Alternatively (or additionally), if passenger-install-apache2-module is a shell script, try bash -x passenger-install-apache2-module.
Aug
26
comment newer libmysqlclient.so creates a conflicts with a php-mysql install
Good distributions of MySQL packages include several versions of the MySQL client libraries; I know under IUS, for example, I can simply do yum install mysqlclient16. Is there a compelling reason that you must use the Oracle-provided packages? They're widely considered inferior, and not just because of their boneheaded insistence on capitalization.
Aug
26
comment Recover lost POST data on LAMP site
Indeed. The issue here is that POST data is not part of the request, per se. It's simple stream IO on STDIN for the process being launched (e.g. PHP as in this case, or a CGI script). Thus, you can't simply modify your LogFomat to pick it up; you have to do the in-process moral equivalent of tee. Point being, the data is not only gone, it would also have been rather hard to collect in the first place.
Aug
26
comment Avoiding Nagios commands.cfg
Yep! I'd add that you can also do $USER1$/footest $ARG1$ if you don't have a reasonable ability to guess what parameters might be required; you can then use a check_command like footest!-b something -c something.