本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。.../local/bin/; \ chmod 755 /usr/local/bin/docker-entrypoint.sh; # Drop down to unprivileged...LOBSTER_DATABASE="lobsters" \ LOBSTER_HOSTNAME="localhost" \ LOBSTER_SITE_NAME="Example News" \ RAILS_ENV...", require: false + gem 'capistrano-rvm', require: false + gem 'capistrano-rails', require: false...,可以看到安装目录是 2.4.0。
本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。.../local/bin/; \ chmod 755 /usr/local/bin/docker-entrypoint.sh; # Drop down to unprivileged users...LOBSTER_DATABASE="lobsters" \ LOBSTER_HOSTNAME="localhost" \ LOBSTER_SITE_NAME="Example News" \ RAILS_ENV...", require: false + gem 'capistrano-rvm', require: false + gem 'capistrano-rails'...:294:in `activate_bin_path' from /lobsters/.gem/ruby/2.7.0/bin/bundle:23:in `' 根据错误提示在镜像文件中的 bundle
此外,本教程未介绍如何设置开发或测试环境。如果您需要帮助,请参考腾讯云+社区中有关PostgreSQL with Rails的教程中的示例进行操作。...配置数据库连接 确保您位于应用程序的根目录(cd ~/appname)中。 在您喜欢的文本编辑器中打开应用程序的数据库配置文件。...您可以通过运行以下命令查看使用rbenv-vars插件为您的应用程序设置的环境变量: rbenv vars 如果您更改了密码或数据库密码,请更新您的.rbenv-vars文件。...你可以自由的去修改文件,或添加您需要的任何其他选项。...您已使用Nginx和Unicorn部署了Ruby在Rails应用程序的生产环境。 如果您希望改进生产Rails应用程序部署,您应该查看我们的如何使用Capistrano自动部署的教程系列。
例如,将创建一个名为testapp_rails的目录。 我们只是克隆以检查我们的部署密钥是否正常工作,每次推送新更改时我们都不需要克隆或拉取我们的存储库。...我们将让Capistrano为我们处理所有这些。您现在可以删除此克隆目录。 在本地计算机上打开终端。如果您没有本地计算机的SSH密钥,也可以为其创建一个。...,在Rails应用程序中为Nginx和Capistrano创建配置文件。...输入以下命令来捆绑您的Rails应用程序: $ bundle 捆绑后,运行以下命令配置Capistrano: $ cap install 这将创建: Capfile 在您的Rails应用程序的根目录中...deploy.rb文件在config目录中 deploy目录在config目录中 用以下内容替换Capfile的内容: Capfile # Load DSL and Setup Up Stages require
我们来介绍一下 Kamal,它是基于 Docker 实现容器部署的 Capistrano。相比于 Kubernetes 或 Docker Swarm,它提供了更简单的替代方案。...deploy.yml 文件保存了各种东西的目标位置,而 .env 文件将保存我们可能不会提交到源代码控制的“机密”信息。因此,这个 .env 文件会按名称添加到各种 .ignore 文件中。...# env: # clear: # DB_HOST: 192.168.0.2 # secret: # - RAILS_MASTER_KEY 因此,您将为您的服务器设定目的地,并指定要部署的镜像名称...请注意,env 变量会以可编辑的方式或明文形式注入到容器中。....env 文件是您放置适当“密钥”的地方: > cat .env KAMAL_REGISTRY_PASSWORD=change-this RAILS_MASTER_KEY=another-env 这些文件可以用于引用
/configure make make install /sbin/ldconfig /usr/local ln -f /usr/local/bin/Magick-config /usr/bin/Magick-config...rake generate_secret_token 生成数据库结构 RAILS_ENV=production rake db:migrate 填充缺省配置数据 RAILS_ENV=production.../usr/local/bin/ruby,保存退出。...环境切换到production: vim config/environment.rb 在文件开头加入下面一行: ENV['RAILS_ENV'] ||= 'production' 配置redmine虚拟主机...修改日志配置 Redmine默认将日志记录到应用主目录下的log子目录。随着时间的推移,日志文件可能变得很大。为此可以考虑让它们增长到一定大小之后自动分割为多个文件。
以root身份或使用sudo命令打开文件/etc/nginx/conf.d/mod-http-passenger.conf并验证以下两行是否存在且未注释: /etc/nginx/conf.d/mod-http-passenger.conf1...2 passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini; passenger_ruby /usr/bin/...passenger_free_ruby;注意如果该文件尚不存在,则需要创建该文件并手动添加这些行。...导航到应用程序的根目录并安装所有依赖项: cd railsapp bundle install Rails需要JavaScript运行时。...您的Rails应用程序现在应该是活动的。 下一步 现在您的应用程序正在运行,请考虑使用Capistrano等构建工具或Travis或Jenkins等持续集成(CI)工具来加速部署工作流程。
作为Rails的Web服务器,Passenger易于安装,配置和维护,可与Nginx或Apache一起使用。在本教程中,我们将在Ubuntu上安装带有Nginx的Passenger。...它会尝试将已编译的二进制文件复制到/usr/local/bin文件夹中。此步骤需要root访问才能写入此目录。这还需要一些时间: sudo make install 现在应该在系统上安装Ruby。...sudo rm /usr/bin/ruby sudo ln -s /usr/local/bin/ruby /usr/bin/ruby 第五步 - 设置Web服务器 打开Nginx配置文件: sudo nano...; # passenger_ruby /usr/bin/ruby; 取消注释。...development; root /home/rails/testapp/public; } 在此文件中,我们启用侦听80端口,设置域名,启用Passenger,并将根目录设置为新项目的公共目录
ROOT环境 alternatives --install /usr/bin/ruby ruby /usr/local/ruby/bin/ruby 300 alternatives --install.../usr/bin/gem gem /usr/local/ruby/bin/gem 300 安装Rails 1....配置 alternatives --install /usr/bin/bundle bundle /usr/local/ruby/bin/bundle 300 安装Redmine 1....安装ruby组件 //进入redmine根目录,bundle执行注意不要使用root权限执行 bundle install --without development test 6....初始化数据库(如果已经有数据库结构,可以忽略此部) RAILS_ENV=production rake db:migrate RAILS_ENV=production rake redmine:load_default_data
目录 1. Capistrano Ruby编程语言 Capistrano操作方式 系统/服务器管理 应用程序部署 2....Ruby编程语言 Ruby是一种通用的(即不是为解决特定问题而创建的),动态编程语言随着Ruby-on-Rails Web应用程序开发框架的发布而大受欢迎。...Capistrano 操作方式 Capistrano lingo中的操作方式转换为包含部署(或管理)应用程序和服务器的操作指示的文件。...可以修改这些配方以支持与Ruby(或Rails)无关的各种语言特定部署。 您可以将它们视为Capistrano用于执行其操作的脚本。...应用程序部署 部署应用程序(无论是网站,API还是服务器)通常意味着从头开始(或从及时拍摄的快照)设置系统,通过更新所有内容,下载依赖项,设置文件来准备它结构和权限,然后最终上传您的代码库 - 或使用源控制管理器
,如下: $ RAILS_ENV=production REDMINE_LANG=zh bundle exec rake redmine:load_default_data 文件系统授权: 运行Redmine...的用户需要对以下目录文件有写权限。...授权目录如下: files:存储附件文件 log:存放应用日志 tmp 和 tmp/pdf:如果目录文件不存在需要手动创建,用于创建PDF文件 public/plugin_assets:存放插件...(如果这些目录下有文件,需要去除其执行权限!!!).../redmine-3.4.6/bin/rails server webrick -e production -d 加入systemctl管理: $ vim /usr/lib/systemd/system
/bin/env: python2: No such file or directory: 解决: ln -s /usr/bin/python /usr/bin/python2 换主题 下载solarized...创建新主题文件 在文件夹~/.oh-my-zsh/themes中新建主题文件,名称自定:如laogao.zsh-theme,后面会用到。...下面的内容参考Mac OS X & Oh My ZSH Theme on iTerm2,将下面的内容保存到刚才的文件中!...POWERLINE_GIT_UNMERGED="═" # 开启等待红点 COMPLETION_WAITING_DOTS="true" # 加入一些插件 plugins=(git autojump mvn gradle brew rails3...git-flow capistrano zeus textmate ruby osx) source $ZSH/oh-my-zsh.sh 删除OMZ 如果用腻了想删除,很简单!
添加如下内容: ########################### PATH=/usr/local/bin:/sbin:/usr/bin:/bin REDISPORT=6379 EXEC=/usr...以管理员身份运行: visudo 然后搜索: Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin 将其改成: Defaults secure_path...= /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin 安装数据库 MySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB,先搜索 MariaDB...SecuringSSH restorecon -Rv /home/git/.ssh 初始化数据库和激活高级功能 sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV...:info RAILS_ENV=production 编译静态文件 sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
-linux-x64.tar.gz ENV JAVA_HOME /usr/local/jdk1.8.0_101 ENV PATH $JAVA_HOME/bin:$PATH build 后镜像大小为:743.../local/ ENV JAVA_HOME /usr/local/jdk1.8.0_101 ENV PATH $JAVA_HOME/bin:$PATH build 后镜像大小为:562 MB,少了压缩包的大小...我们先在本地把 jdk-8u101-linux-x64.tar.gz 解压看一下 解压后目录是 jdk1.8.0_101,大小 352M 进入目录可以看到 javafx-src.zip(4.9M) 和...文件 Dockerfile内容: FROM centos COPY jdk1.8.0_101 /usr/local/jdk1.8.0_101 ENV JAVA_HOME /usr/local/jdk1.8.0..._101 ENV PATH $JAVA_HOME/bin:$PATH .dockerignore内容: */*.zip 位置关系: ├── .dockerignore ├── Dockerfile └─
使用 USR1 信号来固定重复打开应用程序的所有日志文件。Unicorn 也可以逐步的确定一个请求的多行日志放在同一个文件中。 8. nginx 式的二进制升级,不丢失连接。...= 'production' 启动: 进入到工程根目录 cd /work/new_sxcoalts2.0/ unicorn_rails -c /work/new_sxcoalts2.0/config/...在此目录下添加所有需要的工程配置(可放置多个) 例如:project1.conf 内容为 RAILS_ROOT=/work/project1 RAILS_ENV=production 编写unicorn.../bin/sh # # init.d script for single or multiple unicorn installations....CMD="unicorn_rails -c config/unicorn.rb -E $RAILS_ENV -D" } start_stop () { # either run the start/stop
反观,Rails的框架依赖有多么臃肿,整个一大胖子,应该也是反映慢的原因之一吧 不过话说回来,正因为这些基础,这个应用可以自立根生,除了系统内核和Docker提供的隔离环境,它的运行不再看其它环境或基础设施的脸色...": [ "PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:.../local/bundle", "BUNDLE_PATH=/usr/local/bundle", "BUNDLE_BIN=/usr/local/bundle...": [ "PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:.../local/bundle", "BUNDLE_PATH=/usr/local/bundle", "BUNDLE_BIN=/usr/local/bundle
: "/usr/bin/redis-cli" host: localhost port: 6379 namespace: resque:gitlab log_level: INFO audit_usernames...:info RAILS_ENV=production 样本输出 System information System: Ubuntu 14.04 Current User: git.../bin/git 编译静态资源: sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production 为git用户配置全局属性...在浏览器上打开GitLab 再次检查应用的运行状态: cd /home/git/gitlab sudo -u git -H bundle exec rake gitlab:check RAILS_ENV...... yes Your git bin path is "/usr/bin/git" Git version >= 1.7.10 ?
echo "PATH=$PATH:/usr/local/ruby/bin;export PATH" >> /etc/profile # 使环境变量立即生效(注意"."...bundle install --without development test # 生成应用安全密钥 bundle exec rake generate_secret_token # 创建数据库表结构 RAILS_ENV...=production bundle exec rake db:migrate # 加载默认数据并设置为中文界面 RAILS_ENV=production REDMINE_LANG=zh bundle...= true 数据库优化: 为常用查询字段添加索引 定期执行数据库维护操作 考虑使用数据库连接池 文件存储优化: 配置Amazon S3或其他云存储服务来存储附件 实施文件压缩策略 安全加固: 保护您的...https://github.com/redmine/redmine_agile.git plugins/redmine_agile # 安装依赖 bundle install # 执行数据库迁移 RAILS_ENV
本文使用 Phusion Passenger 或mod_rails 方法部署 Rails 应用程序。...Passenger 允许您直接在Apachen应用程序中嵌入 Rails 应用程序,而无需使用FastCGI或复杂的Web服务器代理。...请确保用正在运行的Ruby版本替换VERSION: ls /var/lib/gems PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin...:/bin:/usr/games:/var/lib/gems/VERSION/bin" 6.在您的网站的公共文件夹中启动一个新的rails项目,以确保一切正常配置。...2.将应用程序的public/目录链接到public_html/的子目录: ln -s /var/www/html/example.com/app1/public/ /var/www/html/example.com
/configure make prefix=/usr/local all # 安装到/usr/local/bin目录 sudo make prefix=/usr/local install # 当编辑...config/gitlab.yml(step 5),修改git路径为/usr/local/bin/git 注意:为了让Gitlab拥有发送通知邮件的功能,你需要安装一个邮件服务.在Debian系统上默认自带一个.../local -xzf go1.5.1.linux-amd64.tar.gz $ sudo ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin...cd /home/git/gitlab sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production # 输入 'yes'...:info RAILS_ENV=production 生成资源(Assets): sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=