Articles of node.js

如何启动let'schat(nodejs应用程序)作为deamon?

我在我的服务器上安装了“让我们聊天”。 在文档中,他们说要启动应用程序 npm start 从应用程序的安装目录中。 但是我无法用systemd启动它。 我希望应用程序始终在线。 所以它工作,如果我手动启动 cd /MIDDLE/uow/lets-chat/ && /bin/npm start 但是如果我从systemdconfigurationExecstart中的行,则不行。 我尝试使用相同的行,我试着用npm,我试着用“node ./apps.js”: ExecStart=/usr/bin/cd /MIDDLE/uow/lets-chat/ && /usr/local/bin/node /MIDDLE/uow/lets-chat/app.js (我尝试用或不用绝对path来执行我的命令,但是它没有任何改变)。 我不知道如何在我的centos中像deamon一样启动这个应用程序。 我该怎么办? 谢谢, 一个。

无法在Windows Server 2012上将基于NodeJS的WebSocket服务器初始化为服务

一个基本的node.js websocket服务器的实现像通过命令行或计划任务pipe理器启动时一样运行良好。 但是,在使用nssm作为服务安装之后,它拒绝启动,但出现以下exception: Windows无法启动服务…在本地计算机上。 该服务没有返回错误。 这可能是内部Windows错误或内部服务错误。 该软件不使用映射的networking驱动器,也不访问registry,在这个SO问题中 ,这两者都暗示了这种行为的可能原因。 我已经将问题追溯到websocket服务器组件中,注释掉它使得服务运行得很好。 另外,当在Windows 7和Windows 10环境中使用时,该过程可以正常工作。 当我错误地认为这个问题应该发送到服务器故障社区,随意将其移动到超级用户。 更新: 以下是引用的代码元素: 实例: let WebSocket = require('ws'); this.server = new WebSocket.Server({ port: this.port }); 这是对https://github.com/websockets/ws上提供的js库的调用

在nginx的proxy_pass字段中指定实际的内部IP是否正确?

我现在要通过nginx在Google Compute Engine上部署我的node.js应用程序,但在完成所有configuration之后,我用“502 Bad Gateway”(502错误网关)错误触发了墙。 然后,在挖掘了这么多小时之后,我终于发现/etc/nginx/sites-available/server.conf中的proxy_pass字段应该是您在GCE控制台中显示的实际内部IP地址,而不是http://127.0.0.1 。 conf文件如下(有些值只是为了说明的目的): server { listen 80; listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/ssl/example.crt; ssl_certificate_key /etc/nginx/ssl/example.key; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://10.102.24.152:8888; } } 但是,我所遵循的所有教程都将proxy_pass的值设置为http://127.0.0.1 。 但在我的情况下,根本没有工作。 教程的例子如下: https://github.com/ShoppinPal/gcp-scripts/wiki/Setup-Nginx-on-Google-Cloud http://support.ghost.org/setup-ssl-self-hosted-ghost/ https://www.digitalocean.com/community/questions/problem-with-ssl-and-ghost 所以我现在想知道是否是使服务器正常工作的正确方法。 或者这是否导致安全问题容易发生? 或者,也许127.0.0.1是正确的数字,我身边还有其他问题?

使用Node.js检查文件在GCS存储桶中的名称是否存在

我想知道Google Cloud Storage是否提供了一种有效的方法来检查具有给定名称的文件是否存在于具有node.js的给定存储桶中。 诸如bucket.fileExists('someName')将是理想的。 我很抱歉,如果有明显的答案。 任何build设性的反馈将不胜感激。

我的PositiveSSL证书链configuration是否正确?

我正在使用NodeJS托pipeHTTPS Express服务器。 我的服务器configuration如下: var options = { key: fs.readFileSync('domain_com.key'), cert: fs.readFileSync('domain_com-bundle.crt') } https.createServer(options, app).listen(8082, function() {…} ); 我按照这个网站的说明连接了.crt和.ca-bundle文件。 更新:更新我的代码,但它仍然给出了相同的错误 var options = { key: fs.readFileSync('domain_com.key'), cert: fs.readFileSync('domain_com.crt'), ca: fs.readFileSync('domain_com.ca-bundle') } https.createServer(options, app).listen(8082, function() {…} ); 有了这段代码,我没有按照上一个链接的指示,而是将每个文件分别包含到NodeJS的https模块中 现在,当我尝试在移动Android上使用Chrome 56访问我的网站时,出现了问题。 一切工作就像应用在桌面上的Chrome应该。 我运行了一个SSL分析器,这是返回: 破碎的证书链 简单的说,我可能试过每个key / cert / bundle组合都可能试图让它工作,但是chrome仍然给出了ERR_CERT_AUTHORITY_INVALID。 我不完全确定我在做什么,因为这是我第一次设置和SSL证书,所以只要告诉我,如果你需要任何其他信息。

