国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
在 Ubuntu/Debian 上安裝 Huginn

注意事項

由于文章中包含了很多你可能用到的例子和命令,所以這這份指南會很長。

這份安裝指南是基于 Ubuntu/Debian 創(chuàng)建的,已經(jīng)在上述的系統(tǒng)上完成測試。請閱讀必需的硬件和操作系統(tǒng)來了解所需的軟硬件要求。

這是官方用來指導(dǎo)部署生產(chǎn)環(huán)境下 Huginn 的指南。如果需要在開發(fā)環(huán)境中進(jìn)行安裝或者想了解其他安裝選項,請查看開始。

以下步驟已被證明是有效的,在使用本指南時請務(wù)必謹(jǐn)慎以免有所偏離,并確保你沒有違反任何我們所要求的安裝環(huán)境。舉個例子,很多人運行會出現(xiàn)權(quán)限問題,是因為他們改變了文件夾的位置,或者用其他用戶運行了服務(wù)。

如果你在這份指導(dǎo)上發(fā)現(xiàn)任何 bug 或者錯誤,請?zhí)峤灰粋€ pull request。

如果沒有特別聲明,所有的命令都將運行在超級用戶權(quán)限下。

當(dāng)你在安裝中遇到任何問題的時候,請查看問題解決一章節(jié)。

概述

Huginn的安裝需要以下幾個部分

  1. 軟件包/獨立包
  2. Ruby
  3. 系統(tǒng)用戶
  4. 數(shù)據(jù)庫
  5. Huginn
  6. Nginx

1. 軟件包/獨立包

Debian 沒有默認(rèn)安裝 sudo,要確保你的系統(tǒng)是最新的然后安裝。

1
2
3
4
5
# run as root!
apt-get update -y
apt-get upgrade -y
apt-get install sudo -y

注釋: 在整個安裝過程中,一些文件需要人工修改,如果你對 vim 很熟悉的話,可以將 vim 設(shè)置為命令行下默認(rèn)的編輯器。如果你不熟悉 vim 的話,請?zhí)^這一步,并繼續(xù)使用默認(rèn)的編輯器。

1
2
3
4
# Install vim and set as default editor
sudo apt-get install -y vim
sudo update-alternatives --set editor /usr/bin/vim.basic

引入 node.js 倉庫(Ubuntu 和 Debian Jessie 可以跳過這一步)

1
2
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

安裝需要的包(需要先編譯 Ruby 和本地 Ruby gems 的擴展)

1
2
sudo apt-get install -y runit build-essential git zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config cmake nodejs graphviz

2. Ruby

在 Huginn 的生產(chǎn)版本中,如果使用了像 RVM, rbenv 或者 chruby 這種 Ruby 的版本管理工具,會經(jīng)常導(dǎo)致難以診斷的問題。所以我們不建議用版本管理程序來安裝 Ruby,我們強烈建議各位根據(jù)我們下面的步驟使用系統(tǒng)自帶的 Ruby。

如果有老版本的 Ruby 版本,先移除:

1
2
sudo apt-get remove -y ruby1.8 ruby1.9

下載新的 Ruby 版本并且進(jìn)行編譯:

1
2
3
4
5
6
7
mkdir /tmp/ruby && cd /tmp/ruby
curl -L --progress http://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.bz2 | tar xj
cd ruby-2.3.0
./configure --disable-install-rdoc
make -j`nproc`
sudo make install

用 gem 安裝 bundler 和 foreman:

1
2
sudo gem install rake bundler foreman --no-ri --no-rdoc

4. 數(shù)據(jù)庫

安裝數(shù)據(jù)庫的包

1
2
3
4
5
sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
# Pick a MySQL root password (can be anything), type it and press enter,
# retype the MySQL root password and press enter

檢查安裝的 MySQL 版本(只有當(dāng)版本號大于 5.5.3 才能讓.env配置文件正常運行)

1
2
mysql --version

保證安裝安全

1
2
sudo mysql_secure_installation

登陸 MySQL

1
2
3
4
mysql -u root -p
# password輸入MySQL的root密碼

創(chuàng)建一個 Huginn 的用戶,不要先鍵入 mysql>,這部分是要先做的。之后,選擇一個真正的密碼,并在命令行中替換 $password

1
2
mysql> CREATE USER 'huginn'@'localhost' IDENTIFIED BY '$password';

確保你可以使用 InnoDB 引擎,它可以保證一個長索引。

1
2
3
4
5
mysql> SET storage_engine=INNODB;
# 如果這一步失敗,檢查你MySQL的config文件 (e.g. `/etc/mysql/*.cnf`, `/etc/mysql/conf.d/*`)
# 查看innodb的設(shè)置 "innodb = off"

