尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Rabel 云服务器一键部署:CentOS 与 Ubuntu 脚本化安装全攻略

Rabel 云服务器一键部署:CentOS 与 Ubuntu 脚本化安装全攻略 Rabel 云服务器一键部署CentOS 与 Ubuntu 脚本化安装全攻略【免费下载链接】rabelAn open-source web forum built on the Ruby on Rails framework.项目地址: https://gitcode.com/gh_mirrors/ra/rabel如果你正在寻找一个开源的论坛系统来搭建自己的社区Rabel是一个不错的选择——它是一款基于 Ruby on Rails 框架构建的开源 Web 论坛界面友好、功能完整并且内置了节点分类、签到、奖励、通知等社区常用能力。本文就为你带来Rabel 云服务器部署的完整攻略手把手演示如何通过项目自带的 Shell 脚本在 CentOS 与 Ubuntu 两种主流系统上快速完成 Rabel 论坛安装全程无需手动编译一堆依赖真正做到一条命令装好。Rabel 一键部署脚本总览省心在哪里在动手之前先认识一下deploy/目录里的神器们。Rabel 把部署流程拆解成了若干个小脚本每个脚本只干一件事逻辑清晰、可单独复用脚本文件作用centos_6.4_install.shCentOS 系统全自动环境安装脚本ubuntu_12.04_install.shUbuntu 系统全自动环境安装脚本shared.sh日志输出工具库红/绿/黄三色提示setup_database_once.sh初始化生产数据库migrate_database.sh执行数据库迁移install_bundle.sh安装生产环境依赖 Gemprecompile_assets.sh编译前端静态资源start_unicorn_manually.sh手动启动 Unicornreload_unicorn.sh热重载 Unicornkill_old_unicorn.sh平滑清理旧进程stop_unicorn_manually.sh停止 Unicorn两个系统安装脚本会自动帮你搞定系统依赖包、RVM 与 Ruby 运行时、MySQL 数据库、Memcached 缓存、Nginx 反向代理、Postfix 邮件服务以及 ImageMagick 图片处理全程几乎零人工干预这正是Rabel 云服务器一键部署最吸引人的地方。部署前的准备工作拿到代码在执行安装脚本之前先把 Rabel 源码克隆到服务器上。在任意目录执行git clone https://gitcode.com/gh_mirrors/ra/rabel然后进入项目目录把config/application.yml.example复制为config/application.yml并按需修改站点配置。同时准备好两个关键信息MySQL 数据库密码和你的域名或邮箱地址它们是安装脚本的必传参数。CentOS 服务器最快部署方法一条命令装环境在 CentOS 系统上Rabel 的自动化安装脚本用法非常直观格式为bash deploy/centos_6.4_install.sh [mysql_password] [domain]例如你想设置数据库密码为e17c92a、站点域名为rabelapp.com执行bash deploy/centos_6.4_install.sh e17c92a rabelapp.com脚本会自动完成以下步骤启用 EPEL 源并更新系统软件包安装unzip、curl、wget、vim等基础工具安装编译依赖gcc-c、readline、zlib、openssl、libyaml-devel、ImageMagick-devel等为编译 Ruby 做准备安装 RVM 并编译 Ruby 1.9.3设置为系统默认版本安装 MySQL Server并通过mysqladmin命令设置你传入的 root 密码安装 Nginx、Memcached、Postfix并把你的域名写入 Postfix 邮件配置中。整个过程完全脚本化你只需要等终端里的绿色log_info提示即可堪称CentOS 部署 Rabel 论坛的最快方法。Ubuntu 服务器快速部署指南预置密码防弹窗Ubuntu 的安装脚本结构与 CentOS 版本基本一致但有一个贴心设计通过debconf-set-selections预置 MySQL 与 Postfix 的交互式提问避免安装过程中弹出密码设置窗口导致卡死。用法为bash deploy/ubuntu_12.04_install.sh [mysql_password] [mail_address]例如bash deploy/ubuntu_12.04_install.sh e17c92a adminrabelapp.com脚本执行的关键节点包括安装build-essential、libssl-dev、libmysqlclient-dev等编译套件以及libmagickwand-dev图像处理库通过 RVM 安装Ruby 2.1.3并写入~/.bashrc实现开机自启预置 MySQL 5.5 的 root 密码并静默安装预置 Postfix 的邮件类型与域名并静默安装最后安装memcached、imagemagick、nodejs、nginx。参数中的第二个值在 Ubuntu 下是邮箱地址而非域名这一点和 CentOS 版本略有不同使用时注意区分这是很多新手在Ubuntu 一键部署 Rabel时最容易踩的坑。数据库初始化与静态资源编译上线前的三步曲环境装好后进入项目根目录依次执行以下三条命令完成应用初始化这三步缺一不可bash deploy/install_bundle.sh # 安装 Gem 依赖跳过开发与测试环境 bash deploy/setup_database_once.sh # 初始化生产数据库db:setup bash deploy/precompile_assets.sh # 编译 assets 静态资源其中setup_database_once.sh内部执行的是RAILS_ENVproduction bundle exec rake db:setup会一次性完成建库、建表和数据填充precompile_assets.sh则对应rake assets:precompile确保生产环境能正常加载样式与脚本。Unicorn 服务启动与管理重启不再手忙脚乱Rabel 使用 Unicorn 作为应用服务器配置见config/unicorn.rb默认 2 个 worker 进程、监听tmp/sockets/unicorn.sock套接字。手动启动非常简单bash deploy/start_unicorn_manually.sh如果启动失败脚本会自动把log/unicorn.stderr.log的最后 60 行输出给你定位问题。日常维护中热重载用bash deploy/reload_unicorn.sh向 master 发送 USR2 信号随后记得执行bash deploy/kill_old_unicorn.sh清理旧进程彻底停止则用bash deploy/stop_unicorn_manually.sh。想要开机自启还可以使用deploy/auto_start_unicorn.sh生成 Upstart 服务脚本。Nginx 反向代理配置让域名正式生效最后一步是让 Nginx 把请求转发给 Unicorn。参考deploy/nginx-example.conf中的模板定义名为EXAMPLE_app_server的 upstream指向tmp/sockets/unicorn.sock然后将RABEL_HOME与HOST_NAME替换为你的实际路径和域名即可。配置里已内置静态资源 1 年缓存、4MB 上传限制、404/500 错误页等实用规则复制改两处就能用非常省心。常见问题排查小贴士脚本参数报错确认是否传入了两个参数USAGE提示会直接告诉你怎么用Gem 安装失败多为编译依赖缺失回头检查ImageMagick-develCentOS或libmagickwand-devUbuntu是否安装成功502 Bad Gateway大概率是 Unicorn 未启动或 socket 路径不一致先看log/unicorn.stderr.log端口占用注意脚本默认mysqld restart如有旧版本 MySQL 请先清理。至此你的 Rabel 论坛就已经在云服务器上跑起来了。无论是 CentOS 还是 Ubuntu借助这套脚本化部署方案从零到上线通常只需要一杯咖啡的时间非常推荐给想快速搭建中文社区的朋友一试【免费下载链接】rabelAn open-source web forum built on the Ruby on Rails framework.项目地址: https://gitcode.com/gh_mirrors/ra/rabel创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表