自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

只需10分鐘 在云中打造一個免費的Gemstone服務(wù)器

原創(chuàng)
云計算
要在Gemstone中運行一個Seaside應(yīng)用程序,一個微型的實例已經(jīng)足夠了嗎?答案是:YES。實際上,我已經(jīng)試著創(chuàng)建了一個已經(jīng)配置好的Gemstone EC2 Linux AMI (Amazon Machine Image)。在本文中,我將會為您講述如何使用這個已經(jīng)配置好的映像把Seaside應(yīng)用程序快速而免費地部署到EC2(Elastic Compute Cloud)上。

Amazon提供的一個免費一年的微型實例產(chǎn)品,引起了我的注意:

為了幫助AWS(Amazon Web Services)的新客戶在云中入門,AWS引入了一個全新的,可以免費使用的等級。11月1日開始,新的AWS客戶可以免費使用Amazon EC2 Micro Instance一年......

但是,要在Gemstone中運行一個Seaside應(yīng)用程序,一個微型的實例已經(jīng)足夠了嗎?答案是:YES。實際上,我已經(jīng)試著創(chuàng)建了一個已經(jīng)配置好的Gemstone EC2 Linux AMI (Amazon Machine Image)。在本文中,我將會為您講述如何使用這個已經(jīng)配置好的映像把Seaside應(yīng)用程序快速而免費地部署到EC2(Elastic Compute Cloud)上。

