간단한 meteor 앱이 있으며 nginx를 사용하여 로컬 네트워크에서 Ubuntu를 실행하는 로컬 컴퓨터에서 실행하여 컴퓨터의 로컬 IP 주소로 브라우저에서 연결할 수 있기를 원합니다. mup (meteor up)을 사용해 보았지만 SSH 키가 필요하고 nginx를 사용해야하므로 수동으로 배포해야합니다.
앱 배포를 도와 주시면 감사하겠습니다. nginx로 실행되는 한 다른 방법을 사용하고 시도해 볼 수 있습니다.
이 시점에서 SSL이 필요하지 않으므로 해당 단계를 건너 뛰려고합니다. 또한 내 MongoDB 서버는 동일한 시스템에서 실행될 예정이므로 로컬로도 연결하려고합니다. 나는 유성 링크 를 실행하기 위해 영원히 사용하는이 튜토리얼을 시도했지만 그것을 실행할 수 없었으며 MongoDB URL 등을 구성하는 방법에 대해서도 설명하지 않습니다.
forever & meteor 노드를 설치하고 새 사용자를 만들고 내 저장소를 홈 서버에 복제했으며 로컬에서 "meteor run"명령으로 실행할 수 있습니다.
내가 언급 한 튜토리얼에서 설명한 애플리케이션을 번들로 제공하는 스크립트와 nginx를 구성하는 데 문제가있는 것 같습니다. env_settings.sh 파일의 위치를 잘 모르겠습니다. 내 / etc / nginx / 디렉토리에 있습니다.
여기에 내 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
sites_available / app
# 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;
}
}
나는이 링크에 있는 정보로이 상황을 처리했다 . 번들 버전의 meteor를 실행하고 있지는 않지만 실제로 로컬 네트워크에서 테스트를 더 쉽게 수행 할 수있는 더 나은 방법입니다.
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加