You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows 10/11离线部署Rails应用并设置开机自启

适用于Windows 10的Rails离线部署方案

方案一:用NSSM将Rails服务注册为Windows系统服务

NSSM(Non-Sucking Service Manager)是轻量的Windows服务管理工具,完全离线可用,能把任意脚本/程序包装成系统服务,实现开机自启。

步骤:

  1. 提前在有网环境下载NSSM的压缩包(对应Windows版本),复制到目标Windows 10机器的任意目录(比如C:\nssm),把该目录添加到系统环境变量PATH里。
  2. 在目标机器上确保已安装对应版本的Ruby和Rails依赖:
    • 提前下载Ruby离线安装包(对应Windows版本),在目标机离线安装。
    • 将开发环境中Rails项目的vendor/bundle目录(如果用了bundle install --path vendor/bundle)复制到目标机的项目根目录,或者提前下载所有gem的离线包,在目标机执行gem install --local *.gem完成依赖安装。
  3. 打开命令提示符(管理员权限),切换到Rails项目根目录,执行命令:
    nssm install RailsAppService
    
  4. 在弹出的NSSM配置窗口中:
    • Path:选择Ruby的ruby.exe路径(比如C:\Ruby32-x64\bin\ruby.exe)
    • Arguments:填写bin/rails server -b 0.0.0.0 -p 3000(允许本地所有IP访问,端口可自定义)
    • Working Directory:选择Rails项目的根目录路径
  5. 切换到Log On标签页,选择Local System account并勾选Allow service to interact with desktop(可选,方便排查日志)
  6. 点击Install service完成注册,之后可以通过以下命令管理服务:
    # 启动服务
    nssm start RailsAppService
    # 停止服务
    nssm stop RailsAppService
    # 修改配置
    nssm edit RailsAppService
    
  7. 重启机器后,服务会自动启动,直接在浏览器访问http://localhost:3000即可打开应用。

方案二:Apache + Passenger离线部署

Passenger支持在Windows上部署Rails应用,搭配Apache可以实现稳定的Web服务,且支持离线安装。

步骤:

  1. 提前下载以下离线安装包:
    • Apache的Windows离线安装包(比如ApacheHaus版本)
    • Passenger的Windows离线gem包(在有网环境执行gem fetch passenger获取)
    • 对应版本的Ruby离线安装包
  2. 在目标机离线安装Ruby,然后执行gem install --local passenger-xxx.gem安装Passenger。
  3. 安装Apache,将Apache的bin目录添加到系统环境变量PATH。
  4. 打开命令提示符(管理员权限),执行passenger-install-apache2-module,按照提示完成模块安装(过程中如果需要依赖,提前下载对应离线包提供)。
  5. 修改Apache的配置文件httpd.conf,添加Passenger相关配置:
    LoadModule passenger_module "C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/passenger-6.0.18/buildout/apache2/mod_passenger.so"
    PassengerRoot "C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/passenger-6.0.18"
    PassengerDefaultRuby "C:/Ruby32-x64/bin/ruby.exe"
    
    # 配置Rails应用站点
    <VirtualHost *:80>
        ServerName localhost
        DocumentRoot "C:/RailsApp/public"
        <Directory "C:/RailsApp/public">
            AllowOverride all
            Options -MultiViews
            Require all granted
        </Directory>
    </VirtualHost>
    
  6. 将Apache注册为Windows服务(通常安装包会自动完成,若未完成可执行httpd -k install),设置服务为自动启动。
  7. 启动Apache服务,浏览器访问http://localhost即可访问应用。

方案三:将Rails应用打包为独立可执行文件

用Ruby Packer将Rails应用、Ruby解释器和所有依赖打包成单个可执行文件,目标机无需安装Ruby环境,再设置开机自启。

步骤:

  1. 在开发环境(有网)安装Ruby Packer:
    gem install ruby-packer
    
  2. 进入Rails项目根目录,执行打包命令:
    ruby-packer -o rails_app.exe bin/rails server -b 0.0.0.0 -p 3000
    
  3. 打包完成后,将生成的rails_app.exe复制到目标Windows机器的任意目录。
  4. 设置开机自启:
    • 按下Win + R,输入shell:startup打开开机启动文件夹。
    • 创建一个快捷方式,指向rails_app.exe,并在快捷方式属性的目标末尾添加 --daemon(让程序后台运行)。
  5. 重启机器后,应用会自动后台启动,访问http://localhost:3000即可使用。

内容的提问来源于stack exchange,提问作者Sediqullah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 00:10:47