Arduino Nano, ESP8266-01 communication
Step 1: Turn On Your ESP8266 Module by Using Arduino Nano 3.3V Dc Output Pin. Remeber sometimes Arduino board is not delivering sufficient voltage to the ESP8266 module. You can use a 3.3 V ( Do not exceed input voltage from 3.3v) regulator ( AMS1117 ) to power this module. A voltage divider circuit is used to drop the Arduino 5V to ESP8266 3.3 V.

Step 2: Here is the schematic Diagram, in my code I used Digital pin 2 as a Tx and D3 as an RX. 

Step 3: Open Arduino IDE and Paste the source code in the window just like shown in the picture. 
   

Step 4: You are ready to send At Commands to Your ESP8266 Module. Remember you will see a Garbage value during Serial Communication.

AT – Will give OK on the serial monitor, if Not just unplug vcc Pin of ESP8266 Module for a moment and reconnect again. 

Send AT+RST – Command to Restart module / Optional Command

Send AT+GMR – To get the firmware version

Send AT+CWMODE? – Set Module to a Dual Mode Sucha as Standalone + Access Point mode. 

Send AT+CWLAP – Command to Search Nearby Wifi Access Point. Find your Wifi Name in the Search Result.

Send AT+CWJAP="Your Wifi Name","Your Wifi Password" – Command to Connect to WIFI.

Send AT+CIFSR – Command to Check Allocated Ip given by your Wifi to your ESP8266 Module/Optional Command.