EC2でknowledgeアプリを構築する ①
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
↑↑まだ見ていない方はこちらから↑↑
本日のゴール
本日する作業のイメージ図です。
サーバにログイン/rootにスイッチ
rootユーザになる。
sudo su -
/optに移動。
cd /opt
JDKインストール
JDKをダウンロードする
wget https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.tar.gz
※バージョンは最新のものに置き換えてください。
解凍する
tar zxf amazon-corretto-8-x64-linux-jdk.tar.gz
javaへのパスが通るようにする
vi /root/.bash_profile
以下のように変更
--------------------ここから------------------------------
・変更前
PATH=$PATH:$HOME/bin
・変更後
PATH=$PATH:$HOME/bin:/opt/amazon-corretto-8.302.08.1-linux-x64/bin
--------------------ここまで------------------------------
※バージョンは最新のものに置き換えてください。(ls で確認)
修正したbash_profileをソースコマンドで再読み込みする
. /root/.bash_profile
Tomcatインストール
javaバージョン
java -version
-bash: java: command not foundと表示される場合、Javaが入っていないのでダウンロードする
yum install -y java-1.8.0-openjdk-devel.x86_64
※バージョンは最新のものに置き換えてください。
tomcatユーザを追加する
useradd -s /sbin/nologin tomcat
Tomcatをダウンロードする
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.tar.gz
解凍する
tar zxf apache-tomcat-9.0.50.tar.gz
cd /usr/local
mv /opt/apache-tomcat-9.0.50 ./
所有者とグループをtomcatにする
chown -R tomcat:tomcat apache-tomcat-9.0.50
シンボリックリンクを張る
ln -s apache-tomcat-9.0.50 tomcat
この時点でllコマンドで以下のようになっていればOK!
total 0
drwxr-xr-x 9 tomcat tomcat 220 Jul 29 09:42 apache-tomcat-9.0.50
drwxr-xr-x 2 root root 6 Apr 9 2019 bin
drwxr-xr-x 2 root root 6 Apr 9 2019 etc
drwxr-xr-x 2 root root 6 Apr 9 2019 games
drwxr-xr-x 2 root root 6 Apr 9 2019 include
drwxr-xr-x 2 root root 6 Apr 9 2019 lib
drwxr-xr-x 2 root root 6 Apr 9 2019 lib64
drwxr-xr-x 2 root root 6 Apr 9 2019 libexec
drwxr-xr-x 2 root root 6 Apr 9 2019 sbin
drwxr-xr-x 5 root root 49 Jul 6 17:24 share
drwxr-xr-x 2 root root 6 Apr 9 2019 src
lrwxrwxrwx 1 root root 20 Jul 29 09:42 tomcat -> apache-tomcat-9.0.50
setenvを新規作成する
vi /usr/local/tomcat/bin/setenv.sh
---ここから--------------------------------------
#!/bin/sh
CATALINA_HOME=/usr/local/tomcat
JAVA_HOME=/opt/amazon-corretto-8.302.08.1-linux-x64
JAVA_OPTS="-Xms128m -Xmx512m"
---ここまで--------------------------------------
※バージョンは最新のものに置き換えてください。
server.xmlを設定する
vi /usr/local/tomcat/conf/server.xml
以下のように変更。(コマンドモードで/unpackで検索できます。)
--------------------------------------------
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
↓↓
<Host name="localhost" appBase="webapps"
unpackWARs="false" autoDeploy="false">
--------------------------------------------
tomcat.serviceのパーミッションを変更する
vi /etc/systemd/system/tomcat.service
-----ここから-----------------------------
[Unit]
Description=Apache Tomcat 9
After=network.target
[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/usr/local/tomcat/tomcat.pid
RemainAfterExit=yes
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
ExecReStart=/usr/local/tomcat/bin/shutdown.sh;/usr/local/tomcat/bin/startup.sh
[Install]
WantedBy=multi-user.target
------ここまで----------------------------
パーミッションを変更
chmod 755 /etc/systemd/system/tomcat.service
自動起動を有効化して、tomcatを起動する。
systemctl enable tomcat
systemctl start tomcat
Apacheのインストール
yumでhttpdをインストール
yum install -y httpd
デフォルト設定をorgで保存し、コメントアウト行を削除する
cd /etc/httpd/conf
mv httpd.conf httpd.conf.org
grep -v -e '^#' -e ' #' httpd.conf.org > httpd.conf
※「' #'」の間にあるのは、半角スペース4つ
proxy設定を追記
vi httpd.conf
一番下に下記を追記
---ここから--------------------------------------
ProxyRequests Off
ProxyPass /knowledge http://127.0.0.1:8080/knowledge
---ここまで--------------------------------------
自動起動を有効化して、httpdを起動する。
systemctl enable httpd
systemctl start httpd
アクセス
http://グローバルIP
以上で、アプリケーションサーバの起動が完了致しました。
長くなりましたので次回の記事で
以下、次回記事のリンク