3

Go と Revel フレームワークを使用して、ライブの personal-website.com で簡単なアプリを実行しようとしています。

ローカルで開発して localhost:8888 をテストすると、すべて問題ありません。ただし、Web サーバーにインストールしてルートからアプリを実行すると# run revel personalwebsiteapp、次のエラーが発生します。

ERROR 2013/10/01 04:01:35 harness.go:167: Failed to start reverse proxy: listen tcp xx.xxx.xx.xx:80: cannot assign requested address

ここで全損。Revel 上で Nginx などのプロキシ サーバーを実行する必要がありますか?

私の conf/app.conf ファイルの関連部分は次のとおりです。

http.addr="personal-website.com"
http.port=80 #whether I set this to 80 or 8888 doesn't matter, I get the same error
4

2 に答える 2

7

私は自分の質問に答えることができます。Revel アプリを Nginx b/c にルーティングすることになりました。@Intermernet の提案を使用sudo revel runして動作させることはできませんでした。

以下は、これを機能させるための nginx.conf および Revel app.conf ファイルからの重要な詳細です。

nginx.conf

server {
        listen 80;
#       listen [::]:80 default_server ipv6only=on;

        root /usr/share/nginx/html; # not relevant, but gives error if root isn't set to something
        index index.html index.htm; # not relevant

        # Make site accessible from http://localhost/
#       server_name localhost;

        server_name my-personal-website.com;

                location / {
                        proxy_pass      http://127.0.0.1:9000;
                }
        }

}

Go Revel personalwebsiteapp app.conf

http.addr="127.0.0.1"
http.port=9000

この後、Nginx を起動し、revel アプリと viola を実行するだけです!, http://my-personal-website.comが公開されました。

于 2013-10-03T13:47:27.630 に答える
1

ポート 80 はPrivileged Portsudoであるため、ポート 80 でリッスンするには、おそらくルート (を使用) として実行する必要があります。

sudo run revel personalwebsiteapp

ポート 8888 については、SELinux ルールの変更が必要になる場合があります。

何かのようなもの:

semanage port -a -t http_port_t -p tcp 8888
于 2013-10-01T05:28:28.720 に答える