·조회수 187

在一台服务器上运行多个服务的方法

开始

作为一名独立开发者,我正在尝试通过运营多个服务来实现盈利,但AWS服务器的使用费用让我感到负担。在寻找更便宜的替代方案时,我决定尝试将家里闲置的游戏PC用作服务器。

这台PC大约是5年前花费约200万韩元购买的设备,如果要在AWS上使用相同规格,至少每月需要60万韩元以上。而且我运营的大部分服务几乎没有用户,几乎不会产生流量。那么在这台服务器上使用Docker来有效地运行多个服务是不是一个好主意呢?

构建

逐步进行可以更容易理解。首先让我们看看最基本的构建。

1. 在Ubuntu服务器上使用Docker运行多个服务

  • 在Ubuntu服务器上使用Docker容器运行每个服务。

  • 使用Nginx来适当地分发流量。

  • 这样即使没有外部访问,也可以在公司内部网络上运行服务。

2. 使用Nginx区分服务

  • 在Nginx配置文件中使用server_name来区分每个服务,这样可以将流量路由到适当的Docker容器中。

  • 示例配置:

3. 设置允许外部通过IP访问

  • 如果要直接从外部访问服务器,则必须将公共IP连接到服务器。
  • 如果使用路由器,则需要设置端口转发以将外部流量引导到服务器。
  • 示例设置: 在路由器上将80、443端口转发到服务器

4. 域名连接(使用AWS Route 53等)

  • 使用AWS Route 53等服务,可以使用域名地址而不是IP地址。
  • 在DNS设置中,将A记录设置为家庭网络的公共IP即可。

5. 使用CNAME处理IP更改

6. 应用HTTPS(使用Let’s Encrypt)

  • 使用Let’s Encrypt可以免费获得SSL证书。

  • 使用Certbot设置自动更新后,可以在没有额外费用的情况下保持安全的HTTPS环境。

  • 基本的SSL设置示例:

    server {
        listen 443 ssl;
        server_name example.com;
        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    }
    

结论

虽然没有涵盖所有细节设置,但我想展示利用本地PC作为服务器来节省成本是完全可行的。

AWS具有出色的可扩展性和稳定性,但初始成本较高。而利用本地PC,既可以节省成本,又可以直接运营多个服务。

这种方法适用于个人项目或小型服务运营。最初可以这样运营,随着流量增加和收入保障,再考虑扩展到像AWS这样的云环境可能是一个不错的策略。

김지식
김지식
웹, 앱 개발자입니다.

댓글

댓글을 불러오는 중...