找回密码
 新注册用户
搜索
查看: 9903|回复: 10

[原创] 命令行ubuntu下为内网主机安装代理运算BOINC

[复制链接]
发表于 2014-10-16 22:55:49 | 显示全部楼层 |阅读模式
本帖最后由 tcogh327 于 2015-8-8 23:51 编辑

作为一个小白,帮助其他小白:)

阿里云主机的内网主机相对能上外网的主机更便宜,用来跑分布式更合适,但需要通过一台外网主机来代理上网。经过本人N天的摸索和N次失败,现在已搞定如何在阿里云的内网主机上运算BOINC的攻略如下(经本人亲测可用):

在阿里云的同一地区有两台云主机(比如都在深圳或杭州),一台有外网IP和内网IP(外网主机),一台只有内网IP(内网主机),操作系统都是:ubuntu 14.04.1  32位系统(64位需要更大的内存,更贵,而且64位系统下,安装BOINC之前需要设置sudo apt-get install ia32-libs libstdc++6 freeglut3,才能避免某些BOINC的32位运算程序出错

外网主机的内网IP是10.100.0.1,准备把8080设置为代理服务器端口(好像设置成别的端口也可以),内网主机的内网IP是10.100.0.2
第一步,先在外网主机上安装代理服务器,我使用的是免费软件privoxy,这样就可以不受CCPROXY只允许3个客户的限制了。
1.windows操作系统:
下载(网址:www.privoxy.org)并安装win32版本的privoxy,在程序主窗口选择options--edit main configuration
  开始修改配置(内容详见下面的ubuntu操作系统下的设置),保存退出编辑,退出重新启动privoxy即可。
2.ubuntu操作系统:
安装
sudo apt-get install privoxy
配置
sudo vi /etc/privoxy/config
找到并修改(激活修改模式就是按键盘上的INSERT键):
listen-address 10.100.0.1:8080       (有这一句配置就可以上网了,大概在700多行的地方)
然后可以设置只允许哪个内网IP上网 (我的外网主机的互联网带宽有限,要限制只允许我的内网主机代理,当然也可以不做限制),大概在1000多行的位置,慢慢找。
取消掉这一句的注释符号“#”,并修改成:permit-access  10.100.0.2/26            (我内网主机的内网IP,这里的“/26”也可以改为“/24”,我试了两种都可以)如果有多台内网主机需要代理,按这个格式在下面依次列明,一行一台。
permit-access  10.100.0.2/26
permit-access  10.100.0.3/26
……
然后ESC,再:wq!保存退出
启动服务
sudo /etc/init.d/privoxy start
这样,代理服务器就设置好了,地址是10.100.0.1,端口是8080

第二步,开始配置内网主机的代理设置。
登陆内网主机
1.设置环境变量:
vi ~/.bashrc
光标拉倒最后,添加(激活修改模式就是按键盘上的INSERT键)
export http_proxy=http://10.100.0.1:8080
然后保存退出(先按ESC,然后输入:wq!并回车)重启内网主机。

2.试试能否联外网
wget http://www.worldcommunitygrid.org/
(这里以WCG为例)
测试联网成功,继续下面的BOINC安装步骤(如果是可以直接访问外网的主机,直接参考下面的步奏即可安装运行BOINC,当然不需要配置代理环境那一步)

3.安装boinc
先联网更新一下软件源列表(这样可以下载到比较新版本的BOINC):
sudo apt-get update
再安装BOINC:
sudo apt-get install boinc-client

4.配置代理环境
sudo nano /etc/boinc-client/cc_config.xml
打开配置文件cc_config.xml以后代码修改如下:
<cc_config>
   <log_flags>
      ……
   </log_flags>
   <options>
      <proxy_info>
           <http_server_name>10.100.0.1</http_server_name>
          <http_server_port>8080</http_server_port>
      </proxy_info>
   </options>
</cc_config>
然后CTRL+X,再选择YES确认保存退出

5.登陆用户名
boinccmd --project_attach http://www.worldcommunitygrid.org/ dd8f*****
这里以WCG为例,网址后面的一串字符是用户的账户密钥(YOUR_ACCOUNT_KEY),注意空格。
账户密钥可以在你的WCG的My Profile页面的下方找到:
https://secure.worldcommunitygrid.org/ms/viewMyProfile.do

6.提交更新(UPDATE)
boinccmd --project http://www.worldcommunitygrid.org/ update
然后等一会儿,检查任务管理器
top
会看到BOINC已经正常运行(CPU占用几乎100%)退出任务管理器
q

OK,大功告成~!






评分

参与人数 2基本分 +130 收起 理由
wpf999 + 100 技术贴,加分
vmzy + 30 原创+技术贴,加分鼓励

查看全部评分

回复

使用道具 举报

发表于 2014-10-17 22:44:37 | 显示全部楼层
我有台CentOS的服务器,配置了2天,没搞定,总是缺这个缺哪个。。。最后make了好几个Lib。。。算了,对Linux还是敬而远之
回复

使用道具 举报

 楼主| 发表于 2014-10-18 00:09:06 来自手机 | 显示全部楼层
我折腾了一个多星期
回复

使用道具 举报

 楼主| 发表于 2014-10-18 18:00:16 | 显示全部楼层
在ubuntu下通过boinccmd --get_state可以查询当前主机的RAC等信息,问题来了,WINDOWS下怎么查询BOINC的当前主机RAC,而不是项目的RAC
回复

使用道具 举报

发表于 2014-10-22 21:48:25 | 显示全部楼层
本帖最后由 2_958_859_071 于 2014-10-22 21:52 编辑
砜 发表于 2014-10-17 22:44
我有台CentOS的服务器,配置了2天,没搞定,总是缺这个缺哪个。。。最后make了好几个Lib。。。算了,对Linu ...

你还是换 Ubuntu / Debian 吧,
内存1G或以上还可以换成 Windows,
反正不加钱。

不仅是阿里,其他主机商的 CentOS 装 BOINC 也很麻烦。
而 Ubuntu 或 Debian 比较轻松。


之前试过 Ubuntu / Debian,首先要“更新”:
sudo apt-get update
sudo apt-get updatedb

(细节记不清了,要用的时候再查。)

然后就可以直接安装BOINC了。
sudo apt-get install boinc-client

后续工作详见官方攻略:
http://boinc.berkeley.edu/wiki/Installing_BOINC_on_Ubuntu
http://boinc.berkeley.edu/wiki/Installing_on_Linux

而 CentOS 要先下载压缩包,解压,再想办法打开。
有的甚至还要“后台运行”,需要去查 "nohup" 怎么用。
那时候网上搜了一大堆资料,才知道如何运行BOINC.


有些主机商不提供 Ubuntu / Debian,那只能用 CentOS 了。
否则还是优先选择 Ubuntu / Debian .
回复

使用道具 举报

发表于 2014-10-22 22:04:39 | 显示全部楼层
2_958_859_071 发表于 2014-10-22 21:48
你还是换 Ubuntu / Debian 吧,
内存1G或以上还可以换成 Windows,
反正不加钱。

不是 云主机,是公司的实体主机。。。。。数据库服务器。。。。所以不敢改系统,要移植的东西太多了
回复

使用道具 举报

发表于 2014-10-25 21:36:00 | 显示全部楼层
砜 发表于 2014-10-22 22:04
不是 云主机,是公司的实体主机。。。。。数据库服务器。。。。所以不敢改系统,要移植的东西太多了
...

不建议用数据库服务器跑程序,特别是没有数据备份的服务器。
回复

使用道具 举报

发表于 2014-12-1 22:31:15 | 显示全部楼层
本帖最后由 2_958_859_071 于 2014-12-1 22:52 编辑

按你方法做了,内网在 wget 那步就被卡住了。
显示“connection refused

boinc-client 反而可以下载,项目都添上去了。
只是内网的 boinc-client 和“空壳”一样,没有任何用户信息,当然跑不了。
(不跑WCG,别想多了。)

没力气去试了……
明天再查查看。

温馨提示:
阿里云总是在 00:00 到期。
比如12月1日买,1月2日 00:00 到期。
想尝试的话,注意一下购买时间。



回复

使用道具 举报

发表于 2014-12-3 08:05:58 | 显示全部楼层
本帖最后由 2_958_859_071 于 2014-12-3 16:10 编辑

突然发现外网主机端口是 22
(我用 xshell 登录。)

把内网端口改成22,再重启内网主机,居然可以 wget 了。
关了,再打开,也可以。

boinc项目全删掉,再重新添加。
还是没有任何“用户信息”,也就是没任务……

26: 03-Dec-2014 16:06:16 (low) [] Using proxy info from cc_config.xml
27: 03-Dec-2014 16:06:16 (low) [] Using HTTP proxy 10.xxx.xxx.xxx:22
28: 03-Dec-2014 16:06:16 (low) [http://wuprop.boinc-af.org/] Fetching scheduler list
30: 03-Dec-2014 16:06:47 (low) [] Project communication failed: attempting access to reference site
31: 03-Dec-2014 16:06:49 (user notification) [] BOINC can't access Internet - check network connection or proxy configuration.



回复

使用道具 举报

发表于 2015-1-7 22:16:51 | 显示全部楼层
本帖最后由 2_958_859_071 于 2015-1-7 22:19 编辑

在这里“平反”一下:
LZ的方法没有问题,端口还是 8080
而是我不小心把“内网IP”输成了“外网IP”。

现在已经是“1拖2”了。
要输入“内网IP”的地方,都检查一下,该重启就重启,已恢复正常。


“初学者”建议先试一个月,“1带1”,成功后再增加。
从而降低风险,减少损失。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~
欢迎大家多多支持基金会~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2024-4-19 13:56

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表