Optimasi Plugin WP Super Cache di Nginx Web Server

Hello mas brot, lagi2 artikel ini hanyalah kopas mentah2 belaka karena memang ogut sangat tidak pandai bikin artikel, apalagi tutorial xexexexexex….

Bagi yang ga ngerti apa itu web server, nginx, ssh lan konco2ne mending ga usah baca artikel ini, dari pada nanti malah pusing, klemun2, terus mutah :v

Okelah kalo begitu, karena 2 paragraph di atas saya sudah yakin sangat unik sekali karena memang hasil pemikiran sendiri, jadi mari kita masuk ke Kopas 😀

Standard WordPress-Nginx configuration with WP Super cache support:

As you are getting into Nginx, I hope you don’t need my help with configuring WP Super Cache plugin.

Still, make sure you are using “Use mod_rewrite to serve cache files. (Recommended)” option under “Advanced” tab.

Following configuration supports:

  1. Static Page Caching using Disk
  2. Direct browser cache for static content like images, js, css, etc

 

Note:

To simplify configuration, I haven’t added Mobile user agent checks. We are in the iPhone era where finally phones are getting smart. So there is no need to create separate mobile site, when you can cater to today’s iPhone/Android devices using responsive designs.

Don’t Forget:

Always test your Nginx configuration and then reload it. All changes to Nginx config must be followed with these commands:

Important Note:

WP Super Cache caching will conflict with plugins that uses query vars. WooCommerce is an example known plugin known to work with above configuration. Reason is following line: 

It doesn’t passes $args to /index.php. If you set last try_files argument to /index.php?$args as with other WordPress-Nginx configuration, WP Super Cache, itself will break!

if you get error like this “Mod rewrite may not be installed” just install this plugin http://wordpress.org/plugins/nginx-helper/ the remove the error

Artikel ini sepenuhnya diKopas dari –> https://rtcamp.com/wordpress-nginx/tutorials/single-site/wp-super-cache/

Mobile redirect dengan Nginx server

Dicopas sepenuhnya dari http://jyunderwood.com/posts/mobile-redirection-with-nginx.html  😀

Using Nginx for redirection

Visitors should not have to go to the Rails app just to be redirected away from it. By having the logic in Nginx, we can reduce unnecessary request to the Rails app and also reuse the implementation for other projects that might be built with Node.js, Python, static HTML, or something else.

Defining the flow

The logic that most websites use for desktop / mobile redirection:

  • Mobile devices visiting http://www.example.com/ should redirect to http://m.example.com/.
  • Desktop clients should continue to http://www.example.com/.
  • Mobile devices should be allowed to the desktop website if visiting through http://www.example.com/?mobile=false.
  • A cookie should be set when a mobile device chooses the desktop version to remember the choice.

Redirecting to mobile website

To start, here is a very basic Nginx server configuration that can serve static pages.

 

The redirection logic is actually quite simple, but one gotcha is that if blocks in Nginx can be unpredictable. There is even an article on the Nginx Wiki about the evils of if.

Because of this, if blocks are kept out of a location context and only used for setting variables, with one exception being the actual redirection.

 

The $mobile_request variable is initialized as false, then is set to true if the requesting browser is a mobile device. Finally, if the $mobile_request variable is true, a redirect happens.

Setting a cookie, checking a cookie

Cookie creation should be handled in Nginx, too, but I had some initial issues since add_header cannot be inside an if block in the server context (though it can in the location context).

Because of the add_header restriction, the $mobile_cookie variable needs to be initialized before the if block that could set it to false, because add_header Set-Cookie is always going to be used.

 

Exceptions to the redirection

One major issue that can come up from this implementation is the mobile check happens on every HTTP request through Nginx. This is not a problem for our company website since assets are hosted on Amazon S3, but if your hosting assets at /assets/ or elsewhere, you’ll need to add exceptions to treat all request to that directory or file as non-mobile.

 

All together

Because of the $request_uri in the redirection block, the code assumes the routes of your desktop website and mobile website will be the same, or at least mapped accordingly on the mobile side of the implementation, but that’s another post.

Linux Screen – Solusi agar proses tetap berjalan saat koneksi SSH terputus

