It sounds like your son is becoming a toddler. Mine started that phase at about the same age.
The first advice I would give is that he is NEVER to young for verbal intervention. It is the best way to teach him to use his words when something upsets him. When my kids throw tantrums I use language like: "I know you are angry because you are not allowed to play with the curtains, but screaming is not OK. I will pick you up when you are done screaming." "It is OK to be angry, but it is not OK to throw yourself on the floor."
I would also recommend redirection instead of symply saying NO. "We are not going to play with the hymn book, you may play with your book that we brought from home. This book is for grown-ups." "Let's not play with the curtains, you don't want to get an owie, let's play with this car over hear on the floor. It's not safe to climb the sofa, we don't want to fall down."
I have always found that it is important to, first of all, acknowledge and validate the way your child is feeling: angry, sad, frustrated... They are after all people, and second of all, ALWAYS verbalize. This teaches them to verbalize instead of scream. They scream because they don't have the ability to tell you verbally how they feel, so giving them those words helps them deal with their feelings and identify what they feel.
Stay patient and calm and he will grow out of this phase, especially if you give him the tools he needs to do it.