Jak uruchomić projekt php w tle na VPS?

0

Witam,
Na VPS mam zgrany swój projekt php, który działa tak że wyniki swojego działania dopisuje dynamicznie na stronie. Jak wejdę sobie na adres_serwera/projekt to projekt się uruchamia i działa dopóki nie zamknę karty przeglądarki. Zależy mi na tym aby projekt działał cały czas od momentu uruchomienia na VPS (nie wiem jak to zrobić) a po wejściu w przeglądarce na adres serwera widzieć wyniki działa. Zamknę sobie kartę przeglądarki on dalej działa na VPS, a w dowolnym momencie po wpisaniu adresu serwera w przeglądarce podejrzę sobie aktualne wyniki działania. Jak coś takiego zrobić?

1

do cyklicznego uruchamiania cron, do asynchronicznego lub na żądanie "pod spodem" supervisor

0

Tu chyba nie chodzi nawet o działanie "na żądanie" bo autor pisał:

asdf42 napisał(a):

Zamknę sobie kartę przeglądarki on dalej działa na VPS, a w dowolnym momencie po wpisaniu adresu serwera w przeglądarce podejrzę sobie aktualne wyniki działania. Jak coś takiego zrobić?

Ja napiszę tak, brzydkie rozwiązanie Twojego problemu to:

while(true) {
   // twoje obliczenia
}

I ustawić timeout w PHP na 0 :D
Oczywiście, taki "zapętlony" skrypt to tragedia i PHP ogólnie nie nadaje się do takich rzeczy bo trzeba pilnować czy po pewnym czasie nie zapchamy pamięci serwera itd. Kolejna rzecz to nie wiem jaka jest polityka VPS'ów co do takich skryptów.

@asdf42 - twój problem rozbiega się chyba o coś na zasadzie aplikacji klient <-> serwer i teraz masz wyjście, coś w stylu Ratchet albo serwer napisany w innej technologi. Może napisz jakiego rodzaju obliczenia wykonujesz, jak często itd.

0

CRON - masz jakiś link z instrukcją?

@asdf42 - CRON to jest narzędzie do cyklicznego odpalania zadań. Opcji jest wiele. Jeśli np. Twój VPS ma jakiś panel do zarządzania (coś w stylu DirectAdmin) to możesz prawdopodobnie z poziomu tego panelu coś sobie ustawić. Jeśli nie, to musisz wejść na serwer (np. przez SSH) i to sobie ustawić. Najczęściej sprowadza się to do wprowadzenia odpowiednich zmian w pliku crontab, ale hasło jest zbyt złożone, zbyt wiele możliwości, żeby była do tego jakaś instrukcja. Po prostu - musisz poszukać w Google - najpierw ogólnie odnośnie podstaw, potem bardziej konkretnie.

0

ale co z wynikiem działania programu? dodam w crontab uruchomienie pliku który ma cały czas działać a wynik na stronie jak mam obejrzeć?

No nie obejrzysz :D
Skrypt te wyniki gdzieś musi zapisywać/trzymać, a w chwili, gdy wejdziesz na stronę, to ona pobierze sobie aktualny zestaw danych. Albo może być tak, że strona będzie okresowo odpytywać serwer o aktualne dane. Opcji jest wiele, ale faktem jest, że jeśli coś puścisz z CRON'a, to będzie to skrypt odpalony na serwerze, ale bez połączenia z jakąś stroną, która wyświetla. Będzie wykonywać obliczenia/działania, ale ich wynik pozostanie na serwerze aż do czasu, gdy jakaś strona po nie się jawnie zgłosi. To tak w duży uproszczeniu.

1

Nie wiem na co się porywasz, albo może Ty sam nawet nie wiesz.
Powiedzmy, że z Api popierasz sobie dane o pogodzie czy tam jakiś kurs bitcoina.Potem swoim skryptem obrabiasz dane i wyświetlasz komuś na stronie w postaci wykresu. Wtedy takie dane najlepiej gdybyś miał w swojej bazie. Z tego co opisałeś to przy każdej wizycie uzytkownika, skrypt PHP uruchamia się raz. Jeśli będziesz miał 100 użytkowników, to Twój skrypt uruchomi 100 połączeń do Api na sekundę.
Jak już to możesz spróbować Cron z uruchomieniem skryptu co minutę. Skrypt który wykona coś 60 razy na sekundę. Np.


$start = microtime(true);
set_time_limit(60);// ustawiasz czas maksymalny wykonania skryptu.
for ($i = 0; $i < 59; $i++) {
   $result=$api->query(); 
   $db->input($result);
    time_sleep_until($start + $i);
}
0

To zobacz czy możesz sobie zainstalować GUI na tym VPS i łącz się zdalnie przez jakieś VNC czy co tam się teraz używa jako pulpit zdalny dla Linuxa i oglądaj w ten sposób te dane w przeglądarce uruchomionej na tym VPS. Ponieważ nie jestem linuxowcem to nie powiem ile taka konfiguracja zje zasobów i ile za taki VPS zapłacisz.
Jakiś prosty tutorial pierwszy lepszy z sieci:
https://crm.vpscheap.net/knowledgebase.php?action=displayarticle&id=28

Chociaż według mnie to jednak ta apka Twoja jest źle napisana.

1 użytkowników online, w tym zalogowanych: 0, gości: 1