Java for web. Java hosting

1.

13 лекция
java for web
Java Hosting

2.

Свой Java Hosting
SSH (англ. Secure SHell - защищенная оболочка) - сетевой протокол прикладного уровня,
предназначеный для безопасного удаленного доступа к UNIX-системам.
В основном он нужен для удаленного управления данными пользователя на сервере,
запуска служебных команд, работы в консольном режиме с базами данных.
PuTTy - это популярный SSH-клиент, т.е. программа для безопасного подключения к
удаленному компьютеру (или к серверу) и выполнения на нем различных команд.
PuTTY ведет логи, позволяет настраивать шрифты, цвета и разрешение консоли,
допускает сохранение в своей памяти ключей авторизации, поддерживает работу через проксисервер.
При этом утилита является бесплатной в распространении, для использования идем на
домашнюю страницу программы и качаем инсталятор программы. Запустите файл putty.exe. Перед
Вами появится окно, представленное на рисунке ниже.

3.

Свой Java Hosting
SSH (англ. Secure SHell - защищенная оболочка) - сетевой протокол прикладного уровня,
предназначеный для безопасного удаленного доступа к UNIX-системам.
В основном он нужен для удаленного управления данными пользователя на сервере,
запуска служебных команд, работы в консольном режиме с базами данных.
PuTTy - это популярный SSH-клиент, т.е. программа для безопасного подключения к
удаленному компьютеру (или к серверу) и выполнения на нем различных команд.
PuTTY ведет логи, позволяет настраивать шрифты, цвета и разрешение консоли,
допускает сохранение в своей памяти ключей авторизации, поддерживает работу через проксисервер.
При этом утилита является бесплатной в распространении, для использования идем на
домашнюю страницу программы и качаем инсталятор программы. Запустите файл putty.exe. Перед
Вами появится окно, представленное на рисунке ниже.

4.

Свой Java Hosting
В поле Host Name or IP address) вводите имя сервера или его ip, которые Вы узнали в
разделе "Тех. информация"(например, robin.beget.com или pixel.beget.com). Порт оставляйте по
умолчанию 22. В поле Saved Sessions введите любое имя сессии (коннекта), например my_session,
и нажмите Save. После этого нажмите Open и Вы увидите такое окно.
В поле login as введите имя Вашего пользователя, нажмите Enter. После чего
появится надпись Password. Вводите Ваш пароль для доступа по SSH, во время ввода пароля
на экране ничего не отображается (ни звёздочек, ни чего-либо подобного). После того, как Вы
закончили вводить пароль, нажмите Enter.
Если логин и пароль введены верно, то произойдёт подключение к серверу и Вы
попадете в командную оболочку Linux.
Также заметим, что сочетание Ctrl+V и Ctrl+C в PuTTy не работают. В буфер обмена копируётся
всё, что выделено с помощью мыши, а вставка осуществляется либо правой кнопкой мыши,
либо сочетанием клавиш SHIFT+INSERT.

5.

Установка стандартной версии JRE/JDK
Проще всего использовать стандартную версию Java, которая
поставляется вместе с Ubuntu - это OpenJDK 8.
Сперва oбновите индекс пакетов:
sudo apt-get update
sudo apt-get upgrade
Теперь установите Java. Следующая команда установит Java
Runtime Environment (JRE).
sudo apt-get install default-jre
или
sudo apt-get install default-jdk
На одном сервере может одновременно находиться несколько
установок Java. Вы можете выбрать версию Java, которая будет
использоваться системой по умолчанию. Для этого существует команда sudo
update-alternatives --config java, управляющая символическими ссылками,
которые используются в различных командах.

6.

ubuntu server install mysql
sudo apt-get update
sudo apt-get install mysql-server
Во время процесса установки, вам будет предложено установить пароль для
корневого пользователя MySQL, как показано ниже. Выберите надежный пароль и
храните его в надежном месте для дальнейшего использования.
Вне зависимости от выбранного метода установки MySQL запускается
автоматически. Чтобы убедиться в этом, запросите состояние MySQL:
systemctl status mysql.service

7.

mysql workbench
Переходим в mysql workbench

8.

Экспорт базы в файл
Меню Server - Data Export

9.

Импорт базы на сервер

10.

Установка Tomcat
В целях безопасности сервер Tomcat следует запускать с правами обычного
пользователя (т.е. не-рутового). Для этого создайте нового пользователя и группу.
sudo groupadd tomcat
После этого нужно создать пользователя tomcat, который должен состоять в
группе tomcat. Домашний каталог пользователя – /opt/tomcat (в него будет установлен
Tomcat); оболочка – /bin/false (чтобы никто не мог открыть учётную запись):
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
После этого приступайте к установке Tomcat. На данный момент Tomcat 8
проще всего установить вручную из бинарного релиза.
На странице загрузки найдите последнюю актуальную версию Tomcat. В
разделе Binary Distributions найдите список Core и скопируйте ссылку на tar.gz.
Загрузите бинарный дистрибутив в домашний каталог. Сначала откройте
домашний каталог: cd ~
Добавьте ссылку к команде wget, чтобы загрузить архив Tomcat (приведенная
ниже ссылка может отличаться):
wget http://apache.volia.net/tomcat/tomcat-8/v8.5.14/bin/apache-tomcat-8.5.14.tar.gz
Установите Tomcat в каталог /opt/tomcat. Создайте этот каталог и извлеките в
него архив:
sudo mkdir /opt/tomcat
sudo tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1