保證 Huginn 用戶可以允許訪問數(shù)據(jù)庫

1
2
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES ON `huginn_production`.* TO 'huginn'@'localhost';

退出數(shù)據(jù)庫

1
2
mysql> \q

嘗試用新用戶連接新的數(shù)據(jù)庫

1
2
3
4
5
sudo -u huginn -H mysql -u huginn -p -D huginn_production
# Type the password you replaced $password with earlier
# 輸入你之前選擇的真實密碼來代替 $password

你現(xiàn)在應(yīng)該看到 ERROR 1049 (42000): Unknown database 'huginn_production',這說明我們操作是正確的。因為我們將會一會再創(chuàng)建數(shù)據(jù)庫。

現(xiàn)在完成了數(shù)據(jù)庫部分的安裝,你可以繼續(xù)剩下部分的安裝。

6. Huginn

從源處克隆

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 我們將安裝 Huginn 在我們的 home 文件下的 “huginn” 用戶文件夾
cd /home/huginn
# 從 Huginn 的倉庫克隆
sudo -u huginn -H git clone https://github.com/cantino/huginn.git -b master huginn
# 去 Huginn 的安裝目錄
cd /home/huginn/huginn
# 拷貝 Huginn 的默認(rèn)配置
sudo -u huginn -H cp .env.example .env
# 在目錄下創(chuàng)建 log/, tmp/pids/ and tmp/sockets/ directories
sudo -u huginn mkdir -p log tmp/pids tmp/sockets
# 確保 Huginn 可以向 log/ 和 tmp/文件夾中寫入數(shù)據(jù)
sudo chown -R huginn log/ tmp/
sudo chmod -R u+rwX,go-w log/ tmp/
# 確保權(quán)限設(shè)置正確
sudo chmod -R u+rwX,go-w log/
sudo chmod -R u+rwX tmp/
sudo -u huginn -H chmod o-rwx .env
# 拷貝 Unicorn 的默認(rèn)配置文件
sudo -u huginn -H cp config/unicorn.rb.example config/unicorn.rb

配置

1
2
3
# 更新 Huginn 的配置文件,然后按照下面的說明繼續(xù)做
sudo -u huginn -H editor .env

如果你使用本地的數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫的配置文件看起來會是這樣(使用你先前設(shè)置的 huginn 的 MySQL 用戶密碼):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
DATABASE_ADAPTER=mysql2
DATABASE_RECONNECT=true
DATABASE_NAME=huginn_production
DATABASE_POOL=20
DATABASE_USERNAME=huginn
DATABASE_PASSWORD='$password'
#DATABASE_HOST=your-domain-here.com
#DATABASE_PORT=3306
#DATABASE_SOCKET=/tmp/mysql.sock
DATABASE_ENCODING=utf8
# MySQL only: If you are running a MySQL server >=5.5.3, you should
# set DATABASE_ENCODING to utf8mb4 instead of utf8 so that the
# database can hold 4-byte UTF-8 characters like emoji.
#DATABASE_ENCODING=utf8mb4

注意: 注釋了 RAILS_ENV 設(shè)置以確保實在生產(chǎn)環(huán)境中運行的 Huginn

1
2
RAILS_ENV=production

如果有需要的話,改變 Unicorn 的配置文件,在requirements.md中有一部分是專門解釋并且建議合適的 unicorn 數(shù)量。

1
2
3
4
5
# 如果你有很高的實例需要運行,那么就增加 workers 的數(shù)量
# 如果你的服務(wù)器至少有 2 GB 的內(nèi)存,那么對大部分用戶來說,2 個足夠多了
# 減少 worker 數(shù)量到 1
sudo -u huginn -H editor config/unicorn.rb

注意: 保證你修改了 .envunicorn.rb 來確保程序正常運行

注意: 我們建議使用 HTTPS,如果有需要的話,請訪問 使用 HTTPS 查看附加的步驟。

注釋: 為了保證你的修改被保存,每次完成初始安裝的時候,都要重新導(dǎo)入開始的腳本文件到 .env, unicorn.rbProcfile!(詳情見 Install Init Script)

安裝Gems

注釋: 在bundler 1.5.2 版本,你可以使用 bundle install -jN (N 是進(jìn)程數(shù)量)喚起多個進(jìn)程來進(jìn)行安裝,還可以在一個可測量的差別時間內(nèi)安裝多個gem(快 60%)。用 nproc 檢查你的處理器數(shù)量。更多信息請看 post。首先要確定你的 bundler >= 1.5.2 (運行 bundle -v),有很多 issues 已經(jīng)在1.5.2版本修復(fù)。

1
2
sudo -u huginn -H bundle install --deployment --without development test

初始化數(shù)據(jù)庫

