【Java】Wicketで作られたプロジェクトの公開メモ
久しぶりすぎる海山です。こんばんは。
現在研究室のプロジェクトを進めています。
私の担当は主にCSSなどのフロントエンド+サーバー周りの設定です。
JavaのWebアプリケーション用フレームワークWicket…。使えません。
今回はただの、サーバ周りの、Wicketでプロジェクトを作ったあとにどうするのか?という所です。
1.サーバの設定を頑張って行う
Javaを入れて、ApacheとTomcatも入れます。
参考サイト(http://centossrv.com/)
2.作ったプロジェクトをwarでエクスポートする
eclipseを使っているので、ファイル→エクスポートでwarファイルにします
3.warファイルを配置
サーバの/usr/local/tomcat/webappsに先のwarファイルを配置
そうすると、自動で解凍されます。
4.必要に応じて、sqlファイルのインポートを行って環境を整える
5.ブラウザでアクセスしてみる
以下のアドレス
http://そのサーバのIPアドレス/tomcat/プロジェクト名/
または
http://そのサーバのIPアドレス/プロジェクト名/
にブラウザからアクセスすると見れます。
ちゃんとプロジェクトが起動したようです!!!!
6.マッピングがおかしい
/tomcat/とかが入ってしまっている原因を直します。上で述べた、サーバ設定の参考サイドでTomcatとApache連携の所で追記した部分が問題になっています。
/etc/httpd/conf.d/proxy_ajp.confを
#ProxyPass /tomcat/ ajp://localhost:8009/ ProxyPass /examples/ ajp://localhost:8009/examples/ ProxyPass /プロジェクト名/ ajp://localhost:8009/プロジェクト名/
のようにして、予め書いてあった/tomcat/をコメントアウトしてしまいしょう。
再起動
/etc/rc.d/init.d/httpd restart /etc/rc.d/init.d/tomcat restart
7.やったね!!
そうすると、http://そのサーバのIPアドレス/プロジェクト名/ で動いているプロジェクトを確認することが出来ました。
その他エラー
Apache再起動時のエラー
参考サイト(http://blog.dacelo.info/apache/entry-713.html)
httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
このような文章が出ていたときは、
/etc/hostsに書いてある物と、自分で設定した/etc/httpd/conf/httpd.conf のServerNameが異なっているからです。
/etc/hostsを参照しながら、↓
# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 dacelo localhost.localdomain localhost
/etc/httpd/conf/httpd.conf を以下のように書き換えます。
# If your host doesn't have a registered DNS name, enter its IP address here. # You will have to access it by its address anyway, and this will make # redirections work in a sensible way. # #ServerName www.example.com:80 ServerName dacelo:80
/etc/rc.d/init.d/httpd reload
再起動してもエラーが出ません(*´ω`*)
まだApacheに怒られる
[warn] worker ajp://localhost:8009/ already used by another worker
参考サイトを参考に記述した部分が問題になっているようです。
これは/etc/httpd/conf.d/proxy_ajp.confに記述してある、部分をコメントアウトすると治ります。
#ProxyPass /tomcat/ ajp://localhost:8009/ ProxyPass /examples/ ajp://localhost:8009/examples/
http://〜にアクセスしてプロジェクトが起動したが、DBからのデータが反映されないところがある。
参考サイト(http://d.hatena.ne.jp/tacohachi/20101110/p1)
WindowsのMySQLではテーブル名に大文字/小文字の区別がないが、LinuxのMySQLでは区別されており、しかもWindowsで大文字で定義したテーブル名はmysqldumpを経由してLinux側にリストアするとテーブル名が小文字になってしまう
Windowsでは→大小文字区別なし
Linux→区別有り
※WindowsからのダンプをLinuxに入れると、テーブル名が小文字になる
Linux側のmy.cnfにlower_case_table_names=1を指定しておけばいいことが分かった。この変数がデフォルトでUnixでは0、Windowsでは1、MacOSでは2になっているらしい。1を設定すると、テーブル名に大文字/小文字の区別がなくなり、内部的にはすべて小文字で表現されることになる。
解決策:my.cnfに以下を書く(大小文字区別をなくす)
[mysqld] lower_case_table_names=1
MySQLの再起動
/etc/init.d/mysqld restart
直ったー!!!
JSのHightcharts(http://www.highcharts.com/)というグラフ作成ライブラリを使って、グラフの描画をしていたのですが、Linuxでは何故か、データが上手く表示されていませんでした。
どうやら、上のMySQLの問題でデータが読み込めていなかったようです。
全然バレンタインしてませんが…
バレンタインチョコ欲しい!
欲しいプレゼントは…
PlayStation 3 (160GB) クラシック・ホワイト (CECH-2500ALW)
- 出版社/メーカー: ソニー・コンピュータエンタテインメント
- 発売日: 2010/07/29
- メディア: Video Game
- 購入: 11人 クリック: 252回
- この商品を含むブログ (54件) を見る