Как настроить службу, которая будет запускать файл jar на экземпляре aws ec2 ubuntu 16.04

Я думаю, что теперь единственный способ получить большие фотографии друзей - использовать FQL. Во-первых, вам нужно получить список друзей:

https://graph.facebook.com/me/friends

Затем проанализируйте этот список и Извлеките всех друзей ids. Если у вас есть это, просто выполните следующий запрос FQL:

SELECT id, url FROM profile_pic WHERE id IN (id1, id2) AND width=200 AND height=200

200 здесь просто примерный размер, вы можете ввести что угодно. Вы должны получить следующий ответ:

{
  "data": [
    {
      "id": ..., 
      "url": "https://fbcdn-profile-a.akamaihd.net/..."
    }, 
    {
      "id": ..., 
      "url": "https://fbcdn-profile-a.akamaihd.net/..."
    }
  ]
}

. Каждый URL-адрес является ссылкой на образ 200x200px.

0
задан ndrzhr 13 July 2018 в 08:21
поделиться

2 ответа

Итак, я пытался запустить весенние загрузочные приложения на экземпляре AWS EC2 в качестве сервиса и нашел несколько хороших маленьких мешков, которые мешали мне достичь моей цели.

  1. всегда использовать absolute directory
  2. пишите каталог хранилища ключей (какие разные службы используют) в файле загрузки boot.property, который ссылается на мгновенный каталог, а не на ваш проект, даже если файл keystore.p12 был установлен в проекте.

server.port = 443

server.ssl.key-store = / home / ubuntu / keystore.p12

server.ssl.key-store-password = changeme

server.ssl.keyStoreType = PKCS12

server.ssl.keyAlias ​​= tomcat

3. Сохраните файл служебного блока (/etc/systemd/system/demo.service) чистым и простым и используйте здесь абсолютный путь.

отличный способ с помощью простого объяснения

[Unit]
Description=demo
After=syslog.target

[Service]
ExecStart = /home/ubuntu/scripts/demo.sh

[Install]
WantedBy=multi-user.target
  1. сохранить файл bash / script (/ scripts / demo.sh) чисто и просто и не нужно запускать команду как nohup, чтобы она работала в фоновом режиме.
#!/bin/bash
sudo java -jar /home/ubuntu/demo.jar

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

нравится ..

0
ответ дан ndrzhr 17 August 2018 в 13:21
поделиться

Вы можете использовать rc.local в экземпляре ubuntu ec2 для запуска приложения (.jar) при запуске. Просто вы должны включить исполняемый код исполняемого кода .jar в rc.local перед строкой exit 0, как показано ниже. Чтобы изменить rc.local, вы должны иметь root-доступ. Поэтому обращайтесь к нему следующим образом: sudo vi /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Example Code Execution

java -jar sampleExecutionPackage.jar 

exit 0

После этого, если вам нужно проверить состояние запущенного приложения, вы можете проверить, что с помощью

sudo systemctl status rc-local.service

вы можете используйте start/stop/restart вместо status для соответствующего его использования.

0
ответ дан Sameera Piyasundara 17 August 2018 в 13:21
поделиться
  • 1
    ]: ЗАЯВЛЕНИЕ НА ПРОБЛЕМУ]: ***************************]: Описание:]: разъем Tomcat, настроенный для прослушивания на порту 443 не смог начать. Возможно, порт уже используется ... вот почему я использую команду sudo, но все равно бросаю rc.local, он не запускается, хотя я написал & gt; sudo java -jar demo.jar – ndrzhr 13 July 2018 в 10:31
  • 2
    Это не то, что касается веб-сервисов AWS, это происходит из-за того, что порт 443 недоступен. Поэтому проверьте, доступен ли порт, и если он не убивает процесс, который занимает этот порт, и повторите попытку. – Sameera Piyasundara 14 July 2018 в 01:18
  • 3
    хорошо .. Я также думаю, что это не так, но это актуально, так как я запускаю jre на Linux, который ограничен. Я проверил все порты (sudo netstat -pan), и порт не был использован, и я также получил ту же ошибку , попробовал также с другим портом (8081), который не нуждается в разрешении sudo, поскольку в нем не малое количество портов, но по-прежнему такая же ошибка. Я почти уверен, что есть что-то, связанное с загрузкой весны. У меня была эта ошибка для не поместив сертификат в правый корень (см. рисунок, который ...). запускать его из командной строки отлично. чего-то не хватает . – ndrzhr 15 July 2018 в 07:47
Другие вопросы по тегам:

Похожие вопросы: