前言

在云计算领域,寻找兼顾高性能与灵活性的部署方案一直是技术爱好者的核心需求。Railway 作为一款现代化的容器化托管平台,为开发者提供了极佳的基础设施支持。

【特别说明】
本文旨在分享如何在 Railway 平台上利用 Docker 容器部署 Ubuntu 环境及 Xray 服务进行网络技术研究。文中涉及的“免费”资源是指 Railway 为新用户提供的 5 美元初始额度(Trial Credit),由于其网络带宽极高,在测试中我们可以跑出高达 1.8Gbps 的惊人成绩。请读者在遵守平台服务条款(TOS)的前提下进行合规使用。

数码解码

准备工作

在开始之前,请确保你已经拥有:

  1. 一个 Railway 账号(建议绑定 GitHub 账号)。

如果还没有的朋友可以点击注册:【注册账号】

  1. 已部署好的 Docker Ubuntu Desktop 项目。

如果还没有部署的朋友可以看我上一篇文章:【点击收看】

  1. 基础的 Linux 命令行操作常识。


核心搭建步骤

1. 环境初始化

首先,我们需要通过 Railway 提供的 Web 终端(NoVNC)进入蓝色 Ubuntu 命令行界面。为了确保后续操作顺畅,建议先更新包管理器并安装必备的编辑器。

apt update && apt install -y nano

请按照这个顺序执行命令,先把程序下载下来:

  • 下载 Xray 核心包:
    直接在终端输入这行一键下载(这是最稳的官方 Linux 64位版):

wget https://github.com/XTLS/Xray-core/releases/latest/download/Xray-linux-64.zip
  • 安装解压工具并解压:

apt install -y unzip && unzip Xray-linux-64.zip
  • 赋予运行权限:
    解压出来的文件默认可能没权限运行,执行这一行:

chmod +x xray

  • 接下来,我们需要生成一个专属的 UUID(通用唯一识别码),它是你节点连接的“唯一钥匙”。

./xray uuid

请务必记录下生成的这一串字符,后续配置需要用到。

2. 配置文件写入(避坑核心)

很多初学者在这一步会卡在 vi 编辑器的复杂操作上。为了提高成功率,我们采用 cat <<EOF 的“暴力写入法”,直接将 JSON 配置灌入服务器,避免格式错误。

特别注意: 我们将内部监听端口设置为 8080,以避开 Ubuntu 桌面默认占用的端口冲突。

输入下面的命令:

cat <<EOF > config.json
{
    "inbounds": [{
        "port": 8080, 
        "protocol": "vless",
        "settings": {
            "clients": [{"id": "这里替换成你刚才生成的UUID"}],
            "decryption": "none"
        },
        "streamSettings": {
            "network": "ws",
            "wsSettings": {"path": "/"}
        }
    }],
    "outbounds": [{"protocol": "freedom"}]
}
EOF
数码解码

3. 启动 Xr

数码解码

我们通过以下命令正式启动节点。当你看到控制台输出 Xray started 且没有报错信息时,恭喜你,服务端已经搭建成功!

./xray run -c config.json
数码解码

数码解码

客户端连接指

数码解码

v2rayN 为例,请按照以下参数手动添加 VLESS 服务器:

配置项

描述

地址 (Address)

你的 Railway 域名 (例如:xxx.up.railway.app)

端口 (Port)

443(注意:外网访问必须填 443)

用户 ID (UUID)

填入你刚才生成的那个 ID

传输协议 (Network)

ws

伪装类型

none

路径 (Path)

/

传输层安全 (TLS)

开启 (tls)

数码解码

常见问题与排查 (

数码解码

address already in use”?

这说明 8080 端口被占用了。请先执行 killall xray 杀掉旧进程,或者检查是否有其他服务在跑。

为什么测速跑不到 1.8G?

测速受限于你本地的网络带宽以及 Railway 实时服务器负载。建议在非高峰时段使用 Fast.com 进行测试。

为什么显示连接超时?

请确认:

  • 客户端是否开启了 TLS。

  • Railway 后台的端口是否已经修改为 8080 并保存。

  • 命令行窗口是否一直保持开启状态。


数码解码

结语

通过这种极客的 Docker 部署方式,我们不仅获得了一个极速的节点,更深入了解了 Linux 环境下的网络转发原理。如果你在搭建过程中遇到任何问题,欢迎在评论区留言交流。