2013-07-07 19 views
17

Jest to skomplikowane i niekoniecznie jedno pytanie. Byłbym wdzięczny za każdą możliwą pomoc.Powikłania w sieci Web

Przeczytałem, że możliwe jest posiadanie stron internetowych bez dostępu do serwera, ale nie mogę znaleźć przykładów pokazujących, jak to jest. Doszedłem do tego wniosku (wierzę, że muszę to) na podstawie następujących dwóch rzeczy:

  1. mam zmaga się w ciągu ostatnich kilku godzin próbuje dowiedzieć się, jak dostać nawet WebSockets pracować z serwerem WAMP mam na moim komputerze, do którego mam dostęp root. Zainstalowany kompozytor, ale nie może dowiedzieć się, jak zainstalować plik composer.phar, aby zainstalować grzechotkę. Próbowałem innych implementacji websocket PHP (wolałbym, żeby był w PHP), ale nadal nie mogę ich uruchomić.

  2. Mój obecny host, którego używam do testowania rzeczy, jest darmowym hostem i nie pozwala na dostęp przez SSH. Tak więc, nawet gdybym mógł wymyślić, aby uzyskać dostęp do stron internetowych z dostępem do roota, jest to kwestią sporną jeśli chodzi o hosta.

Mam również darmowe hosty VPS przez googlowania (oczywiście ograniczony wszystko), ale ma pełny dostęp do roota, ale wolałbym coś, co pozwala zachować większą przepustowość (mój wolny gospodarz jest obecnie nieograniczony) . I przeczytałem, że możesz (i powinieneś) hostować serwer websocket na innej poddomenie niż serwer HTTP i że może on nawet działać całkowicie w innej domenie.

Być może w końcu będzie taniej prowadzić własną witrynę, oczywiście nie mam na to żadnych wskazówek, ale w takim przypadku muszę się dowiedzieć, jak uzyskać dostęp do stron internetowych na moim komputerze.

Tak więc, jeśli ktoś może zrozumieć, o co pytam, kilka pytań tutaj, czy możliwe jest korzystanie z gniazd internetowych bez dostępu roota, a jeśli tak, to w jaki sposób? Jak poprawnie zainstalować grzechotki, gdy nie mogę znaleźć pliku composer.phar (mam composer.json z kodem zapadkowym, ale nie jestem pewien, czy jest w odpowiednim katalogu), a to pytanie jest, jeśli pierwsze pytanie nie jest naprawdę możliwe. Czy jest zatem możliwe posiadanie serwera WebSocket na VPS i serwer HTTP w zupełnie innej domenie, a jeśli tak, to czy istnieje jakaś dokumentacja w dowolnym miejscu?

Mam na myśli, oczywiście, istnieje możliwość użycia AJAX i zmuszania przeglądarki do ponownego ładowania pliku JS w każdym okresie czasu, który używałby jQuery ajax do aktualizacji serii elementów div niezależnie od tego, czy coś zostało zmienione, ale to może się skomplikować i nie jestem nawet pewien, czy to jest możliwe (nie rozumiem, dlaczego tak się nie stało), ale potem znowu wolałbym to od stron internetowych, ponieważ słyszałem, że są one o wiele mniej głodne zasobów niż Jakiś rodzaj tego akapitu byłby.

+1

O ile rozumiem, istnieją 2 strony do obrazu websocket. Serwer (php) i klient (przeglądarka javascript). Jeśli możesz uruchomić php na swoim serwerze, powinieneś mieć możliwość korzystania z serwera [ratchet] (http://socketo.me) i dostarczania usługi internetowej, strona klienta może używać czegoś takiego jak socket.io – Loopo

+2

Użyj [heroku ] (http://heroku.com) dla socket.io Ma dość niesamowitą linię poleceń, aby uzyskać dostęp do niemal wszystkiego, czego potrzebujesz, hostowałem mój projekt Socket i działa jak urok, Daj mi znać, jeśli pomaga Heroku. Spróbuj! Jest bezpłatny i być może możesz polegać na jego CLI. –

+0

Czy coś takiego jak https://pusher.com/ może ci pomóc? – jornare

Odpowiedz

-1

OK ... masz kilka pytań, więc postaram się odpowiedzieć na nie jeden po drugim.

1. Co do korzystania

Można użyć Socket.IO. Jest to biblioteka do tworzenia aplikacji internetowych działająca w czasie rzeczywistym w oparciu o JavaScript. Składa się z 2 części - po stronie klienta (działa na przeglądarce użytkownika) i po stronie serwera. Podstawowe użycie nie wymaga prawie żadnej wiedzy na temat Node.js. Here is an example samouczek dotyczący prostej aplikacji do czatu na oficjalnej stronie internetowej Socket.IO.

2. Hosting

Większość dostawców hostingu mieć panel sterowania (cPanel) z capebility zainstalować/aktywować różne wtyczki Apache i tak dalej.Najpierw sprawdź, czy Node.js nie jest już dostępny, jeśli nie, możesz skontaktować się z pomocą techniczną i zapytać, czy jest to opcja.

Jeśli nie masz szczęścia u obecnego dostawcy usług hostingowych, zawsze możesz szybko zmienić hosty, ponieważ istnieje wiele dobrych ofert. Google z pewnością Ci w tym pomoże. Here is a list zawierające kilka (być może) najlepszych opcji. Należy pamiętać, że chociaż niektóre oferty hostingowe mogą być wypłacane, istnieje wiele tanich opcji do wyboru.

3. Pasmo

Jak jesteś zaniepokojony „zasobożerne” kod może można spróbować gospodarzem niektóre treści na Amazon CloudFront. Jest to sieć dostarczania treści, która jest powszechnie używana i gwarantuje szybkie połączenie i szybkie ładowanie zasobów, ponieważ pliki są ładowane z najbliższego serwera klienta. Najlepsze jest to, że płacisz tylko za to, czego faktycznie używasz, więc jeśli nie masz tak dużego ruchu, byłoby naprawdę tanie i niezawodny!

nadzieja pomaga;)

6

plikiem PHP działa pod wanilii lampy (to znaczy mod_php pod Apache'u) nie może obsługiwać połączenia websocket. Nie będzie w stanie przeprowadzić aktualizacji protokołu, nie mówiąc już o rzeczywistej komunikacji w czasie rzeczywistym, przynajmniej za pośrednictwem Apache. Teoretycznie możesz mieć bardzo długie żądanie sieciowe do pliku PHP, który uruchamia serwer TCP, by obsługiwać żądania WebSocket, ale jest to niepraktyczne i wątpię, czy host współdzielony faktycznie pozwoli PHP to zrobić.

Może istnieć kilka współdzielonych hostów, które umożliwiają hostowanie WebSocket w PHP, ale nie mogą oferować tego bez dostępu do SSH/powłoki lub w inny sposób do uruchamiania PHP poza serwerem sieciowym. Jeśli podają ci katalog, do którego możesz przesyłać pliki PHP i serwować je za pomocą Apache, nie masz szczęścia.

Co do twojego problemu z Composer, nie wiem, czy można uruchomić composer.phar na współdzielonym hoście bez jakiegoś dostępu do powłoki. Niektóre hosty (na przykład Heroku) mają określone wsparcie dla Composer.

Jeśli chodzi o uruchamianie serwera WebSocket w zupełnie innej domenie, możesz to zrobić. Po prostu wskaż JavaScript, aby połączyć się z tą domeną i upewnij się, że serwer WebSocket zapewnia niezbędne nagłówki współdzielenia zasobów krzyżowych.