在nginx上,node.js https / wwwredirect到https非www

我使用nginx作为我的node.js应用程序。 我已经使用Digitalocean教程来configurationnginx和https的使用。 现在,下面的工作: http:// example.com – > https:// example.com example.com – > https:// example.com www.example.com – > https:// example.com http:// www.example.com – > https:// example.com 但是当我inputhttps:// www.example.com时,它不会redirect到https:// example.com 这里是我的nginx congif网站,可用/默认 # HTTP – redirect all requests to HTTPS: server { listen 80; listen [::]:80 default_server ipv6only=on; return 301 https://$host$request_uri; } # HTTPS – proxy requests […]

Node.js不与Mongodb交谈

我inheritance了一个服务器,原来的pipe理团队已经不在了。 我们有一个正在运行的活动服务器,但我试图成功将其转换为AMI以进行AWS缩放。 克隆工作,除了聊天function。 它使用Node.js应用程序进行聊天通信。 Mongodb是聊天数据库。 我修改了应用程序的config.json,将mongoDB指向负载平衡器的正确FQDN,mongo似乎开始正常。 但是,在运行(原始)服务器Mongo日志…我看到… 2016-07-25T18:11:15.393+0000 I NETWORK [initandlisten] waiting for connections on port 27017 2016-07-25T18:11:30.272+0000 I NETWORK [initandlisten] connection accepted from 127.0.0.1:36001 #1 (1 connection now open) 2016-07-25T18:12:32.981+0000 I INDEX [conn1] allocating new ns file /var/lib/mongodb/admin.ns, filling with zeroes… 2016-07-25T18:12:33.265+0000 I STORAGE [FileAllocator] allocating new datafile /var/lib/mongodb/admin.0, filling with zeroes… 2016-07-25T18:12:33.268+0000 I […]

Nginx反向代理结尾斜杠

这个问题已经被多次回答了,但是在我的情况中却有一个转折点。 我有一个在端口3000上运行的节点应用程序。我正在使用nginx来反向代理。 现在应用程序只有在最后有一个斜线的时候才起作用。 所以这个工程: https://example.com/main/site/react/ : https://example.com/main/site/react/ 这不: https://example.com/main/site/react : https://example.com/main/site/react 这是我正在使用的configuration: location /main/site/react { error_log /var/log/nginx/app.error.log; rewrite ^/main/site/react/(?:|[\w\/]+)(\/static.*)$ $1 break; rewrite ^/main/site/react/?(.*)$ /$1 break; proxy_pass http://127.0.0.1:3000/; } 在检查其他相关问题后,添加以下重写规则(在error_log之后)为我工作: rewrite ^(.*[^/])$ $1/ permanent; 上面的规则呈现我的节点应用程序,但它失败了我的静态资源。 我有一些静态资源重写哪些不工作。 所以这个URL不起作用: https://example.com/main/site/react/static/js/bundle.js : https://example.com/main/site/react/static/js/bundle.js 。 它总是呈现索引HTML页面。

问题与Nginxredirect

我有以下nginx.conf: events { worker_connections 4096; ## Default: 1024 } http { server { listen 443 ssl default_server; server_name www.artelazer.com.br artelazermoveis.com.br; ssl_certificate /var/webapps/loja/fullchain.pem; ssl_certificate_key /var/webapps/loja/privkey.pem; location / { proxy_pass http://127.0.0.1:8081; } } server { listen 443 ssl; server_name www.alexalonso.com.br alexalonso.com.br; ssl_certificate /var/webapps/alexalonso/fullchain.pem; ssl_certificate_key /var/webapps/alexalonso/privkey.pem; location / { proxy_pass http://127.0.0.1:8082; } } server { listen 80; server_name […]

了解nginx备份

考虑以下设置。 每个请求是否会检查1.2.3.4的可用性,还是nginx将服务器标记为失败,并且每隔一段时间只尝试一次重试? upstream backend { server 1.2.3.4:80; server 4.5.6.7:80 backup; } server { listen 80; server_name domain.com; location / { proxy_pass http://backend; } }