Annie,
Although the job doesn’t pay much, and it is not your first choice, I would advise you to take it. The reason being that for now, it is your only offer, and like you said, it is only for two years. While yes, that does sound like a long time, as soon as those two years are over you can start looking elsewhere. If the salary sounds too low for you then wait up until the last day of the week to respond to see if any more offers come in.
If you believe you can find a better job offer, then by all means turn down the offer.
However, at this point, what is most important is that you not go back home. It is not a safe or good environment for you and you know that. So if it means accepting this job offer then do it. If you see that you are struggling to pay bills then get a roommate or get a part time second job to keep you afloat. While that in itself sounds like a hard situation it will definitely be better than going home.
Good luck with whatever you choose to do.