Во-первых, нужно отказаться от использования апача, во-вторых, прочитать документацию для начинающих на nginx.org. В-третьих, вернуться сюда, когда будут конкретные вопросы.
Нет возможности проверить, но я бы наверно сделал так:
В основной server добавил rewrite ^(.*) https://www.site.ru/admin$1 permanent;
сделал отдельный server в котором прописано все для ssl, и в нем локейшен admin.
Не уверен что это правильно, первое что пришло в голову.
1. А зачем в host прописывать?
2. У nginx есть два дефолтных конфига default.conf и ssl.conf. В default.conf сервер прописан как "по умолчанию", т.е. если вы его оставили активным то все домены будут попадать туда.
3. И еще вы какую ОС используете?