搭建aws伺服器
A. 10分鍾用AWS Lightsail建站
終於決定開始創建自己的個人網站。我在這方面的經驗和知識,幾乎為零。因此。還是主要靠Google和別人的文章做指導。鼓搗了一會兒,成功了,為各位朋友總結一下。也算是我的第一篇 博文 。
目標:建一個非常簡單的,樸素的 個人站點 。最主要的是博客功能。(當然將來能夠加入一些廣告鏈接賺銀子或者被打賞就完美了。)
經過調研(調查和研究)發現,建站不簡賀擾單也不難,主要是:
1. 申請(購買)一個個人域名。
2. 找到一個伺服器,Host你的網站的內容,也就是頁面。
3. 配置伺服器,搭建網站。
前兩步簡單,最後一步水就很深了。我沒經驗,但是我們一步步說到做出風格簡單的博客,大概10分鍾搞定。快的原因主要是通過AWS Lightsail託管一切,並且使用建站神器WordPress的主題模板。
第一步,申請域名。域名,也就是alibaba.com和google.com這樣的東西。目前出來了許多便宜的新後綴。比如說123.me,或者說我用的huangjia.tech( 歡迎訪問 ,目前裡面可能只有一篇文章,但是我會繼續寫)。我在阿里雲萬網買的,打折價199元,用10年。可以購買域名的地方很多,國內有阿里雲,國外有狗爹(GoDaddy)。大家自己搜一下。選個物美價廉的,適合自己業務需要的。買好D的域名如圖,詳細購買過程不表。
第二步,尋找一個地方存放網站。現在基本上沒有人從頭開始自己采購並配置伺服器了,麻煩。網上虛擬伺服器很多,也就是所謂雲伺服器。以前比較流行的也是狗爹,原來我用過,買了域名之後,他會推薦你繼續買cPanel。cPanel是虛擬主機控制系統,虛擬主機也就是放網頁的地方,它的界面我覺得還是會另我這樣的外行眼花繚亂。
通過GoDaddy購買域名然後,用它的虛擬主機通過CPanel來管理網站,在上面裝一個WordPress建站。這個事情我以前是做過的。難度不大不小。狗爹從域名到->cPanel再到->WordPress也算是一站式服務吧,相當於建站的標配。有什麼不明白的,也可以問客服。不過我當時知識量很少,問了客服也不明白,當然客服也不可能叫你怎麼建站,只是負責解釋自己的產品是什麼。我租用的這個cPanel大概幾百美元5年吧。
所以這次我就想換個思路尺攔,有沒有更方便(省錢)的方法。我就想到了阿里雲的ECS雲伺服器,或者是AWS的EC2虛擬主機,能不能自己把WordPress這個超級建站工具直接安裝在雲伺服器上面。
這種雲服務禪困旦器,有好處,便宜,輕量級,而且可以是月租的,安裝咱們這個人網站用量,一個月幾美元或者20,30人民幣的主機足夠了。玩一玩,隨時可以停。不像狗爹上面一次幾百的投入。
我就搜索了一下,關鍵字是AWS和WordPress,發現一篇文章,介紹如何自己在虛擬伺服器上面安裝Apache,php以及 MySQL,然後才是WordPress。大家可以讀一讀這篇不錯的文章: 鏈接在這里 。然而我覺得這種做法對我這種無知的人來說很復雜。
我發現另外一篇文章,可以通過Amazon Lightsail 快速建立WordPress伺服器實例 。閱讀後,我覺得這就是我所想要的方法。原因如下:
1. 忘記cPanel,忘記伺服器,忘記linux,忘記Apache,PHP以及 MySQL。
2. 只要你有域名,直接一步一步跟著程序走,直接進入WordPress環節。
3. 便宜,最便宜的計劃每個月3.5美元,也就是我現在用的。
好,下面開始具體步驟。大概10分鍾後,你就能夠看到上面所示的WordPress。然後一鍵發表自己的網站和博客文章了。
首先,注冊一個AWS賬戶,一年內很多服務免費,順便學AWS。這里略過一百萬字。(這個過程不在所說的10分鍾之內,大概可能需要30分鍾,而且需要信用卡信息)
然後,在AWS控制台中搜索Lightsail,進入配置界面。
選擇創建實例:
選擇伺服器的區域以及映像,可以看到,平台可以是Linux或者Windows,而藍圖方面:除了最常見的建站神器WordPress外,還有許許多多我不知道是什麼的東西。我想他們可以實現各種不同的網路服務功能。
在選擇付費計劃並給實例起名字之後,就創建實例吧。
返回後實例出現了,這時候點擊黃色方框:
此時將連接實例,以SSH(一種加密協議)的方式到虛擬主機中,不用害怕這個黑乎乎的屏幕,我們其實只是需要通過一個命令在這里拿到WordPress的用戶密碼。
下面在黑乎乎的屏幕的命令行中鍵入命令:
cat $HOME/bitnami_application_password
就可以得到上面紅圈圈中顯示的密碼,把它記錄下來。然後回到Lightsail的WordPress實例界面,拿到紅箭頭處所指的IP(注意,你的我的和圖片所示的可都不一樣)。這個是你網站的公有IP地址。
在瀏覽器中,輸入http://192.0.2.0/wp-login.php,就進入WordPress的登錄界面。注意,你的我的和圖片所示的IP可都不一樣,你需要替換。輸入你自己的Lightsail伺服器實例的公有IP後,看到下圖,這說明WordPress已經自動安裝成熟啦。
現在,我們可以發布站點啦。默認用戶名->user,密碼->就是剛才你SSH到虛擬主機中找到的紅圈圈中的東東。
好,現在就有了一個伺服器,也有了網頁設計的環境WorkPress,其它技術細節都可以忘記。開始選擇一個喜歡的主題,這就成為你未來的博客網站的風格。(隨時可以換)
開始寫文章吧。具體的網站設計細節,不表。別問我,我也不知道,但是相信網上的教程多的是,你能做出比我更漂亮的網站。
文章發布之後,你使用當前WordPress實例的公有IP,也就是Lightsail提供的IP地址,訪問你的網站。就看到了你自己的網站和文章。小雞動啊!!!
有的童鞋可能問了,「咦? 你剛才注冊的域名呢,跑哪兒去了。你怎麼沒用啊!」 嗯,這是一個好問題。雖然我們的網站已經發布給全世界了,但是還有兩個問題未解決。
首先,我們的IP地址是動態分配的,隨機分配的。如果我們重啟Amazon Lightsail,我們將丟失這個IP地址,也就是說每次啟動新的虛擬伺服器後,雖然網頁內容還在。但是地址總變。這樣我們今天剛剛自信的傳給小夥伴們一個IP鏈接,讓他們看看我們的大guan作shui,他們明天一看,可能已經失效了。這對我們的形象可是大大不利。——解決的方法是我們需要為自己的網站分配一個「 靜態IP地址 」。
其次,我們在阿里雲的萬網上購買的域名可不知道我們已經在這里建站了。我們需要用一種叫做DNS的服務告訴阿里雲的域名管理部門,每次人家輸入huangjia.tech這個域名,你就把它發到一個(或者一些)特定的IP地址去,從那個IP地址,就能訪問我的博客頁面。這個過程學名叫做「 域名的解析 」。
有些小夥伴頭大了,說:哇,好復雜。其實這兩個步驟都很簡單,而且也不用在額外花錢。下面說一下,我們的任務就完成了。
首先,在Lightsail中給個人網站分配靜態IP地址。選擇聯網->創建靜態IP,按照步驟走,就可以得到一個專屬於你的IP地址。AWS為每個人分配了5個靜態IP,可以免費隨便用。這是資本主義的羊毛,該擼必須擼。不過注意,AWS很多功能只是第一年免費,而且超量就得交錢。我也是經常交學費的。——有了靜態IP,就不怕IP地址換來換去了。
最後,去阿里雲,把這個靜態IP地址和你在那裡購買的域名給鏈接起來,也就是解析域名到IP地址。需要設置主機記錄為@;記錄類型為A,然後記錄值就是靜態IP地址!別問我主機記錄,記錄類型是什麼,DNS也是一門學問,值得簡單研究研究。
這個步驟完成以後,你正式有了自己的個人網站!就像我一樣! ——祝賀你!祝賀咱倆!!
B. 如何在AWS上部署千萬用戶級別服務
基礎架構
AWS分布在全球12個區域里
每個區域對應著一個地理位置,裡面含有多個Availability
Zones(可用區)。這些區域設置在北美,南美,歐洲,中東,非洲,亞太區。
每個AZ實質上是單個數據中心,盡管它們可由多個數據中心構建。
每個AZ有著獨立的供電系統和互聯網連接。
不同AZ之間以低延遲網路進行連接,這種快速網路可消除物理位置帶來的速度影響。
每個區域含有至少兩個AZ,共計32個AZs。
藉助AZ可創建高可用性的程序架構。
AWS在全球還分布有53個偏遠區域(Edge locations)
偏遠區域的使用對象是CloudFront,這是Amazon的內容分發網路(CDN)和DNS伺服器。
偏遠區域的存在使得全球用戶都可以享用低延遲網路而不論他們身在何處。建立區塊服務(Block Services)
Amazon透過AWS創建了大量高可用和高容錯的服務,具體的服務清單可點擊這里查看。
繳納一定的費用,你就可以在個人的應用中使用這些服務而不必為高可用性而憂心。
部分服務位於一個AZ中:CloudFront, Route 53, S3, DynamoDB, Elastic Load
Balancing, EFS, Lambda, SQS, SNS, SES, SWF。
即使是使用單個AZ的服務,其高可用架構也是足夠強大的。
1個用戶
在這個時候,開發者=用戶。你的架構看起來是這樣的:
運行單個實例,如t2.micro。你可以為你的伺服器選擇不同的CPU,內存,存儲設備和網路環境。
該伺服器承載了全部web任務,如:web應用,資料庫,管理器等。
使用AmazonRoute 53進行DNS管理。
為該實例附加一個Elastic IP地址。
那麼隨著用戶數的增加,我們需要如何進行升級改造,直至能為千萬用戶提供優質的服務呢?強調文字
優化策略
採用多主機模式
嘗試使用Amazon資料庫服務,如Amazon RDS(關系資料庫),Amazon DynamoDB(NoSQL資料庫),Amazon Redshift。
逐步從SQL資料庫轉為NoSQL資料庫,特別是數據量超過5TB,你的應用對低延遲敏感的時候。
使用Elastic Load Balancer(彈性負載均衡器),它可以對主機進行健康檢測以確保網路的通暢,同時可以幫助實現網路的擴展。
垂直升級
需要更強的實例類型,例如c4.8xlarge或者m3.2xlarge。
停止使用當前的伺服器,換用功能更強大的機器,如:244GB RAM,40核CPU。
某些Amazon服務提供了Provisined IOPS選項以便用戶自行配置變更,這樣一來用戶可以使用類似DynamoDB的擴展服務。
類似上面的做法就叫做垂直升級。但其有個缺點,就是一旦機器出錯,你的網站也會停止運作了。所以要盡量避免單個實例的做法。
自動擴展
如果你一直在為峰值負載而努力,如黑色星期五,那麼其實是在浪費金錢。更好的解決方案
列表內容
是按需分配,這就是Auto Scaling(自動擴展),在計算機群組中實現自動化的大小變更。
你可以為你的容量池定義最大值和最小值。
CloudWatch是一個管理服務,已內置到所有的Amazon應用中。
CloudWatch事件會觸發擴展。
觸發事件可以是CPU佔用率,時間延遲,網速等等。
你也可以向CloudWatch導入自定義基線,按照你的意願來觸發擴展。
架構分解
使用SOA/微服務,使你的服務層組件化。
這樣做的好處是單獨的服務可以獨立地進行擴展,從而大大增加了靈活性和可用性。
SOA是Amazon提供的重要架構組件。
避免重復勞動
把精力投入到能使你的業務與眾不同的事情上。
Amazon提供了很多高容錯的服務。例如,排隊(SQS服務),郵件,轉碼,搜索,資料庫,監控等等。所以類似的服務都不必再次編寫了。
用戶數>千萬+
當用戶達到千萬級別的時候,你考慮的策略應該是這樣的:
多AZs模式
在不同層之間執行ELB(彈性負載平衡)。除了web層,在應用層,數據層等層里也需要進行ELB。
能夠自動擴展
使用面向服務的架構
緩存架構內和外的數據
使用Amazon S3和CloudFront。S3用於存儲靜態數據,如js,CSS,圖像等,具有足夠的擴展性。CloudFront可對數據進行緩存。
使用Amazon SES來進行郵件發送。
使用CloudWatch進行監控。
對數據寫入執行如下的策略:
聯結 – 根據功能劃分不同的資料庫。
分表 – 把一個數據集分解到多個主機上。
把部分功能放到其他類型的資料庫上(NoSQL,graph等)。
不斷優化你的應用和整個架構堆棧,針對瓶頸進行分析並找出解決方法。
C. 【Minio】基於AWS S3協議搭建個人雲存儲服務
在2007年,GlusterFS演變為大型分布式存儲方案後,任何配備合適硬體的公司,單位都可以利用個做分布式的流媒體,數據分析。在2011年,Red Hat收購了GlusterFS.
Minio是GlusterFS創始人之一Anand Babu Periasamy發布新的開源項目。Minio兼容Amason的S3分布式對象存儲項目,採用Golang實現,客戶端支持java,python,Javacript, Golang語言。
Minio 提供對象存儲服務,兼容了 AWS S3 存儲協議,用於非結構化的數據存。非結構化對象,比如圖像,音、視頻,日誌文件,備份鏡像…等等管理不方便,不定長,大小變化大、類型多,雲端的訪問復雜,minio就是來解決這種場景的。非結構化的文件從數KB到5TB都能很好的支持。開源並且用 Go 語言開發,有web操作界面,我們可以用它來搭建兼容S3協議的存儲雲服務。
Minio可以做為雲存儲的解決方案用來保存海量的圖片,視頻,文檔。由於採用Golang實現,服務端可以工作在Windows,Linux, OS X和FreeBSD上。配置簡單,基本是復制可執行程序,單行命令可以運行起來。
官網: https://minio.io
那麼,如何自己搭建一個私有的S3存儲雲服務呢?
官方的話是推薦用Docker來搞,我們先用普通的二進制文件來直接解決了!
######################################################################################
# mkdir /data/aws_s3
# wget https://dl.minio.io/server/minio/release/linux-amd64/minio
# mv minio /usr/local/bin/
# chmod 755 /usr/local/bin/minio
# minio server /data/aws_s3
#############################################################
Created minio configuration file successfully at /root/.minio
Endpoint: http://10.5.10.89:9000 http://127.0.0.1:9000 http://172.17.0.1:9000
AccessKey: U3XLU4IMXY3IDKHU268F
SecretKey: /
Region: us-east-1
SQS ARNs:
Browser Access:
http://10.5.10.89:9000 http://127.0.0.1:9000 http://172.17.0.1:9000
Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
################################################################
$ mc config host add myminio http://10.5.10.89:9000 U3XLU4IMXY3IDKHU268F /
Object API (Amazon S3 compatible):
Go: https://docs.minio.io/docs/golang-client-quickstart-guide
Java: https://docs.minio.io/docs/java-client-quickstart-guide
Python: https://docs.minio.io/docs/python-client-quickstart-guide
JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
Drive Capacity: 8.3 GiB Free, 9.1 GiB Total
##############################################################
我們就成功啟動了minio的s3服務,默認埠9000,可以通過網頁訪問:
http://10.5.10.89:9000
http://127.0.0.1:9000
http://172.17.0.1:9000
注意 :第一次打開時候需要填寫AccessKey和SecretKey才能進入,我們上面啟動服務的時候,已經看到屏幕有輸出:
AccessKey: U3XLU4IMXY3IDKHU268F
SecretKey:
把這兩個Key填入,就能順利進入,進入後展開頁面如下:
這就是我們的S3雲存儲的管理頁面了,看著是不是和七牛什麼的提供雲存儲的產品頁面挺像的,大家都是基於S3協議開發的!
上傳個文件試試:
點擊右下角的紅色小加號按鈕,彈出的菜單選擇」create bucket」則會創建一個桶,輸入名字」test」
點擊剛才那個紅色小加號按鈕,這次選擇」Upload file」上傳文件,給這個桶上傳了一個叫login.txt的文本文檔
此時頁面如下:
至此我們可以看到文件已經上傳,要訪問這個文件,可以點擊文件右側的三個點的按鈕,選擇分享就可以得到一個外鏈,在瀏覽器中訪問這個外鏈就可以直接訪問文件。
那麼文件到底被存到哪裡去了呢,我們啟動命令中其實指定了工作路徑/data/aws_s3/,所以到伺服器這個目錄下看看:
# ls /data/aws_s3/
test
# ls /data/aws_s3/test/
login.txt
桶名稱test是一個目錄,其下就有上傳的login.txt文件。
如果想指定ip和埠,可以這樣寫:
# minio server /data/aws_s3 --address=0.0.0.0:9000
如果想讓服務在後台運行:
# nohup minio server /data/aws_s3 --address=0.0.0.0:443 &
[1] 19882
// nohup: 忽略輸入並把輸出追加到啟動命令的當前目錄下的 "nohup.out"文件
minio可以用來搭建分布式存儲系統 GlusterFS,這樣就成了真正的雲存儲了,有時間再研究下把它從現在的單機測試,變成一朵存儲雲!
minio官網: https://minio.io
minio官方文檔: https://docs.minio.io/docs/minio-docker-quickstart-guide
minio github主頁: https://github.com/minio/minio
D. aws 部署項目遇到的問題
1、ssh連接伺服器連接不上
aws默認創建非root用戶,並且使用密鑰對登錄,公鑰存儲在/home目錄+用戶名的隱藏.ssh文件下,因為公司項目有要求也是只能通過密鑰對登錄就沒有修改賬戶密碼登陸,登錄後使用命令sudo -i 切換到root用戶。因為掛載磁碟在/home目錄下所以密鑰對沒有當斷開連接或超時自動斷開時就會再也連不上去了。所以可行的時掛載到/睜此mnt目錄或者掛載/home前備份文件,掛載後cp到/home下。
這個問題弄得我好埋帆煩,我以為是更改埠的問題,後面沒更改還是一樣出錯,而且aws還不允許初始化系統和還原快照好像。
創建root用戶密鑰對
其實這個也適合配置伺服器間ssh免登錄
2、修改默認埠
因為默認ssh埠不安全容易被黑客找到機會,要求更改默認埠,並且生產環境要求啟用防火牆,想著測試環境各種關閉防火牆部署環境那叫一個爽,到了生產就叫苦了。更改默認埠後需要開啟防火牆和selinux,雲上還要開啟安全組,記得開啟防火牆埠後要重載,selinux也需要開放埠,ssh需要重啟。
這里困擾了挺久的,我想到了防火牆和安全組,沒注意selinux。
3、防火牆
伺服器上部署etcd,服務連不上etcd,報錯no route to host,結果還是防火牆問題,開放2379和2380埠,並且記得重載。
4、啟動docker容器時報錯
5、nginx安裝失敗悉液迅
6、etcd連接不上
7、ip ping不通
這個是安全組未開放icmp埠,開放所有ipv4就可以了。
8、asw S3設置公開訪問許可權
這個配置我是真的挺無語的,設置了好久解決不了,還是json來配置吧。老外的思維和我們還是挺大的哈。
8、購買伺服器
購買伺服器選擇鏡像一定選擇官方鏡像,注意安全。
9、購買RDS
AWS RDS可以設置只對內網開放或公網開放,通過終端節點連接,所以不要去傻傻的找公網IP和私有IP了。
連接方式終端節點+埠+主用戶+主密碼。
10、nginx問題
Nginx 500錯誤(Internal Server Error 內部伺服器錯誤)
HTML 文檔的字元編碼未聲明。如果該文件包含 US-ASCII 范圍之外的字元,該文件將在某些瀏覽器配置中呈現為亂碼。頁面的字元編碼必須在文檔或傳輸協議層聲明。
原因是nginx配置以及許可權問題。
還有幾個是未解之謎,怪事年年有,aws特別多
文章僅給自己引以為戒,犯過的錯誤不要再犯,歸根結底還是對AWS不熟悉。
國外除了AWS,還有 https://www.linode.com/ , https://www.vultr.com/ ,這幾個都不錯的。
E. AWS服務建設之路-Docker集群
最近的項目處於種種原因要放到亞馬遜上面,也正好體驗一下世界最大雲計算平台的服務。於是又開始了漫長的爬坑路。不得不說AWS的管理交互台設計充滿了工業氣息,新手很難上手,但熟練工會覺得很直觀。
簡單來說分4步:
ECR是私有鏡像倉庫,先把自己的鏡像上傳上來,這一步的坑就在於要上傳鏡像不能直接 docker login 需要
ECS有一個很重要的概念,任務定義。這個概念類似於 k8s 的 pod。任務定義抽象出了任務這個概念,一項任務可以包含多個docker鏡像及對應的參數/環境配置,並且擁有CPU,內存限額。
任務定義擁有版本號,只能創建新版本不能修改以前版本。
而在集群中的調度則是以任務定義為對象。
所以我們為我們每一個服務創建了1個任務定義,一個任務定義包含1個鏡像。
這里有3種網路模式供選擇:
大部分情況我們都使用橋接模式,少部分情況使用 awsvpc 。主機模式則盡量不要使用,不利於編排。 awsvpc 的具體使用場景會在下文服務發現章節介紹。
動態埠映射 技術,是指將容器在宿主機上的外部埠隨機映射,只在橋接模式下有效。
勾上日誌配置,ECS就會自動把鏡像的標准輸出定向到 CloudWatch,就可以去那裡查看鏡像日誌了,當然專業的日誌系統還是得ELK。
ECS有2種集群,Fargate 與 EC2 Linux。
Fargate是很酷炫的架構,特別是在資源佔用量不穩定,時間不確定的情況下很合適。而且全部使用awsvpc網路模式,所有的服務都可以擁有獨立IP,純正的無伺服器架構。只有一個缺點,貴(同樣資源量是EC2的3倍價格...
建議創建空集群,再自行添加伺服器,不然容易觸發一些 keng
上面說了任務定義,那麼任務這個概念也很簡單,被運行的任務定義。
一個任務可能包含多個容器,這個任務可能是在有限時間內執行完畢就停止的,比如攔冊蠢一次性腳本,也可能是無限運行的,比如nginx伺服器。
服務這個概念比較復雜,一個服務會管理一個任務定義在運行時的方方面面
服務沒有停止功能,只能修改任務數為0。
服務刪除後,需要手動停止已經運行的任務。
AWS提供基於Router53(DNS服務)的服務發現,其實很難用,awsvpc模式的很方便,橋接模式下特難用。
在awsvpc模式中 ,因為每個任務都有自己的IP,所以埠可以直接固定,不會存在沖突,配合基於Router53的服務發現可以直接完成完美的服務發現--無論如何更新重啟服務,總能通過固定域名訪問到服務。但因為一台伺服器只能綁定3張網卡,所以只能啟動3個awsvpc模式容器。
在橋接模式中 ,每個任務都使用宿主機的ip,以及隨機分配的埠,所以服務發現需要帶上埠,不然也不能正常發現。AWS提供SRV類型的DNS記錄用作服務發現,本身是沒有問題,但SRV並不是被廣泛接受的記錄類型,瀏覽器與網路庫均不能解析SRV記錄,所以要訪問服務還需要定製DNS解析。
所以我們最終選擇使用Eureka作為服務發現簡陪服務,使用awsvpc作為補充的服務發現服務,比如將Eureka本身及xxl-job等使用awsvpc部署。
在選用了Eureka之姿尺後,又遇到了問題。因為使用了動態埠映射,所以向Eureka注冊的埠不是Spring的監聽埠,並且容器內部無法知道宿主機的ip與埠。
這里通過多種方式配合破局:
不過要注意,啟用元數據服務,需要修改ECS代理配置,而這個配置是在集群創建時就寫入伺服器的,所以要修改ECS代理配置,必須要先修改自動伸縮組的初始化腳本,再刪除伸縮組內所有伺服器,再重新添加伺服器。
這樣就可以在Eureka中心正確展示服務信息了。
F. 如何在Amazon AWS上設置一台Linux伺服器
系統環境:
Linux version 3.10.42-52.145.amzn1.x86_64
卸載OpenJDK
#java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
#rpm -qa |grep java
java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64
tzdata-java-2012c-1.el6.noarch
#rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64
#rpm -qa |grep java
tzdata-java-2012c-1.el6.noarch
#rpm -e --nodeps tzdata-java-2012c-1.el6.noarch
#rpm -qa |grep java
#java -version
bash: /usr/bin/java: 沒文件或目錄
二軟體、文件准備:
tomcat伺服器:apache-tomcat-6.0.41.zip
志庫:log4j-1.2.17.jar
Amazon API認證文件:credentials
JDK安裝包:jdk-7u67-linux-x64.rpm
工程文件:
TestDemo.war
三、環境安裝:安裝JDK,安裝Tomcat並配置
1.載JDK7
#wget --no-cookies --no-check-certificate --header "Cookie:
gpw_e24=http%3A%2F%2F
oraclelicense=accept-securebackup-cookie"
""
2.安裝JDK7
#rpm -ivh jdk-7u67-linux-x64.rpm
說明:JDK默認安裝/usr/java/目錄
3.配置JAVA_HOME,CLASSPATH,PATH環境變數
#vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib
#source /etc/profile
4.載Tomcat6,
#wget
5.解壓Tomcat6並[tomcat]/bin/cataline.sh文件始加入:JAVA_OPTS='-Xms512m -Xmx512m'
[tomcat]/webapps目錄與項目相關文件文件夾刪除安全
log4j-1.2.17.jar文件拷貝[tomcat]/lib目錄
注意:解壓完Tomcat通要啟Tomcat測試能否通外網訪問能需要給Instance添加安全策略
6.設置Tomcat機啟
修改[tomcat]/bin目錄文件許可權執行
#chmod 755 *
/etc/rc.d/rc.local加入:
#vi /usr/local/tomcat/bin/
:/usr/local/tomcat/bin/startup.sh
7.啟Tomcat並測試
服務啟訪問:
G. aws最便宜配置
aws最便宜配置是Iris Xeon 4 GHz處理器。
亞馬遜AWS(Amazon Web Services (AWS) )是亞馬遜森嘩提供的是全球最全面、應用最廣泛的雲平台,從雀漏全此歲行球數據中心提供超過 200 項功能齊全的服務。數百萬客戶(包括增長最快速的初創公司、最大型企業和主要的政府機構)都在使用 AWS 來降低成本、提高敏捷性並加速創新。
H. 2018-12-09基於AWS S3協議搭建個人雲存儲服務
基於AWS S3協議搭建個人雲存儲服務
su root
mkdir /data
mkdir /data/aws_s3
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
mv minio /usr/local/bin/
chmod +x /usr/local/bin/minio
minio server /data/aws_s3/
Endpoint: http://192.168.1.105:9000 http://127.0.0.1:9000
AccessKey: Q3RZEATLVD576K68LVEM
SecretKey: wshme+
Browser Access:
悄脊 http://192.168.1.105:9000 http://127.0.0.1:9000
Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
$ mc config host add myminio http://192.168.1.105:9000 Q3RZEATLVD576K68LVEM wshme+
Object API (Amazon S3 compatible):
Go: https://docs.minio.io/docs/golang-client-quickstart-guide
Java: https://docs.minio.io/docs/java-client-quickstart-guide
Python: 談運滾 https://docs.minio.io/docs/python-client-quickstart-guide
JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
含余 .NET: https://docs.minio.io/docs/dotnet-client-quickstart-guide
I. 如何用AWS搭建一個自己的BLOG
自己搭蘆猜建了一個伺服器,在這里也分享一下經驗。原文我放在blog4it.com,是我新申請的頂級域名,後面會介紹如何申請這個頂級域名。
做了10多年的IT工作,很想有一個自己的網站,剛好慧與公司鼓勵開發部門做自己的網站,就下定決心搞一個。鑒於自己維護一個伺服器太麻煩了,不確定阿里雲的訪問速度如何,最後決定通過亞馬遜來搭建一個網站。搭建一個Wordpress的網站很容易,只要以下幾步,你就可以擁有一個和你看的一樣甚至更好的blog了。
亞馬遜提供的伺服器包括了1CPU + 1G RAM,可以免核嘩猜費用1年,然後使用最低配的系統每年的費用大約是365元。
申請一個AWS賬號
選擇伺服器所在的國家。(重要)
申請一個帶Wordpress的AWS雲伺服器。
檢查你的網站已經建好了。
找到你的用戶名密碼
登陸到你的網路伺服器
修改網站的標題和樣式
開通新用戶的注冊。
添加訪問量監控
使用自己的域名
今天開篇說一下如何申請一個AWS雲伺服器,並建立一個Wordpress的instance.
首先當然是打開AWS的網站
http://aws.amazon.com/,點擊這個按鈕
注冊一個新的賬號,填寫郵箱,密碼和地址信息。
填寫信用卡信息,我用的是招商銀行的全幣卡,應該其他的visa或者master card都可以使用。
然後亞馬遜會從你的信用改型卡上面扣除1美元的預授權。
接下來就可以進入AWS的console來新建一個instance,一個instance就是一個網路伺服器。亞馬遜提供了一年的免費試用,如果你建兩個伺服器那麼試用時間就減半。
2. 在建立網路伺服器之前,一定要選擇一個合適的伺服器地址,我嘗試了useast, uswest在國內訪問都很慢。建議使用新加坡的伺服器,美國和中國訪問速度都不錯。
選擇伺服器的方法在你的console的右上角:
3. 接下來進入到AWS的console
然後點擊這個
然後AWS會顯示線面的頁面,裡麵包括了AWS的推薦選項,你可以從中選擇一個,AWS就會幫你建一個網上伺服器,但是具體的應用比如Wordpress要你自己裝
為了方便,直接選擇AWS market,裡面有別人做好的帶應用的伺服器模版,搜索wordpress
接下來選擇
如果你想通過一個wordpress支持多人建站的話,你要選擇WordPress Multisite powered by Bitnami (HVM)
然後選一個免費的instance包括了1個CPU和1GB的內存。
後面有更多的配置,可以直接使用默認配置,點擊然後
接下來你會看見下面的界面:
你需要新建一個key pair,並且一定要保存好,你需要通過這個key pair來訪問你的伺服器,其他人也通過這個key pair可以直接訪問你的伺服器。
然後點擊Launch instance。
接下來你會看到你的新的伺服器正在啟動中,當啟動結束以後,你就會看到下面的界面,離勝利只剩一步了
5. 把上圖中的域名輸入到你的瀏覽器中,當~當~當~當~~,enjoy it.
J. 怎樣在AWS雲伺服器上使用docker搭建一個網站
ssh進伺服器(應該是linux的吧?)
運行docker命令測試,如果沒有,安裝
一般用docker run docker名稱(你可以首先測試官方docker) 還可以暴露埠啥的參數
測試訪問
上面的測通以後
把你的代碼clone到伺服器內
docker build 就生成了你的新docker
docker run 剛剛build的名稱