我使用expressjs 创建了一个在本地主机服务器上运行的应用程序。我还买了一个域名。
我想知道是否有一种方法可以将本地主机服务器变成真正的共享服务器
我曾经尝试过使用像hostgator这样的托管服务,但我仍然不知道如何将express应用程序变成一个真正的网站。
我没有任何网络开发服务的经验,所以请不要告诉我使用......无论如何,因为我不知道那是什么。
一方面,尚不清楚您的网站实际上是如何工作的:如果它只是express,它会生成 HTML 还是通过 get 请求(每个请求)传递到浏览器客户端的纯 JSON。
关于如何做到这一点有很多选择:最好的选择之一是首先确保您的服务器在 Docker 上运行。在 YouTube/google/Stack Overflow/博客上查找有关如何使用 docker 运行 Express 服务器的教程。如果您这样做,您可以将其部署到容器管理器,例如 Google/Amazon/Digital Ocean。如果这对您来说很难,还有其他选择。
大概您使用类似
npm start
的东西运行服务器。本指南可以向您展示如何在云计算机上实现这一点。
开始之前,请确保您的本地工作服务器已签入云 Git 提供商,如 Github、GitLab、Bitbucket 等。
由于 Amazon AWS 和 Google Cloud 具有免费套餐或选项,可以在一定时间内(AWS 1 年)或一定金额(Google Cloud)免费托管。这两个似乎是可行的起点。
如果您找到所需的选项,您需要:
git
和 node
的教程(但它类似于 sudo apt-get update && sudo apt-get install git node
)。mkdir www
并 cd 进入:mkdir www && cd www
(这并不重要,但很传统。)npm i
安装依赖的 NPM 软件包。 (这假设您正确使用 .gitignore 来防止 GitHub 被您的 npm 包的额外副本填满。)npm run start
如果所有这些步骤都有效,您将需要一些可以运行这些
"forever"
的东西,例如 https://www.npmjs.com/package/forever npm i -g forever
甚至更好:https://www. npmjs.com/package/pm2 将允许您持续运行 Express 服务器。
最后,您需要在 AWS/Google/您使用的任何服务上配置此服务器,将端口 80 和 443 上的流量推送到端口 3000 并向所有人开放流量。根据您选择的服务的不同,这会有所不同,因此请找到一个教程来完成该部分。
这只会允许互联网上的人们在 AWS URL 或 google URL 上看到您的服务。但这是确保一切顺利的好机会。一旦您对一切感到满意,请将您购买的域与该特殊的 AWS/Google 域相关联。您可以在 AWS 端或 GoDaddy/NameCheap/您在任何地方购买域端执行此操作。
对于 docker 选项,您可以下载 aws-cli 工具并将构建的 docker 容器上传到 AWS 并使其可用。找到一个教程来做到这一点。
本质上你的问题非常广泛,所以我有时会忽略一些细节,但这本质上是你必须做的。