Artikel ini saya copy sepenuhnya dari http://hostuner.com/linux-screen/

 

Linux Screen

 

Ketika anda sedang meremote sebuah server melalui ssh dan sedang menjalankan proses yang tidak bisa ditinggal dan membutuhkan waktu lama, lalu tiba-tiba koneksi anda putus, tentunya itu akan sangat menjengkelkan, dan ketika kita kembali terhubung ke server melalui ssh, proses yang kita jalankan tadi tidak bisa kita lihat lagi. Untuk itu kita perlu menggunakan bantuan “linux screen”, utilitas ini berguna untuk melanjutkan kembali sesi terminal sebelumnya, sehingga anda bisa melanjutkan pekerjaan anda walaupun koneksi terputus. Berikut tutorial singkat penggunaan linux screen.

Instalasi Linux Screen

Debian/Ubuntu

CentOS

 

Cara menggunakan screen

Untuk menjalan screen, cukup ketikkan perintah “screen”

 

ketika anda mengetikan perintah tersebut, tidak akan terlihat perubahan yang berarti, hanya akan terjadi perubahan di title terminal anda.

 

linux screen tutorial

 

Sekarang beberapa perintah dasar menggunakan screen, perintah screen dimulai dengan menekan tombol ctrl bersamaan dengan tombol yang diperlukan,

 

  • ctrl+a+c : membuat sebuah sesi screen baru, sehingga anda dapat menggunakan beberapa sesi screen.
  • ctrl+a+n : beralih ke sesi screen selanjutnya (tentunya jika anda membuat beberapa sesi)
  • ctrl+a+p : beralih ke sesi screen sebelumnya
  • ctrl+a+d : melepaskan sebuah sesi screen (tanpa menghentikan proses yang berjalan di dalam screen)
  • exit : untuk mengakhiri sebuah sesi screen

 

Sekarang kita akan sedikit mencoba mempraktekan teori tersebut, pertama tentunya remote server anda, kemudian ketik perintah “screen”, lalu jalankan perintah yang bisa kita lihat, dalam contoh ini saya menggunakan perintah “mtr” (my trace route).

 

 

kemudian buat sesi screen baru lagi dengan menggunakan perintah “ctrl+a+c“, lalu jalankan perintah “ping” misalnya.

 

 

sekarang cobalah berganti sesi screen sebelumnya menggunakan perintah “ctrl+a+p“, dan coba ke screen selanjutnya dengan perintah “ctrl+a+n“.

 

Selanjutnya adalah coba kembali ke sesi SSH biasa atau dengan kata lain deattach (bukan menghentikan screen) dengan perintah “ctrl+a+d“.

 

Untuk melihat daftar screen yang ada, gunakan perintah

 

 

 

Untuk menghubungkan kembali ke salah satu screen, gunakan perintah “screen -r nomor_screen“, contoh

 

Untuk menghapus session screen

Lalu bagaimana jika koneksi saya terputus? Tinggal koneksi saja via ssh, lalu lihat screen yang ada, kemudian hubungkan seperti langkah diatas.

 

Semoga bermanfaat

 

Regards,

 

Install MongoDB driver untuk Php

Untuk menghubungkan antara MongoDB dan Php kita membutuhkan driver, dan untuk menginstallnya pun sangat mudah 🙂

Jika sudah, buka php.ini dan tambahkan baris berikut

Terakhir silahkan restart php .

 

Note : Instalasi ini membutuhkan php-pear , jika belum terinstall jalankan command berikut ini

 

Cara Install MongoDB Ubuntu 12.04

Test mongodb apakah sudah runing dengan comand

Source : http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

Install Elasticsearch in Ubuntu 12.04 LTS

Easy install Elasticsearch in Ubuntu 12.04

Source : https://gist.github.com/wingdspur/2026107

Easy steps to parse RSS/Atom feeds into Array with PHP

Very simple script to parse RSS/Atom feeds into php array 🙂

Source : http://stackoverflow.com/a/19751841

Pindah WP antar server

1. back up db

2. back up file

3.  impor wp ke server baru

4. extract

5. create new DB

6. import mysql dump file to DB

7.Done