11.

Права пользователя tomcat
Пользователь tomcat должен иметь доступ к установке Tomcat. Откройте
каталог Tomcat:
cd /opt/tomcat
Дайте пользователю tomcat право на изменение каталога conf и право на
чтение файлов в нём:
sudo chgrp -R tomcat conf
sudo chmod g+rwx conf
sudo chmod g+r conf/*
Затем сделайте пользователя tomcat владельцем каталогов work, temp и
logs.
sudo chown -R tomcat work/ temp/ logs/

12.

Запуск Tomcat
Серверу Tomcat нужно знать, где находится установка Java. Этот путь
называется JAVA_HOME. Чтобы узнать местонахождение установки, используйте
команду:
sudo update-alternatives --config java
There is only one alternative in link group java (providing /usr/bin/java):
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Nothing to configure.
Теперь можно приступать к созданию скрипта запуска Tomcat. Для этого
используйте команду: sudo mcedit /etc/systemd/system/tomcat.service
или для ubuntu 14.04 sudo mcedit /etc/init/tomcat.conf
Измените значение JAVA_HOME, если это необходимо, чтобы
соответствовать значение, которое вы нашли в вашей системе. Вы также можете
изменить параметры выделения памяти, которые указаны в CATALINA_OPTS.
Пеегрузите службу командой
sudo systemctl daemon-reload или для 14.04 sudo initctl reload-configuration
Запустите Tomcat
sudo systemctl start tomcat или для 14.04 sudo initctl start tomcat
Проверить статус Tomcat
sudo systemctl status tomcat
Откройте web browser и введите
http://server_domain_or_IP:8080
server_domain_or_IP - замените на ваш
Вы должны увидеть страницу приведствия Tomcat

13.

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

14.

Установка Nginx
Nginx – это быстрый и надёжный веб-сервер с открытым исходным
кодом. Он приобрел популярность благодаря своей легковесности, высокой
масштабируемости, простоте настройки и поддержке большого количества
протоколов.
sudo apt-get update
sudo apt-get install nginx
После завершения установки запросите версию пакета, чтобы убедиться,
что всё работает:
sudo nginx -v
Команда вернёт:
nginx version: nginx/1.10.0 (Ubuntu)
Nginx. По умолчанию он слушает порт 80, это стандартный порт HTTP.
Tomcat работает с портом 8080. Настроим наш Тпштч на работу с Tomcat,
для этого откроем файл на редактирование:
sudo nano /etc/nginx/sites-available/default
и внесем следующие изменения в блок server

15.

Настройка Nginx
Если опустить закомментированные строки, конфигурационный файл имеет
примерно такой вид:
server {
listen 80;
location / {
proxy_pass
http://127.0.0.1:8080/;
proxy_set_header Host
$host;
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
}
}
Сохраните и закройте файл. Проверьте синтаксис на ошибки: sudo nginx -t
Если ошибок не обнаружено, команда вернёт:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Чтобы обновить настройки Nginx, нужно перезапустить веб-сервер:
sudo systemctl restart nginx или nginx -s reload
Откройте web browser и введите
http://server_domain_or_IP
(теперь без :8080)
server_domain_or_IP - замените на ваш. Вы должны увидеть страницу приведствия
Tomcat.

16.

Доменное имя
В интернете находим "доменное имя бесплатно" , выбираем любой
понравившейся сайт бесплатных доменных имен и регистрируем для себя
доменное имя. Дальше идет пример на примере бесплатного сервиса. После
регистрации у нас появиться возможность настроить перенаправление
на наш сервер.

17.

Деплой на Tomcat
Deploy — процесс развертывания (распаковки) проекта на сервере
приложени
Открываем проект, справа в меню Maven Project выбираем clean | install
как показано на изображении ниже, таким образом мы соберем наш проект и в
итоге у нас получится war файл, который мы будем деплоить на сервер:
После этого в корне проекта появится папка target и в ней будет лежать
ваш war архив.
Дальше неоходимо закинуть наш war на сервер в папку webapps которая
находиться /opt/tomcat/webapps/.
Архив автоматически развернется.
переходим в папку /opt/tomcat/conf
Открываем файл на редактирование и добавляем блок кода
<Host name="mystudent.chickenkiller.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Alias>www.mystudent.chickenkiller.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
<Context path="" docBase="/opt/tomcat/webapps/ROOT1"
debug="0" reloadable="true" sessionCookiePathUsesTrailingSlash="false"/>
</Host>
Перезапускаем tomcat sudo systemctl restart tomcat Проверяем !!!
English     Русский Правила