ubuntu部署homeland

现在部署homeland可以使用docker部署,很方便,但是修改代码很麻烦,所以我打算自己部署

homeland git https://github.com/ruby-china/homeland

部署说明: 

Please read this document: CONTRIBUTE GUIDE

sudo apt-get install memcached postgresql postgresql-contrib redis-server imagemagick ghostscript

安装Elasticsearch

curl -sSL https://git.io/vVHhm | bash

homeland就先到这里,我们先把nginx+passenger部署好在进行后续的homeland安装

nginx+passenger部署可参考官方文档

www.phusionpassenger.com


第一步:选择nginx


第二步: 选择开源passenger, passenger open source

第三步:准备环境

sudo apt-get update
sudo apt-get install -y curl gnupg build-essential

第四步:安装rvm和ruby,当如可以直接安装ruby,但ruby必须2.4版本以上

rvm我是之前按照官方文档安装好了

rvm安装好了使用rvm install x.x.x, 我安装的是2.4.2

安装好后设置为默认ruby环境

rvm --default use ruby-X.X.X

第四步: 安装bundler

gem install bundler --no-rdoc --no-ri

第五步:安装nodejs, 我也是参考官方文档安装的最新版本

第六步:安装nginx

sudo apt-get install nginx

第七步:安装passenger

sudo apt-get install -y dirmngr gnupg
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates


sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update


sudo apt-get install -y nginx-extras passenger

第八步:编辑nginx.conf

去掉include /etc/nginx/passenger.conf;前面的#

第九步:检查passenger,当然可以跳过

sudo /usr/bin/passenger-config validate-install

第十步:更新系统

sudo apt-get update
sudo apt-get upgrade

到此nginx+passenger安装完毕


配置postgresql

sudo su postgres

登陆数据库

psql

先为postgres设置密码

\password

退出

\q


新建一个用户并设置密码

sudo adduser myappuser

进入项目目录把代码拷贝下来

sudo -u myappuser -H git clone https://github.com/ruby-china/homeland.git code

使用新建的用户登陆系统

sudo -u myappuser -H bash -l

进入code

修改config目录下的database.yml.default和config.yml.default为自己的配置

修改log、public文件夹权限为777

运行./bin/setup

bundle install --deployment --without development test

bundle exec rake assets:precompile db:migrate RAILS_ENV=production

运行rails s看能否运行


接下来配置nginx和passenger

先运行

passenger-config about ruby-command

获取到passenger_ruby

然后进入nginx的site-enabled目录,修改default为default.conf

编辑default.conf,编辑想应的root和server_name,并注释掉localtion相关代码和index index.html index.htm

配置passenger

添加如下代码

passenger_enabled on;
passenger_ruby /path-to-ruby;

然后重启nginx

service nginx restart

重启之后运行我遇到了一个问题

[passenger_native_support.so] trying to compile for the current user (nobody) and Ruby interpreter

解决方法是在nginx的include /etc/nginx/passenger.conf;上面一行添加passenger_default_user adduser;


刚开始我没有注释default.conf里的location相关代码,结果是点击菜单报404错误


如果还有其他问题,更新下bundler和gem

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是写入文件 "E:\\Python\\homeland.txt" 的Python代码: ```python with open("E:\\Python\\homeland.txt", "w", encoding="utf-8") as f: f.write("袅袅炊烟 小小村落 路上一道辙") ``` 运行这段代码后,文件 "E:\\Python\\homeland.txt" 就会被创建,内容为 "袅袅炊烟 小小村落 路上一道辙"。 ### 回答2: 要将以下信息写入文件 “E:\\Python\\homeland.txt”中,可以使用Python中的文件操作方法。 首先,我们需要使用open()函数打开或创建一个文本文件。在函数中,第一个参数是要操作的文件路径和文件名,第二个参数是打开文件的模式。我们需要以写入模式('w')打开文件。 然后,我们可以使用write()方法将要写入的信息添加到文件中。我们可以一次写入整个信息,或者可以分多次写入。在每次写入后,我们需要使用换行符('\n')将不同的行分隔。 最后,我们使用close()方法关闭文件,以防止数据丢失。这将确保文件中的信息已经被保存。 下面是一个示例代码,演示了如何将信息写入到指定的文件中: ```python filename = "E:\\Python\\homeland.txt" information = "袅袅炊烟\n小小村落\n路上一道辙" # 打开文件,以写入模式写入信息 file = open(filename, 'w') file.write(information) # 关闭文件 file.close() print("已将信息成功写入文件。") ``` 请确保文件路径是正确的,并拥有写入权限。运行代码后,您将在指定的文件中找到写入的信息。 ### 回答3: 要将以下信息写入文件 “E:\\Python\\homeland.txt”: 袅袅炊烟,小小村落,路上一道辙。 可以通过以下步骤来实现: 1. 打开文件:使用Python的open函数,传入文件路径 "E:\\Python\\homeland.txt" 和打开模式 "w" (写入模式)来打开文件。例如:file = open("E:\\Python\\homeland.txt", "w")。 2. 写入信息:使用文件对象的write方法,将要写入的信息作为参数传递给write方法。例如:file.write("袅袅炊烟,小小村落,路上一道辙。")。 3. 关闭文件:使用文件对象的close方法来关闭文件,以确保写入的内容被保存。例如:file.close()。 完成以上步骤后,文件 "E:\\Python\\homeland.txt" 将包含以下信息: 袅袅炊烟,小小村落,路上一道辙。 请注意,文件路径中的反斜杠 "\" 需要用两个反斜杠 "\\" 来表示转义字符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值