Force a logout shortcut, in Ubuntu

If everything is blocked / freezed, you can try this:

CTRL + ALT + F2

After this, you will be asked for your username and password to login. Type them then type this:

$ killall -u  [your-username] gnome-session

That’s it. Of course all your unsaved data is lost !

Nginx – upstream sent too big header while reading response header – solution

If you get this kind of error in your nginx logs:

ERROR: *1754 upstream sent too big header while reading response header from upstream, client: X.X.X.X, server: XXXX

One solution that worked for me, was to set the fastcgi_buffers and fastcgi_buffers_size in nginx configuration file:

$ vim /etc/nginx/nginx.conf

Add the following params to your nginx configuration file:

    fastcgi_buffers 8 16k;
    fastcgi_buffer_size 32k;

Restart nginx:

$ /etc/init.d/nginx restart

* This helped you ? Please share.

Installing Redis + Php Redis Extension + igbinary in Ubuntu 12.04

This is a quick example of how to install Redis server, Redis PHP extension + Igbinary in Ubuntu 12.04. All steps requires sudo access.

1. Install Redis server

Because the official Ubuntu PPA is not updated with the latest version of Redis, we need to add another repository:

$ sudo add-apt-repository ppa:chris-lea/redis-server
$ sudo apt-get update
$ sudo apt-get install redis-server

If “add-apt-repository” fails, try to run this first:

$ sudo apt-get install python-software-properties

2. Install igbinary

$ sudo pecl install igbinary

3. Install PHP Redis extension

$ cd
$ git clone https://github.com/nicolasff/phpredis.git
$ cd phpredis
$ phpize
$ ./configure --enable-redis-igbinary
$ sudo su
$ make && make install

There is a repository that has the php redis helper: https://github.com/ukko/phpredis-phpdoc

Hope this was heplful 🙂

Port forwarding with iptables

If you ever want to try port forwarding with iptables, here is a quick example of forwarding a public port (45000) – public network to a private port (22) – ssh – private network:

$ iptables -t nat -A PREROUTING -p tcp --dport 45000 -j DNAT --to-destination 192.168.1.200:22
$ iptables -t nat -A POSTROUTING -j MASQUERADE

If this is not working, check if your system has enabled ip forwarding. If not, execute this in your terminal:

$ sysctl net.ipv4.ip_forward=1

* The above command might not work if you are on a VPS.

Avoid ssh connection timeout

One way to avoid ssh connection timeout, is to use your ssh config file:

$ vim ~/.ssh/config

Add the following lines:

Host myhost
  HostName myhost.tld
  ServerAliveInterval 60
  Port 22
  User myusername

Or, if you want to set the keep alive for all hosts:

Host *
  ServerAliveInterval 60

Tip: now you can connect like this:

$ ssh myhost