У меня есть простое приложение метеора, я хочу, чтобы оно работало на локальном компьютере под управлением Ubuntu в моей локальной сети с nginx, чтобы оно было доступно из браузера с локальным IP-адресом компьютера. Я пытался использовать mup (meteor up), но для этого требуются ключи SSH, и мне приходится использовать nginx, поэтому мне приходится развертывать вручную.
Буду признателен, если вы поможете мне развернуть приложение, я могу использовать и пробовать разные методы, пока оно работает с nginx.
На данный момент мне не нужен SSL, поэтому я пытаюсь пропустить этот шаг. Кроме того, мой сервер MongoDB будет работать на той же машине, поэтому я тоже пытаюсь подключиться к нему локально. Я попробовал этот учебник, который использует навсегда для запуска метеора ссылка, но я не смог ее запустить, также она не объясняет, как настроить URL-адрес MongoDB и прочее.
Я установил узел, навсегда и метеор, создал нового пользователя, клонировал свой репозиторий на свой домашний сервер, и я могу запустить его локально с помощью команды запуска метеора.
Я думаю, что у меня есть проблемы с настройкой nginx и сценария, который связывает приложение, описанное в упомянутом мной руководстве. Я не уверен, где найти файл env_settings.sh. Он находится в моем каталоге /etc/nginx/.
вот мой файл config nginx
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
env_settings.sh
#load environment variables
source ../env_settings.sh
meteor update --release 1.11 #ensure proper version of Meteor
npm install # install NPM dependencies
npm prune --production # remove development dependencies
rm -rf ~/bundle # remove the previous bundle
meteor build --directory ~ # build the current bundle
cd ~/bundle/programs/server # enter the bundle
npm install # install dependencies
mv ~/bundle ~/portal
# make sure the logs directory exists
mkdir ~/logs
# use forever to restart the Node.js server
export PORT=8080
cd ~/portal
forever stop main.js
forever start -a -l ~/logs/forever.log -o ~/logs/portal.out -e ~/logs/portal.err main.js
доступные_сайты/приложение
# this section is needed to proxy web-socket connections
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# HTTP
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
location = /favicon.ico {
root /home/webapp/portal/programs/web.browser/app;
access_log off;
}
location ~* "^/[a-z0-9]{40}\.(css|js)$" {
gzip_static on;
root /home/webapp/portal/programs/web.browser;
access_log off;
}
location ~ "^/packages" {
root /home/webapp/portal/programs/web.browser;
access_log off;
}
# pass requests to Meteor
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; #for websockets
proxy_set_header Connection $connection_upgrade;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
}
}