Your problem might be:
1) Good position of the roots and good orientation of the bones, so that, when they rotate, they do it in the good axis and in the right direction
2) Proper rigging of the eyelids.
Let's rig 2 demi-spheres that could be your eyelids:
- Create an object with 2 distinct demi-spheres.
- Create 1 armature with 2 bones with their root approximately at the centre of the sphere. Call these bones "eyelid_top" and "eyelid_bottom".
- Parent the object to the armature with a ctrl P > Set Parent To > With Empty Groups. Now you've created 2 vertices groups called "eyelid_top", and "eyelid_bottom" but they haven't been assigned to any vertice of the mesh yet.
- Select your object and in Edit mode, select the top demi-sphere and assign it the vertex group called "eyelid_top", then assign "eyelid_bottom" to the bottom demi-sphere. Now these meshes should move if you move the bones.
- Now to constraint the bones, add them a Limit Rotation constraint on the axis you want, choose Local Space.
- You could only constraint the top bone and choose to assign a Copy Rotation constraint to the bottom bone, so that when you rotate the top eyelid it automatically rotates the bottom eyelid. Don't forget to click on the Invert option of the constraint.
- In Object mode rotate the whole armature on the Z axis so that it is oriented the way you want, according to the way they should be on your character's face.
Of course your eyelid meshes and bones should be part of the whole mesh and armature of your character, I'm just showing how to do it as if they were apart
Now let's imagine you've created eyes for a human face, they will be directed in the same direction as the head. If you need sideway eyes for another character, they will be directed sideways, and your bones need to be as well.