1

(Adobe ColdFusion Install Tech help や Adob​​e ColdFusion Forum からのフィードバックはありません。私が正しく質問していないことを願っています。誰も答えを知らないわけではありません)。

CF9 から CF11 にアップグレードするため、CF11 を内部 Web サーバーを備えたスタンドアロンとしてインストールしました。IIS のような外部 Web サーバーを使用しておらず、4 つの異なる Web サイトを構成する必要があるため、すべて (または少なくとも一部) の Web ページ コードを別のレベルを指すように変更せず、それを見つけられるようにするために、次のようにします。仮想ディレクトリでこれを行う必要があります [つまり、すべての CF9 コード (4 つの異なる Web サイト) をコピーし、メインの Web サイト フォルダー名の末尾に _CF11 を追加しました。 ”/alias1=E:\website1_CF11 など…”]?

複数のVDを作成できますか? それらはどのように定義されていますか?1 つの VD は次のように定義されます。

<Context
            path="/" 
            docBase="C:\ColdFusion10\cfusion\wwwroot" 
            WorkDir="C:\ColdFusion10\cfusion\runtime\conf\Catalina\localhost\tmp"
            aliases="/VD=C:\newwebroot\VD">
</Context>

複数作成する方法を教えてください。これは、Web ページにディレクトリ構造を正しいレベルで表示させるという目標を達成するために必要なことですか?

現在、server.xml には次のようなものがあります。

<Context
                Path=”/”
                docBase=”D:\ColdFusion11/cfusion/wwwroot”
                WorkDir=”D:\ColdFusion11/cfusion/runtime/conf/Catalina/localhost/tmp”
                Aliases=”/CFIDE=D:\ColdFusion11\cfusion\wwroot\CFIDE,
                                /WEB-INF=D:\ColdFusion11\cfusion\wwwroot\WEB-INF,
                                /website1=E:\website1,
                                /website2=E:\website2,
                                /website3=E:\website3,
                                /website4=E:\website4”&gt;
</Context>

私は置くことができます

/VD=E:\website1,

上記のコードと CF admin は機能しますが、仮想ディレクトリが正確に何をすべきかについては少し曖昧だと思います。本質的には、Web アドレスの IP アドレスまたはホスト名のエイリアスだと思っていました。

しかし、ウェブサイトが wwwroot パスにない別のフォルダーの場所を指すことを許可することを正しく理解していますか? 私が望むのは、各 Web サイトに対して、その Web サイトのルート フォルダーを指すことができるようにすることです。コードが正しく機能するように、各Webサイトに次のものが必要です。

For website1:       http://localhost:8500/index.html
For website2:       http://localhost:8501/index.html
For website3:       http://localhost:8502/index.html
For website4:       http://localhost:8503/index.html

現在、エイリアスは機能しません。すべてのコードを変更して、すべての Web ページを見つけて、機能をテストし、中断を修正できるようにするのは無意味であり、時間がかかるためです。たとえば、現在、コードを次のように変更する必要があります。

<cf_location url=”#URLSessionFormat(‘/webpage/’)#” addtoken=”false”&gt;

<cf_location url=”#URLSessionFormat(‘/alias1/webpage/’)#” addtoken=”false”&gt;

最終的に wsconfig 実行可能ファイルを実行して IIS に接続し、CF9 から CF11 に完全に移行できるようにします。私は何が欠けていますか?アドビの内部 Web サーバーには、外部 Web サーバーと同じ機能が備わっていないとは思えません。CF9、CF11、および IIS を別のマシンに配置して、CF11 をサイド バイ サイド インストールせずに直接移行をテストするには、十分なリソースがありません。

4

2 に答える 2

2

内部 Web サーバーは開発のみを目的としており、すべての機能を備えているわけではありません。完全な機能を備えた Web サーバーが必要な場合は、それを使用してください。IIS をいじりたくない場合は、Apache をインストールしてください。

とはいえ、それぞれが独自の内部 Web サーバーを持つ複数の CF インスタンスを実行するだけで、問題を回避できます。

于 2014-12-05T13:19:14.367 に答える
0

参考になるかどうかわかりませんが、私も同じ問題を抱えています。開発環境とライブ サーバーで要件が異なることにうんざりしていて、上記の質問に関してどのようなオプションがあるかわかりませんでした。server.xml のオプション内で掘り下げて解決策を見つける代わりに、ルート フォルダーが適切なサイトを指すように、開発サイトごとに異なる server.xml を作成しました。したがって、website1 には website1.xml があり、website2 には website2.xml が使用され、それぞれの異なる .xml ファイルは対応する webroot を指していました。

すべての xml ファイルを取得したら、サーバー名を受け入れ、server.xml を削除し、websiteN.xml を server.xml にコピーして、CF アプリケーション サーバーを再起動するバッチ ファイルを作成しました。次に、各サイトのショートカットをその名前で作成したので、website1 で作業する必要があるときに、website1 をクリックすると、その Web サイトの CF サーバーが起動します。www.website1.com の 127.0.0.1 を指すようにホスト ファイルを更新し、dev ポートを 80 に変更しました (CF11 で動作するかどうかはわかりません)。これにより、ほぼ正確な開発環境が作成されます。これは、私が求めていたものです。

バッチ ファイルのコードは次のとおりです。

ECHO OFF

cd c:\ColdFusion10\cfusion\runtime\conf\
DEL server.xml
COPY %1%.xml server.xml

net stop "ColdFusion 10 Application Server"
net start "ColdFusion 10 Application Server"

ショートカットはすべて同じバッチ ファイルを指し、コピーされる [website].xml ファイルに対応する適切な Web サイト名を渡すだけです。したがって、ショートカットのターゲットは次のとおりです。 C:\path\to\batch\cfserver.bat website1

通常の開発業務で 1 日中頻繁に切り替えを行っていない限り、これでうまくいくはずです。サーバーを 1 日に 10 回変更しなければならない場合、これは非常に面倒ですが、通常はせいぜい 2 つか 3 つなので、これであなたが説明している問題は解決しました。

于 2015-03-08T03:02:25.643 に答える