(關(guān)于Gemstone EC2 Linux AMI的創(chuàng)建過程,可以參考這篇博文:http://www.nickager.com/nasite/blog/Installing-Gemstone-on-an-Amazon-EC2-Linux-instance)

注意:這些說明都是基于從一個MacOS客戶端連接到一個Amazon EC2實例的;對于其他Unix客戶端來說,這些說明也同樣適用。對于一個Windows客戶端來說,你可能需要下載:

PuTTY

Cygwin

并相應(yīng)地修改這些說明。

創(chuàng)建一個EC2實例

首先到http://aws.amazon.com注冊。登陸以后你就可以導(dǎo)航到下面這個界面了:

*在“Region”組合框上下拉,選擇離你最近的區(qū)域。

*點擊“Launch Instance”按鈕來打開Request Instance Wizard

選擇“Community AMI”標(biāo)簽,然后在搜索框中輸入“ami-7f9bae0b”,這是已經(jīng)配置好的Gemstone/Seaside實例的AMI(Amazon Machine Image) ID。在以前的一篇博文中,我已經(jīng)記錄下這個映像的配置過程了,關(guān)于這篇博文,可以參考本文前面給出的鏈接。

注意:在記錄下這個截屏以后,我才認(rèn)識到,“ami-7f9bae0b”只能用于“EU-WEST”區(qū)域,Amazon沒有直接把它拷貝到其他區(qū)域。在接下來的幾天里,我會試著讓它可以在“US”區(qū)域中使用的,在此之前,只有把你的區(qū)域設(shè)置成“EU-WEST”,你才可以找到這個AMI。

如果你想使用Amazon提供的這個免費產(chǎn)品,可以選擇“Micro”。Amazon對微型實例的描述如下:

這個系列的實例可以持續(xù)不斷地給你提供少量的CPU資源,當(dāng)其他周期可用的時候,你也可以增加CPU資源。它們比較適合那些低吞吐量的應(yīng)用程序,以及那些周期性地消耗掉計算周期的Web站點。

接下來,我們給這個EC2實例輸入一個RSA公鑰,讓它支持SSH訪問。密鑰是使用“ssh-keygen”命令生成的:

 $ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/nickager/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/nickager/.ssh/id_rsa.
Your public key has been saved in /Users/nickager/.ssh/id_rsa.pub.

然后,使用“~/.ssh/id_rsa.pub”命令提取出你的公鑰,用下面這種格式,把它輸入到到這個實例的“User Data”域中

 #cloud-config
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1y........
disable_ec2_metadata: true

格式:CloudInit(syntax)

不需要輸入任何鍵/值對

因為我們在上面那個步驟中,已經(jīng)把一個SSH密鑰輸入到“User Data”域中了,所以,無需再指定一個密鑰對了:

對防火墻進(jìn)行配置,打開22端口(SSH)和80端口(HTTP):

最后,點擊“Launch”按鈕,等待這個實例啟動:

如果這個實例啟動了,把這個實例的URL(Public DNS)拷貝下來:

把你的瀏覽器指向你的服務(wù)器的公用的DNS地址(例如:http://ec2-46-51-165-46.eu-west-1.compute.amazonaws.com),然后,你應(yīng)該可以看到熟悉的Seaside歡迎屏:

恭喜你!你已經(jīng)讓屬于你自己的,免費的Seaside服務(wù)器運行在Amazon EC2中了。

#p#

關(guān)于配置

你應(yīng)該已經(jīng)發(fā)現(xiàn)這個問題了,雖然計數(shù)器,任務(wù)和“create a component”樣例都和預(yù)期的一樣,在正常地運作,但是“/browse”命令, “/config”命令和指向JQuery樣例的鏈接卻返回403錯誤(unauthorised)和404錯誤(not found)。此外,底部的Seaside工具欄也消失了。這樣設(shè)計主要是為了讓這個環(huán)境更加安全——你的實例現(xiàn)在依賴于互聯(lián)網(wǎng)了。下面幾個小節(jié)將會為您講述如何把你自己的代碼載入到你的遠(yuǎn)程實例中,以及如何訪問“/config”。

不止是一個歡迎屏,通過“/pier”命令,你還可以使用默認(rèn)安裝的Pier(關(guān)于Pier,具體可以參考:http://www.piercms.com/)。Pier是一個構(gòu)建在Seaside之上的,強(qiáng)大而靈活的內(nèi)容管理系統(tǒng),因為它支持Blog,所以它是這種站點的理想選擇。

訪問“/config”命令

使用上面提到的那個公用的DNS地址,使用用戶“seasideuser”ssh到新創(chuàng)建的實例:

 ssh -L 8888:127.0.0.1:80 seasideuser@ec2-46-51-165-46.eu-west-1.compute.amazonaws.com

你應(yīng)該會看到一些類似于這樣的東西:

 $ ssh -L 8888:127.0.0.1:80 seasideuser@ec2-46-51-165-46.eu-west-1.compute.amazonaws.com
The authenticity of host 'ec2-46-51-165-46.eu-west-1.compute.amazonaws.com (79.125.98.212)' can't be established.
RSA key fingerprint is de:96:12:b7:d0:9e:63:69:37:5a:4b:08:20:68:45:b6.
Are you sure you want to continue connecting (yes/no)?yes
Warning: Permanently added 'ec2-46-51-165-46.eu-west-1.compute.amazonaws.com,79.125.74.150' (RSA) to the list of known hosts.
Last login: Wed Dec 29 18:25:11 2010 from 93-96-148-251.zone4.bethere.co.uk


__| __|_ ) Amazon Linux AMI
_| ( / Beta
___|___|\___|

See /etc/image-release-notes for latest release notes. :-)
[seasideuser@ip-10-234-159-73 ~]$

現(xiàn)在,你應(yīng)該可以瀏覽“http://localhost:8888/config”,訪問相應(yīng)的配置了。參數(shù)“-L 8888:127.0.0.1:80”表示服務(wù)端的localhost上的數(shù)據(jù)應(yīng)該傳送到客戶端的localhost:8888上,同時,Web服務(wù)器會被配置成只能通過localhost來訪問“/config”命令。

還有一個日志界面,也被配置成只能通過localhost來訪問;瀏覽/tools/objectlog(用戶名: admin, 密碼: tool)可以訪問這個界面。

#p#

把你自己的代碼載入到你的Gemstone實例中

如果你已經(jīng)登錄到你的遠(yuǎn)程實例了,那么先“exit”這個實例,然后用下面的命令行ssh回來:

 $ ssh -X -C seasideuser@ec2-46-51-165-46.eu-west-1.compute.amazonaws.com

這應(yīng)該會產(chǎn)生一些類似于這樣的東西:

 $ ssh -X -C seasideuser@ec2-46-51-165-46.eu-west-1.compute.amazonaws.com
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.

__| __|_ ) Amazon Linux AMI
_| ( / Beta
___|___|\___|

See /etc/image-release-notes for latest release notes. :-)
[seasideuser@ip-10-234-159-73 ~]$

“-x”參數(shù)支持X11傳送,“-C”壓縮。這可以讓你在你的遠(yuǎn)程實例上打開GemTools,但是那個窗口會傳送(X11)到你本地計算機(jī)的顯示屏上。

GemTools是一個Pharo環(huán)境,它可以讓你連接到Gemstone,載入和修改代碼,以及通過一個GUI環(huán)境來執(zhí)行一些管理操作(例如啟動和關(guān)閉服務(wù)器,備份和恢復(fù)數(shù)據(jù)庫等等)。

啟動Gemtools:

 $ ~/gemtools.sh

然后,按“Login”按鈕連接到運行在你的實例中的Gemstone服務(wù)器:

你現(xiàn)在應(yīng)該已經(jīng)登錄到你的Gemstone服務(wù)器了:

現(xiàn)在,你可以使用Monticello把你的代碼載入到你的遠(yuǎn)程實例中。點擊“Tools”按鈕,然后選擇“Monticello”。添加包含你的代碼的代碼庫,然后正常載入。你還可以使用Metacello 和 Gofer來載入代碼。

使用GemTools

雖然當(dāng)GemTools運程運行在你的實例中的時候,在GemTools中,你也可以高效率地完成一些工作,但是,你可能會發(fā)現(xiàn),使用VMWare GLASS virtual appliance,或者把Gemstone安裝到你的本地機(jī)器上,在一個Pharo映像中完成這些工作,效率會更高一些。

如果你是通過一個MacOS客戶端來連接的,那么你可能會發(fā)現(xiàn)映射Ctrl和CMD鍵是很有幫助的,具體可以參考:

《MacOS And X11》

#p#

有待改進(jìn)

1,我尚未配置任何監(jiān)控軟件

2,如果他們崩潰了,沒有辦法重新啟動Gems

3,沒有提供數(shù)據(jù)庫備份機(jī)制。

4,我還沒有配置郵件服務(wù)器。

《Glass Daemon Tools》這篇文檔詳細(xì)地講述實現(xiàn)其中一些改進(jìn)的方法。

為了改進(jìn)你自己的配置,你可以使用這個配置作為基礎(chǔ),然后,在社區(qū)中分享你自己的配置。創(chuàng)建和分享一個經(jīng)過修改的配置都是十分簡單的。

讓你的實例更加安全

有很多種方法可以讓你的實例更加安全,這是其中的三種方法(注意:這并不是一個完整的列表):

1,讓你的系統(tǒng)軟件處于最新狀態(tài)

2,要求提供一個sudo密碼

3,改變SSH的端口

1,讓你的系統(tǒng)軟件處于最新狀態(tài)

定期地運行:

 sudo yum update

2,要求提供一個sudo密碼

首先,你必須為seasideuser設(shè)置一個密碼:

 $ passwd
Changing password for user seasideuser.
New password:

然后編輯/etc/sudoers:

 sudo vim /etc/sudoers

把這一行:

 seasideuser ALL = NOPASSWD: ALL

改成:

 seasideuser ALL = (ALL) ALL

現(xiàn)在,當(dāng)你執(zhí)行使用sudo的命令的時候,你必須要提供一個密碼。

3,改變SSH的端口

默認(rèn)的SSH端口是22端口,許多人都會攻擊這個端口。這就是說,ssh到這個實例的唯一方法是使用RSA密鑰。此外,root訪問也應(yīng)該禁用(這是一種常見的攻擊方法)。但是,如果你想更謹(jǐn)慎一些,你可以改變SSH的端口(但是,我懷疑這種方法提供的保護(hù)對確定性的攻擊是無效的)。

首先,你應(yīng)該在你的防火墻上打開新的端口。從“Amazon AWS EC2”標(biāo)簽中選擇“Security Groups”,然后選擇和你的實例相關(guān)的安全組。添加新的端口。

接下來編輯/etc/ssh/sshd_config

 sudo vim /etc/ssh/sshd_config

然后把這一行:

 Port 22

改成你的新端口,比如說20001:

 Port 20001

重新啟動ssh daemon:

 sudo /etc/init.d/sshd restart

接下來“exit”你的實例,然后使用你的新端口來登錄:

 ssh -p 20001 seasideuser@ec2-46-51-165-46.eu-west-1.compute.amazonaws.com

最后,你可以重新編輯你的防火墻,移除對22端口的訪問。

補(bǔ)充資料

這個實例的配置已經(jīng)記錄到以前的一篇博文中了:

《Installing Gemstone on an Amazon EC2 Linux instance》:Installing Gemstone on an Amazon EC2 Linux instance

此外,還有很多和Gemstone有關(guān)的優(yōu)秀資料:

* Glass wiki

* Gemstone manuals

* James Foster's blog

* Dale Henrick's blog

GLASS郵件列表也有很大的參考價值。

原文名:Create a free Gemstone server in the cloud in 10 minutes  作者:Nick Ager 

【編輯推薦】

  1. IBM啟動"云引擎" 5分鐘搞定一個IaaS云
  2. 技巧經(jīng)驗:搭建私有云要做哪些準(zhǔn)備?
  3. 云計算背后的秘密(7)-YunTable的故事

 

 

責(zé)任編輯:王勇 來源: 來源:51CTO
相關(guān)推薦

2021-07-29 23:29:55

web服務(wù)器開發(fā)

2018-12-12 08:40:11

服務(wù)器TomcatJava

2012-02-22 15:55:48

JavaPlay Framew

2018-08-30 09:01:28

Web服務(wù)器Windows 10

2023-10-11 12:45:49

Windows系統(tǒng)

2013-11-04 11:02:57

2013-11-29 13:55:37

2009-11-26 11:19:52

NIS服務(wù)器

2022-08-29 15:02:53

遠(yuǎn)程桌面

2022-01-17 09:01:23

NodeJS數(shù)據(jù)服務(wù)器Mock

2022-06-02 08:46:04

網(wǎng)卡網(wǎng)絡(luò)服務(wù)器

2016-01-06 11:36:06

云架構(gòu)服務(wù)器擴(kuò)展

2020-08-23 10:45:05

深度學(xué)習(xí)人工智能技術(shù)

2009-07-09 17:43:30

Chrome OS截圖Chrome操作系統(tǒng)截Chrome

2018-02-01 09:59:52

服務(wù)器監(jiān)控工具

2021-08-09 10:36:49

Python搜索引擎命令

2009-04-02 10:26:00

2017-05-24 12:30:34

2015-09-18 19:38:01

BlackHatSQLChop

2019-07-24 15:29:55

JavaScript開發(fā) 技巧
點贊
收藏

51CTO技術(shù)棧公眾號