OpenVPN является надежным способом достигнуть этого. В зависимости от Вашего AMI необходимо будет загрузить его через систему управления пакета или скомпилировать его.
Похоже, вы запускаете mongod как непривилегированный пользователь, поэтому он не может открыть файл журнала. Вы должны запустить службу mongod как системную службу, а затем предоставить доступ пользователям (см. Документацию db.addUser).
Для запуска Node.js в производственной среде лучше использовать какое-нибудь средство вроде https: // github .com / nodejitsu / forever , а затем запросы прокси через прокси. Вы можете использовать Apache, поэтому настройте его так, чтобы он прослушивал ваш index.html на другом порту, скажем, 8080 в ports.conf
Listen 8080
, и добавьте виртуальную машину для перенаправления в ваше приложение на 80, что-то вроде:
<VirtualHost you.example.com:80>
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location />
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
</Location>
</VirtualHost>
Возможно, вы потеряете некоторые чистые характеристики Node с этой настройкой, так что посмотрите также https://github.com/nodejitsu/node-http-proxy .
Для этой части проблемы:
bash: /var/log/mongodb/mongodb.log: Permission denied
Пользователь, которого вы используете для запуска MongoDB, не имеет разрешения для доступа к файлу журнала, который вы указали с помощью параметра конфигурации logpath . Сначала вы должны узнать, от имени какого пользователя он запущен (обычно mongod, если вы используете RPM 10gen).
Затем посмотрите на владельца файла журнала:
ls -al /var/log/mongodb/mongodb.log
Возможно, вам понадобится использовать sudo
или войдите в систему как root, чтобы изменить разрешения (или, возможно, создать файл). Предполагая, что он существует, вам нужно будет изменить владельца, примерно так:
chown mongod:mongod /var/log/mongodb/mongodb.log
Другой вариант - создать новый файл журнала в другом месте и изменить параметр пути журнала, чтобы он указывал на него.