2016-04-25 4 views
0

У меня есть сервер apache2 и попробовал использовать его с пассажиром, чтобы запустить приложение для метеор. Метеор и все работает нормально, но я хотел использовать файл настроек или хотя бы установочный объект. Поэтому я попробовал его с SetEnv, но это не работает, потому что apache ускользает от объекта.Настройки Meteor в Apache/Passenger

<VirtualHost *:80> 
ServerName sub.site.de 

# Tell Apache and Passenger where your app's code directory is 
DocumentRoot /var/www/app/bundle/programs/web.browser 
PassengerAppRoot /var/www/app/bundle 

# Tell Passenger that your app is a bundled Meteor app 
PassengerAppType node 
PassengerStartupFile main.js 
# PassengerMeteorAppSettings /var/www/app/settings.json < doesn't work also 
# Tell your app where MongoDB is 
SetEnv MONGO_URL mongodb://localhost:27017/app 
# Tell your app what its root URL is 
SetEnv ROOT_URL http://sub.site.de 
SetEnv METEOR_SETTINGS "{uploadPath:'/var/www/app/upload'}" 
# Relax Apache security settings 
<Directory /var/www/app/bundle/programs/web.browser> 
    Allow from all 
    Options -MultiViews 
    # Uncomment this if you're on Apache > 2.4: 
    Require all granted 
</Directory> 

Метеор настройки получить убежали. Когда я вызываю страницу, она сбой:

/var/www/app/bundle/programs/server/boot.js:324 
}).run(); 
^
Error: METEOR_SETTINGS are not valid JSON: {uploadPath:&apos;/var/www/app/upload&apos;} 
    at packages/meteor.js:59:11 
    at packages/meteor.js:80:4 
    at packages/meteor.js:1358:3 
    at /var/www/app/bundle/programs/server/boot.js:283:10 
    at Array.forEach (native) 
    at Function._.each._.forEach (/var/www/app/bundle/programs/server/node_modules/underscore/underscore.js:79:11) 
    at /var/www/app/bundle/programs/server/boot.js:133:5 

Кто-то знает, как с этим справиться?

ответ

1

Немного поздно ответить, но может оказаться полезным для кого-то в будущем :) Вы должны передать настройки как должным JSON, поэтому их нужно дважды заключить в кавычки. Правильная линия для вас будет потом:

SetEnv METEOR_SETTINGS '{"uploadPath":"/var/www/app/upload"}' 

Как это должно быть допустимым синтаксисом JSON, а не JavaScript объект и все свойства и строковые значения должны быть в двойных кавычках здесь.

Обратите внимание, что предоставление слишком длинной конфигурации (это связано с моим проектом) приведет к поломке Nginx, что приведет к слишком большой ошибке в строке конфигурации.

+0

Работал для меня на Apache, спасибо! – Andy

Смежные вопросы