1
2
3
4
5
6
7
8
9
# 創(chuàng)建數(shù)據(jù)庫
sudo -u huginn -H bundle exec rake db:create RAILS_ENV=production
# 遷移到最新的版本
sudo -u huginn -H bundle exec rake db:migrate RAILS_ENV=production
# 創(chuàng)建管理員用戶和示例 agent,并用默認(rèn)的 admin/password 登陸
sudo -u huginn -H bundle exec rake db:seed RAILS_ENV=production SEED_USERNAME=admin SEED_PASSWORD=password

當(dāng)完成的時候查看 See the Huginn Wiki for more Agent examples! https://github.com/cantino/huginn/wiki

注釋: 這將會創(chuàng)建初始用戶,你可以通過設(shè)置環(huán)境變量中的 SEED_USERNAMESEED_PASSWORD 來改變你的用戶名和密碼。如果你不想改變密碼(將會設(shè)置為默認(rèn)密碼),請等待全部安裝完畢上線到互聯(lián)網(wǎng)之后,你可以登陸到服務(wù)器上來改變你的密碼。

編輯資源文件

1
2
sudo -u huginn -H bundle exec rake assets:precompile RAILS_ENV=production

安裝初始腳本

Huginn 使用 foreman ,它會根據(jù) Procfile 來遷移初始化腳本

修改 Procfile,并選擇一個我們建議的修改方案來適應(yīng)生產(chǎn)環(huán)境。

1
2
sudo -u huginn -H editor Procfile

注釋這兩行

1
2
3
web: bundle exec rails server -p ${PORT-3000} -b ${IP-0.0.0.0}
jobs: bundle exec rails runner bin/threaded.rb

使用這兩行這些 (即移除注釋)

1
2
3
# web: bundle exec unicorn -c config/unicorn.rb
# jobs: bundle exec rails runner bin/threaded.rb

引入初始化腳本:

1
2
sudo bundle exec rake production:export

注釋: 當(dāng)你每次修改 .env 或者 Procfile 的時候,一定要重新導(dǎo)入初始化腳本。

建立 Logrotate

1
2
sudo cp deployment/logrotate/huginn /etc/logrotate.d/huginn

確保你的Huginn實例正在運行

1
2
sudo bundle exec rake production:status

7. Nginx

注釋: Nginx 是一個官方建議給 Huginn 使用的服務(wù)器。如果你不想使用 Nginx 作為你的服務(wù)器,你可以移步到 wiki 查看 apache 的使用

安裝

1
2
sudo apt-get install -y nginx

網(wǎng)頁設(shè)置

拷貝示例的網(wǎng)頁設(shè)置:

1
2
3
sudo cp deployment/nginx/huginn /etc/nginx/sites-available/huginn
sudo ln -s /etc/nginx/sites-available/huginn /etc/nginx/sites-enabled/huginn

確保你修改了配置文件來保證你的建立,如果你運行了多個 nginx 網(wǎng)頁,那么要 listen 指令中移出 default_server 參數(shù)。

1
2
3
4
# Change YOUR_SERVER_FQDN to the fully-qualified
# domain name of your host serving Huginn.
sudo editor /etc/nginx/sites-available/huginn

如果 nginx 只運行了一個 huginn 服務(wù),那么刪除默認(rèn)的 nginx 初始網(wǎng)頁:

1
2
sudo rm /etc/nginx/sites-enabled/default

注釋: 如果你想使用我們建議的 HTTPS,用 huginn-ssl 代替 Nginx 配置文件中的 huginn。在 使用 HTTPS 查看更多細(xì)節(jié)。

測試配置文件

使用下面的命令測試你的 Nginx 配置文件是否正確:

1
2
sudo nginx -t

你應(yīng)該看到 syntax is okaytest is successful。如果你看到錯誤信息,那么檢查你 Nginx 配置文件中的huginnhuginn-ssl 的排印錯誤等,根據(jù)錯誤信息來排查錯誤。

重啟

1
2
sudo service nginx restart

完成

第一次登陸

在瀏覽器中登陸你的服務(wù)器地址,進(jìn)行第一次 Huginn 的登陸。Huginn 已經(jīng)建立好了一個默認(rèn)的賬號給你,你可以使用下面的來登陸:

1
2
3
admin (or your SEED_USERNAME)
password (or your SEED_PASSWORD)

享受吧! :sparkles: :star: :fireworks:

你可以使用 cd /home/huginn/huginn && sudo bundle exec rake production:start and cd /home/huginn/huginn && sudo bundle exec rake production:stop來開始或者停止你的 Huginn 服務(wù)。

確保你已經(jīng)閱讀了在完成 Huginn 安裝后怎么去更新它!你還可以用 Capistrano 來保證你的安裝始終是最新版本的。

一些進(jìn)階的設(shè)置

