Ho un server dedicato su cui sono attualmente in esecuzione 4 siti Web PHP. Il server è configurato con apache + nginx. Ogni volta che ospita siti Web php, inserisco i file nella cartella public_html e questo è tutto, inizia a funzionare. Ma ora voglio installare l'applicazione nodejs. Sono solo confuso su come gestire il file server.js? e come tenerlo in esecuzione? dovrei usare pm2 o per sempre per tenerlo in esecuzione per sempre sul mio host ubuntu. Inoltre, come eseguire il sito Web con il nome di dominio come example.comCome distribuire l'app nodejs sul server php/apache?
risposta
In NodeJS è possibile utilizzare qualcosa di preesistente come express o fondamentalmente eseguire il rollover del proprio server Web, il che dispiacerebbe sembrare scoraggiante in realtà è un semplice nodo ...
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(3000);
Per sempre e PM2 sono il miglior punto di partenza se si desidera mantenere il servizio in esecuzione sul proprio server. Per sempre è stato più lungo di PM2, ma credo che PM2 sia più ricco di funzionalità di Forever (per essere sempre un po 'più semplice da usare).
Per quanto riguarda apache o nginx, è possibile utilizzare quelli per inoltrare le richieste sul processo del nodo. http per impostazione predefinita viene eseguito sulla porta 80, la porta 80 di howerver verrà già utilizzata dal processo Apache. Quello che consiglio è di eseguire l'applicazione nodejs su un'altra porta (ad esempio 3000) e utilizzare il server web esistente (apache, ligtthpd, nginx ecc.) Come proxy inverso, ho incluso un esempio di configurazioni di seguito.
Apache
<VirtualHost example.com:*>
ProxyPreserveHost On
ProxyPass /api http://localhost:3000/
ProxyPassReverse /api http://localhost:3000/
ServerName localhost
</VirtualHost>
Lighttpd
$HTTP["host"] == "example.com" {
server.document-root = "/var/www/example.com"
$HTTP["url"] =~ "(^\/api\/)" {
proxy.server = (
"" => (
(
"host" => "127.0.0.1",
"port" => "3000"
)
)
)
}
}
nginx
http {
...
server {
listen 80;
server_name example.com;
...
location /api {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
rewrite ^/api/?(.*) /$1 break;
proxy_pass http://localhost:3000;
}
...
}
}
Negli esempi sopra qualsiasi richiesta a http://example.com/api verrebbe reindirizzato al processo del nodo in esecuzione sulla porta 3000.
L'idea è qui che si utilizza webserver per servire i file statici (ad esempio css) e il processo del nodo per servire l'applicazione.
- 1. Come distribuire DevExpress sul server?
- 2. Playframework 2.1.1 distribuire sul server di produzione
- 3. Come distribuire lo stack MEAN sul mio server hosted?
- 4. Come distribuire KrakenJs sul mio server di produzione
- 5. Posso usare webpack sul lato client senza server nodejs?
- 6. NodeJS del server XMPP
- 7. Come distribuire un'applicazione Metro sul desktop?
- 8. Nodejs Server host
- 9. come creare il server nodejs ssl?
- 10. Come installare applicazioni nodejs server Godaddy
- 11. Come riavviare con garbo un server NodeJS?
- 12. Distribuire da bitbucket al server live
- 13. NodeJS server non accessibile dall'esterno
- 14. Come posso distribuire automaticamente i miei file Java sul mio Tomcat Server?
- 15. Come distribuire facilmente il mio codice bitbucket sul mio server di produzione
- 16. Come distribuire il file .war sul server JBoss AS 7 usando Maven?
- 17. Creazione server OAuth2 con nodejs
- 18. Distribuzione del server NodeJS Typescript
- 19. Distribuire il contenuto su più server (EC2)
- 20. Come distribuire un ragno Scrapy sul cloud Heroku
- 21. Implementazione lato server Web Sockets per NodeJS
- 22. GAE Maven come distribuire
- 23. nodejs socket.io non può connettersi al server?
- 24. È possibile compilare Symfony2 assetic: eseguire il dump e distribuire quello invece di eseguirlo sul server?
- 25. Metodo HTTP personalizzato con server HTTP Nodejs
- 26. server nodejs contro gli attacchi DOS
- 27. come distribuire le funzioni CLR in SQL server 2008
- 28. Due app "Express" in un server NodeJS?
- 29. accesso golang websocket server con client nodejs
- 30. CSS sul lato server?
Okay Ho intenzione di provarlo ora – John
Come faccio questa impostazione e riavvio apache non si avvia. dice test configtest fallito – John