2014-01-17 3 views
7

Я разработал сервер [server.jar], и теперь он работает хорошо (на моем localhost). Теперь я хочу «поместить» этот server.jar на мой удаленный сервер (то есть: 122.152.12.33) и запустить его там, поэтому My client application Замените «Localhost» на этот ip и подключите [server.jar] ...Как развернуть файл jar на удаленном сервере из Netbeans?

Как я могу это сделать?

Я нашел ответы, но не понял их (WAR? И некоторые конфигурации).

Я использую среду IDE NetBeans. Развертывание Jar-файла и переход к войне с использованием netbeans.

Примечание Я также использую базу данных Mysql, которую я должен загрузить на серверной стороне.

* Обновление: Другой связанный с этим вопрос:

Если я хочу попробовать свои server.jar на существующий веб-сайт (Wordpress выпустила сайт), просто добавив свой проект в папку, может это вредить онлайн-сайт?

И могу ли я использовать php для запуска Jar? (Сайт, который является онлайн Link. Я хочу, чтобы к создать папку http://akhbarna.com/MyPrject/ ..., а затем положить Jar там и запустить его с помощью Php. Возможно ли это? И как это может повлиять на Интернет-сайт?

+0

Чтобы запустить банку: java -jar server.jar. Вы должны скопировать файл jar на сервер и запустить его. Если это веб-приложение, вы должны опубликовать войну или ухо. – Brierson

+0

Когда вы говорите «рабочий», вы имеете в виду, что работаете в вашей среде IDE? –

+0

Jar - это сервер, который получает запросы от клиентского приложения и отправляет ответы (например, IM-сервер) .. и использует базу данных, где я могу поместить базу данных и библиотеки ... – EsmaeelQash

ответ

15

Запуск в вашей IDE длинный путь от выпущена и работает ;-)

Ваш вопрос носит весьма общий характер, так что мой ответ довольно общий тоже, но охватывает основной подход.

Ключом к этому является мысль о том, что потребуется для запуска приложения-приложения hello на совершенно новом настольном ПК - вам нужно будет установить Java, создать папку для размещения вашего приложения и некоторые скрипты, запускающие программу, тогда скопируйте свою банку на новый рабочий стол и запустите эти скрипты. На сервере это ничем не отличается, только вы, вероятно, будете использовать сторонние библиотеки и, вероятно, установите больше, чем просто Java.

Прежде чем мы перейдем к более подробной информации, во-первых, термины в области сборки, выпуска и развертывания, как правило, ужасно перегружены.Для пояснения в следующем ответе я имею в виду следующее:

  • артефакт - банка, война, почтовый индекс, упаковка и т. Д., Созданный проектом.
  • релиз - создание кода для создания артефакта и его развертывания.
  • deploy - загрузка артефакта в репозиторий.
  • установить - взять артефакт из хранилища и поставить на сервер так, чтобы он мог запускаться.

Предполагаю, что вы начинаете с нуля и работаете в профессиональной среде.

Первое, что нужно сделать, это подготовить свой сервер. Как и на вашем рабочем столе, вам нужно будет установить некоторое программное обеспечение - на минимальной Java и MySQL плюс контейнер Servlet, такой как Tomcat, если вы создаете веб-приложение. У вас есть два варианта: вы делаете эти установки вручную или используете такой инструмент, как Puppet, чтобы его автоматизировать. Я бы рекомендовал его позже, потому что после установки вы можете построить сервер за несколько минут, а не дней.

Тогда вам понадобится какой-то процесс сборки, отдельный от вашей среды разработки. Нынешними популярными инструментами для этого являются Maven или Gradle. Цель сборки - создать артефакт, содержащий все, что должно быть добавлено на сервер для установки вашего приложения. В случае автономного приложения это может быть zip с размерами, необходимыми для образа диска в нем (баннеры, конфигурации, сценарии запуска/остановки), или в случае веб-приложения - войны, которая является стандартной структурой развертывания для веб-приложения.

Далее вам понадобится какой-то процесс выпуска для ваших сценариев приложений и баз данных. Я больше всего знаком с Maven, способным создавать банки, войны, проприетарные почтовые индексы или пакеты и который с использованием своего Release Plugin выполняет все обновления, тегирование и развертывание VCS (в репозиторий, такой как Nexus), необходимый для выполнения релиз. База данных несколько сложнее и обычно диктуется администраторами баз данных, которые будут применять изменения базы данных - как правило, вы получаете скрипты, необходимые для создания и изменения базы данных, а также мастер-скрипт, который запускает эти сценарии в правильном порядке. Пополняйте их в zip-файле и в хранилище для безопасного хранения.

После того, как вы выпустили, вам нужно каким-то образом взять артефакты из репозитория и установить их на сервер. Очевидно, это можно сделать вручную или со сценариями, но я бы рекомендовал использовать Puppet, по крайней мере, для артефактов, нацеленных на сервер. С помощью сценариев базы данных, хотя это также может быть автоматизировано, чаще всего подключается к базе данных и вручную применяет сценарии с помощью консоли базы данных (не забудьте взять резервную копию кода и базы данных до установки новой версии).

И наконец, вы можете запустить свою систему.

+0

thank u, Я думал, что это примерный шаг !!! – EsmaeelQash

+1

Другой связанный Q., если я хочу попробовать мой server.jar На существующем веб-сайте (выпущенный Wordpress сайт), просто добавив мой проект в папку. может это вредить интернет-сайту? и могу ли я использовать php для запуска Jat? (сайт, который находится в сети, - [Ссылка] (http://akhbarna.com/ar/), я хочу создать папку http://akhbarna.com/MyPrject/ ... затем поставьте Jar туда и запустите ее Php, возможно ли это и как это может повлиять на интернет-сайт? – EsmaeelQash

+1

Учитывая, что вы будете запускать server.jar в отдельной JVM из того, что еще работает на вашем сервере, единственный эффект, который он должен иметь, - это использовать некоторые из серверы, которые могут или не могут быть проблемой, зависящей от того, как загружен сервер в настоящее время. Не зная, что делает сервер или что загружено, он может ожидать, что невозможно сказать - лучше задать другой вопрос, включая как можно больше деталей. –

2

Сначала вам нужно установить базу данных на сервере (с помощью ssh)

Затем вам нужно скопировать банку на сервер (sftp, scp ...) и установить на него JVM (если не установлено еще -> вы можете проверить его выполнение Java -v)

После этого, как говорит Brierson, вам нужно запустить JAR (Java -jar server.jar)

.

Возможно, вам нужно добавить некоторые библиотеки, необходимые банку (определить путь к классам, объяснил here)

Если фляга сервер тогда, когда выполняется, вероятно, он будет привязан к порту (например, порт 8080). Чтобы подключиться к вашему приложению на удаленном сервере, вам необходимо обратиться к своему клиенту по адресу 122.152.12.33:8080 (IP: порт)

На вашем сервере может быть межсетевой экран, поэтому, возможно, вам нужно открыть порт (8080) ваше серверное приложение.

+0

Проблема заключается в том, что поток «java -jar server.jar» будет прекращен, пока вы потеряете соединение с сервером ». –

+0

Альберт, если это проблема, вы можете запустить свой серверный процесс с помощью команды nohup или с помощью экранов, как указано в http://stackoverflow.com/questions/4797050/how-to-run-process-as-background-and -Никогда-умирают.Если вы работаете в среде Windows, запустите процесс как службу, как указано в http://stackoverflow.com/questions/1617458/how-to-create-windows-service-from-java-jar – dbermudez

Смежные вопросы