Gaining weight is the same as losing weight. It's a very slow process. If we're talking about gaining just muscle, which is usually the case, you're not going to be gaining like 20 lbs of muscle a month.
Most of us don't have a clue what a pound of muscle really looks like, but it's huge.
Simply put, you need to be eating in a calorie surplus. Figure out your maintenance calories and then eat more. Now, eating so much in excess isn't going to make your gains faster because you can only build so much muscle in a given bit of time. At some point you're just putting on extra fat that you'll need to burn off to see your muscle gains.
Lifting while trying to gain weight is even more important than losing. You need to be lifting, and that training needs to be difficult for you. Legs will by far be the most important group for you to train and will stimulate growth in your entire body. Neglecting legs because all you think that matters is arms and chest will greatly hinder your progress.
Try to get aim for .8-1g of protein per lb. of bodyweight in your diet. Milk and PB are good bulking foods, but don't forget about things like eggs and beans. Rice and pasta will help you fill in the extra calories. I prefer to keep my diet as near clean as I can mentally handle, but really, if you're getting your macronutrient requirements you can eat twinkies for the rest of the day to no ill-effect.