使用HTTPS

在 Huginn 上使用 HTTPS。

  1. 在 .enb
    1. 設(shè)置 FORCE_SSLtrue。
  2. 使用 huginn-ssl 代替 huginn 配置:
    1. sudo cp deployment/nginx/huginn-ssl /etc/nginx/sites-available/huginn
    2. 更新 YOUR_SERVER_FQDN
    3. 更新 ssl_certificatessl_certificate_key.
    4. 查看配置文件,考慮應(yīng)用其他安全和性能提高的特性

重啟 Nginx,導(dǎo)入初始化的腳本,然后重新啟動 Huginn:

1
2
3
4
cd /home/huginn/huginn
sudo service nginx restart
sudo bundle exec rake production:export

不鼓勵使用自簽名的證書,如果使用的話,你必須按照正確順序的步驟,之后生成證書。

1
2
3
4
5
sudo mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/
sudo openssl req -newkey rsa:2048 -x509 -nodes -days 3560 -out huginn.crt -keyout huginn.key
sudo chmod o-r huginn.key

故障排查

如果在安裝過程中遇到了問題,請確保你是按照正確的順序安裝,沒有錯過其中的任何一步。

當(dāng)你的 Huginn 實例沒有運行,運行下面的腳本來進(jìn)行檢查。

1
2
3
cd /home/huginn/huginn
sudo bundle exec rake production:check

如果還有其他的問題,我們很遺憾的告訴你需要查看各種日志文件來確定錯誤信息。

Nginx 錯誤日志 /var/log/nginx/huginn_error.log

這個文件應(yīng)該是空的,但是是第一個你需要檢查的地方。因為 nginx 是第一個處理發(fā)送到 Huginn 請求的應(yīng)用。

通常的問題:

  • connect() to unix:/home/huginn/huginn/tmp/sockets/unicorn.socket failed:這個是 Unicorn 應(yīng)用的服務(wù)沒有運行,確保你注釋了 Profile 文件中,位于 PRODUCTION 下面的兩個示例配置文件中的一個。同時你的 unicorn 的配置文件要存在。
  • 138 open() "/home/huginn/huginn/public/..." failed (13: Permission denied): nginx 用戶(默認(rèn)是www-data)需要能讀取 /home/huginn/huginn/public 目錄

Unicorn 日志 /home/huginn/huginn/log/unicorn.log

這里應(yīng)該包含了 HTTP 請求的入口,類似于:10.0.2.2 - - [18/Aug/2015:21:15:12 +0000] "GET / HTTP/1.0" 200 - 0.0110

如果你發(fā)現(xiàn)了 ruby 的回溯信息,或者以下的其他錯誤信息:

  • /home/huginn/huginn/config/unicorn.rb 的配置文件不存在
  • Gem 的組件沒有安裝

Rails 應(yīng)用的日志 /home/huginn/huginn/log/production.log

這個文件非常的冗長,如果在你使用 Huginn 的時候出現(xiàn) We're sorry, but something went wrong. ,這是一個典型的示例回溯信息,可以幫助你或者 Huginn 的開發(fā)者定位問題。

NoMethodError (undefined method name' for nil:NilClass):
app/controllers/jobs_controller.rb:6:in
index'
config/initializers/silence_worker_status_logger.rb:5:in `call_with_silence_worker_status'

Runit/后臺進(jìn)程日志 /home/huginn/huginn/log/*/current

如果你的某一個 agent 沒有正確的運行,這些文件會包含錯誤信息或者其他回溯信息。最簡單的調(diào)試 agent 的方式就是看你的日志文件,當(dāng)你在 Huginn 的網(wǎng)頁上改變或者觸發(fā) agent 的時候,都會產(chǎn)生這些日志文件。

這些日志文件的位置取決于你的 Procfile 文件,這些命令會給你可用的日志文件列表:

ls -al /home/huginn/huginn/log/*/current

當(dāng)你想要觀察后臺進(jìn)程的時候,你可以輕松的查看所有改變的文件:

tail -f /home/huginn/huginn/log/*/current

還有問題?

你可能發(fā)現(xiàn)其他你無法解決的錯誤信息或者意外的回溯信息。請新建一個新的包含足夠的信息的 issue ,這樣你可以獲得這個問題的解決辦法。

本文由 Huginn 中文網(wǎng) 翻譯,已經(jīng)獲得項目作者授權(quán),原文請訪問 Installation from source

我的博客即將同步至騰訊云+社區(qū),邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=9bmt0ib957kd

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Huginn及環(huán)境搭建
ubuntu安裝gitlab
手把手教你構(gòu)建8個GPU的破密碼機
用GitLab搭建私有GitHub
懶惰的程序員: gitorious
gitlabhq/doc/install/installation.md at 5
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服