本地node服务器代码上传阿里云执行问题

如题,请问我在本地的node.js代码要放到阿里云服务器上跑是不是就不用在代码里重新创建一个服务器了?
其中代码是这样的image.png

阅读 3.3k
3 个回答

你的node服务应该不是静态web服务吧,这样的话,在服务器上是需求启动服务的,如果启动端口和地址和本地一样都是类似 localhost:8888这样的话,服务器上还需要配置nginx代理,假设你已经申请好了域名(假设为: example.com)以及域名备案,nginx配置中做一下代理

server {
    listen 80;
    server_name example.com;
    
    location / {
        proxy_pass http://localhost:8888; 
    }
}

使用上面的配置,你的服务可以通过域名访问,默认端口是80,当然了,云服务器上一般都是需要启动防火墙的,防火墙需要开放80端口,而且可以关闭你的服务的真实端口,提高安全性。云服务器防火墙建议使用firewall-cmd配置特别简单。

systemctl start firewalld # 启动防火墙
firewall-cmd --add-port=80/tcp --permanent # 开放80端口
firewall-cmd --add-service=nginx --permanent # 开放ngixn服务
firewall-cmd -reload # 重启防火墙

如果你是应用是个纯静态的应用,那么这里你需要的是个WEB服务器,这里的8888端口就是你的WEB服务器,通过它可以访问你的应用。如果你在阿里云服务器上面有个nginx类似的反向代理服务器,那么代码上传上去是不用启动8888的NODE服务的(当然你要在nginx那边配置指向你的静态文件)。

如果你的应用是个服务端的NODE应用,那么就一定要启动8888的NODE服务了,不然服务就跑不起来了。

此服务器非彼服务器。

  • 阿里云服务器 是一个物理上的服务器,主要提供硬件设备,你可以把它想象成一台电脑。
  • Node.js 服务器 是一个服务程序,是一个软件,你可以把它理解成网站。

所以该跑还得跑。另外,一般来说服务器只开发 80、443 端口,阿里云国内要求必须备案,所以你多半还要在服务器上配置反向代理,然后申请了备案号才能上线。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题