На этом уроке мы собираемся показать вам шаг за шагом инструкции о том, как установить WildFly с Nginx в качестве обратного прокси — сервера на в Ubuntu 16.04 VPS.
WildFly представляет собой гибкий и легкий сервер приложений с открытым исходным кодом, в настоящее время разрабатывается Red Hat.
На момент написания этой статьи, WildFly 10 является самым последним релизом в серии серверов приложений.
Давайте начнем с установки. Убедитесь, что пакеты OS полностью обновлены:
apt-get update apt-get upgrade
Остановите и удалите Apache, а затем установите Nginx с помощью следующих команд:
service apache2 stop apt-get remove apache2 apt-get autoremove apt-get install nginx
Отредактируйте файл конфигурации Nginx по умолчанию:
vi /etc/nginx/sites-enabled/default
Удалить следующую строку:
listen [::]:80 default_server;
Включите Nginx службу для запуска при загрузке системы и запустите его:
systemctl enable nginx systemctl start nginx.service
Для того чтобы запустить WildFly, необходимо установить Java на сервере, для этого выполните следующую команду, чтобы установить пакет Java Development Kit (JDK):
apt-get install default-jdk
Чтобы выяснить, какая версия Java установлена на сервере, выполните следующую команду:
java -version
Вывод должен быть чем-то вроде этого:
openjdk version "1.8.0_91" OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~16.04.1-b14) OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Создайте пользователя WildFly:
groupadd -r wildfly useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Загрузите последнюю версию WildFly доступную на сайте ‘http://wildfly.org/downloads’ в директорию на сервере и извлеките ее с помощью следующих команд:
cd /opt
wget http://download.jboss.org/wildfly/10.0.0.Final/wildfly-10.0.0.Final.tar.gz
tar -xvzf wildfly-10.0.0.Final.tar.gz mv wildfly-10.0.0.Final wildfly
Создайте конфигурационный файл wildfly:
vi /etc/default/wildfly
Добавьте следующие строки:
WILDFLY_USER="wildfly" STARTUP_WAIT=180 SHUTDOWN_WAIT=30 WILDFLY_CONFIG=standalone.xml WILDFLY_MODE=standalone WILDFLY_BIND=0.0.0.0
WildFly 10 запуститься с использованием конфигурации профиля веб — умолчанию в режиме «standalone».
Создайте сценарий запуска WildFly, и назовите его ‘launch.sh’:
vi /opt/wildfly/bin/launch.sh
#!/bin/sh if [ "x$WILDFLY_HOME" = "x" ]; then WILDFLY_HOME=/opt/wildfly fi if [ "x$1" = "xdomain" ]; then echo 'Запуск Wildfly в режиме домена.' $WILDFLY_HOME/bin/domain.sh -c $2 -b $3 else echo 'Запуск Wildfly в автономном режиме.' $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 fi
Сделайте скрипт запуска исполняемым:
chmod 755 /opt/wildfly/bin/launch.sh
WildFly может быть запущен с помощью скрипта launch.sh, который мы создали в каталоге /opt/wildfly/bin или еще лучше, мы создадим файл systemd для инициализации этой цели:
vi /etc/systemd/system/wildfly.service
[Unit] Description=The WildFly Application Server After=syslog.target network.target Before=nginx.service [Service] Environment=LAUNCH_JBOSS_IN_BACKGROUND=1 EnvironmentFile=/etc/default/wildfly User=wildfly LimitNOFILE=102642 PIDFile=/var/run/wildfly/wildfly.pid ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND StandardOutput=null [Install] WantedBy=multi-user.target
Установите правильную собственность файлов и каталогов, расположенных в каталоге /opt/wildfly:
chown wildfly:wildfly -R /opt/wildfly/
Запустите службу WildFly и включите WildFly в запуске при загрузке:
systemctl daemon-reload systemctl start wildfly systemctl enable wildfly
Создайте новый блок Nginx, так что вы можете получить доступ к интерфейсу управления WildFly с помощью Nginx в качестве обратного прокси-сервера:
vi /etc/nginx/sites-available/wildfly
Добавьте следующие строки:
upstream wildfly { server 127.0.0.1:8080; } server { listen 80; server_name your-domain.ru; access_log /var/log/nginx/wildfly.access.log; error_log /var/log/nginx/wildfly.error.log; proxy_buffers 16 64k; proxy_buffer_size 128k; location / { proxy_pass http://wildfly; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } }
Не забудьте заменить ‘your-domain.ru’ на свое имя домена.
ln -s /etc/nginx/sites-available/wildfly /etc/nginx/sites-enabled/
Перезапустите Nginx для того, чтобы изменения вступили в силу:
systemctl restart nginx.service
Для того, чтобы получить доступ к консоли управления WildFly, необходимо добавить нового пользователя. Выполните скрипт add-user.sh в директории bin установки WildFly и введите необходимую информацию:
/opt/wildfly/bin/add-user.sh
Все. Установка WildFly завершена.
Чтобы получить доступ к консоли управления WildFly, откройте http://your-domain.ru используя вновь созданные учетные данные пользователя для входа.