LoginSignup
4
5

More than 5 years have passed since last update.

ubuntuにnginx + apache2 + wildflyの環境構築手順

Last updated at Posted at 2015-09-18

dockerでインストールする方法を書いたのでこっちのほうがよいかもしれません。
http://qiita.com/sat8bit/items/1a85a9d950b2ae96c294

概要

ひとつのサーバ内でドメインによって内部的にapache叩いたりwildfly叩いたりする環境を構築する作業メモ。
今回はSite domain(apache2)とAPI domain(wildfly)に分けて構築してみる。

Column Value
OS Ubuntu 12.04 LTS
Site domain www.test.app.domain
API domain api.test.app.domain

apache2

Column Value
DocumentRoot /usr/local/share/www.test.app.domain/www/

インストール

sudo apt-get install apache2

設定

とりあえずlocalhostからのみ8080で繋げるように設定。

/etc/apache2/ports.conf
@@ -6,7 +6,7 @@
 # README.Debian.gz

 NameVirtualHost *:80
-Listen 80
+Listen localhost:8080

 <IfModule mod_ssl.c>
     # If you add NameVirtualHost *:443 here, you will also have to change```

アプリケーション用にVirtualHostをきる設定ファイルを作成する。

/etc/apache2/sites-available/www.test.app.domain.conf
<VirtualHost localhost:8080>
        DocumentRoot /usr/local/share/www.test.app.domain/www/
        DirectoryIndex index.html
        Options -Indexes FollowSymLinks
        ServerName localhost
</VirtualHost>

設定の有効化。

sudo ln -s /etc/apache2/sites-availble/www.test.app.domain.conf /etc/apache2/sites-enabled/

再起動。

sudo service apache2 restart

wildfly

インストール

wildflyのために、まずはjavaをインストール。

# リポジトリ追加コマンドの導入
sudo apt-get install python-software-properties

# 14.04では違うパッケージらしい
# http://qiita.com/Hiroshi_Obata/items/8fa13972f7922ad3252f


# add-apt-repositoryが使えるようになったのでリポジトリ追加
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

# java8をインストール
sudo apt-get install oracle-java8-installer

# 一応入っていることを確認。
java -version

wildflyをダウンロードし、諸々実行。

# ダウンロード
wget http://download.jboss.org/wildfly/9.0.1.Final/wildfly-9.0.1.Final.zip

# ファイルの移動
sudo mv wildfly-9.0.1.Final.zip /opt/

# 解凍
sudo unzip /opt/wildfly-9.0.1.Final.zip

# ユーザの追加
sudo useradd -m -s /usr/sbin/nologin wildfly 

# ownerの変更
sudo chown -R wildfly:wildfly /opt/wildfly-9.0.1.Final

# シンボリックリンクを貼ってそれっぽくする
sudo ln /opt/wildfly-9.0.1.Final /opt/wildfly

設置は終わり。起動するためにいくつか必要な設定と書換があるので実施する。

設定

ポート番号の設定。

/opt/wildfly-9.0.1.Final/standalone/configuration/standalone.xml
@@ -396,7 +396,7 @@
         <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
         <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
         <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
-        <socket-binding name="http" port="${jboss.http.port:8080}"/>
+        <socket-binding name="http" port="${jboss.http.port:8081}"/>
         <socket-binding name="https" port="${jboss.https.port:8443}"/>
         <socket-binding name="txn-recovery-environment" port="4712"/>
         <socket-binding name="txn-status-manager" port="4713"/>

初期化設定。必要な箇所を適宜修正する。

/opt/wildfly-9.0.1.Final/bin/init.d/wildfly.conf
 # default location: /etc/default/wildfly

 ## Location of JDK
-# JAVA_HOME="/usr/lib/jvm/default-java"
+JAVA_HOME="/usr/lib/jvm/java-8-oracle/"

 ## Location of WildFly
-# JBOSS_HOME="/opt/wildfly"
+JBOSS_HOME="/opt/wildfly/"

 ## The username who should own the process.
-# JBOSS_USER=wildfly
+JBOSS_USER=wildfly

 ## The mode WildFly should start, standalone or domain
-# JBOSS_MODE=standalone
+JBOSS_MODE=standalone

 ## Configuration for standalone mode
-# JBOSS_CONFIG=standalone.xml
+JBOSS_CONFIG=standalone.xml

 ## Configuration for domain mode
 # JBOSS_DOMAIN_CONFIG=domain.xml
 # JBOSS_HOST_CONFIG=host-master.xml

 ## The amount of time to wait for startup
-# STARTUP_WAIT=60
+STARTUP_WAIT=60

 ## The amount of time to wait for shutdown
-# SHUTDOWN_WAIT=60
+SHUTDOWN_WAIT=60

 ## Location to keep the console log
-# JBOSS_CONSOLE_LOG="/var/log/wildfly/console.log"
+JBOSS_CONSOLE_LOG="/var/log/wildfly/console.log"

 ## Additionals args to include in startup
-# JBOSS_OPTS="--admin-only -b 172.0.0.1"
+#JBOSS_OPTS="-b 172.0.0.1"

init.d用の設定ファイルを書き換え。
3を4にしているのは、pidofprocコマンドの返り値がズレてるっぽかったので修正したら動いた。
14.04で構築する場合数字の方の更新はいらない。

/opt/wildfly-9.0.1.Final/bin/init.d/wildfly-init-debian.sh
@@ -18,7 +18,8 @@

 NAME=wildfly
 DESC="WildFly Application Server"
-DEFAULT="/etc/default/$NAME"
+DEFAULT="/opt/wildfly/bin/init.d/wildfly.conf"

 # Check privileges
 if [ `id -u` -ne 0 ]; then
@@ -157,7 +158,7 @@
        log_daemon_msg "Starting $DESC" "$NAME"
        check_status
        status_start=$?
-       if [ $status_start -eq 3 ]; then
+       if [ $status_start -eq 4 ]; then
                mkdir -p $(dirname "$JBOSS_PIDFILE")
                mkdir -p $(dirname "$JBOSS_CONSOLE_LOG")
                chown $JBOSS_USER $(dirname "$JBOSS_PIDFILE") || true

init.d用のファイルを設置して更新。

# ファイルの移動
sudo cp /opt/wildfly-9.0.1.Final/bin/init.d/wildfly-init-debian.sh /etc/init.d/wildfly

# initの更新
sudo update-rc.d wildfly defaults

これでたぶん起動する。

sudo service wildfly start

nginx

インストール

sudo apt-get install nginx

設定

proxyさせる用の設定ファイルを書く。ファイル名がドメインである必要はない。

/etc/nginx/sites-available/www.test.app.domain.conf
server {
    server_name www.test.app.domain;
    location / {
        proxy_pass http://localhost:8080;
    }
}
/etc/nginx/sites-available/api.test.app.domain.conf
server {
    server_name api.test.app.domain;
    location / {
        proxy_pass http://localhost:8081;
    }
}

設定の有効化。

sudo ln -s /etc/nginx/sites-availble/www.test.app.domain.conf /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-availble/api.test.app.domain.conf /etc/nginx/sites-enabled/

再起動。

sudo service nginx restart

参考

http://askubuntu.com/questions/38021/how-to-add-a-ppa-on-a-server
http://tecadmin.net/install-oracle-java-8-jdk-8-ubuntu-via-ppa/
http://qiita.com/tsubu-mustard/items/7277d202a0a303413c92
http://blog.akagi.jp/archives/3883.html

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5