Amazon服務器(Ubuntu)上搭建Apache、Tomcat整合開發環境
公司最近想在Amazon服務器上搞點項目,經理讓我在上邊搭建一個環境,因為之前沒接觸過Amazon服務器,一切只能從頭慢慢來,邊查資料邊操作,最后雖然搭建成功了,但我卻云里霧里的,先大致記下來操作流程,權當備份一下了,也可以供各位有需求的慕友參考。
聲明下:整理的較粗糙,有不足之處,歡迎各位予以指正。感激不盡。
強烈建議下:文中多處英文單詞已變的它媽媽都不認識了,比如javac->ja vac。希望慕課的各位大大們,能不能整理一份所謂的敏感詞?完全不知道你們要干嘛, 只能去百度敏感詞然后一個個改。很煩躁的!
鎮!!!
我大致整理了成了9部分,看目錄
目錄:
1.鏈接Amazon服務器(window):Putty工具
2.Pscp工具本地與Amazon服務器文件傳輸
3.WinSCP工具連接服務器
4.配置安裝JDK
5.配置安裝to mcat
6.配置安裝Apache服務
7.重啟to mcat服務、Apache服務
8.Test
9.參考資料
1.鏈接Amazon服務器(window):Putty工具
Amazon官方教程
需要用到的工具(在上面鏈接中下載):
putty:shell命令行操作工具
puttygen:轉換秘鑰
WinSCP:可視化工具
1. Putty工具使用配置:
上圖1為服務器用戶名,需要注意的是用戶名也要加上,即ubuntu@
上圖2為可選操作,即保存當前配置,方便以后直接連接
選擇Connection-SSH-Auth 然后圖右邊選擇Browse…選擇.ppk格式的私鑰文件(.ppk文件為.pem文件轉換來的,詳情見下方2.puttygen.exe工具轉換私鑰文件)
最后配置完點擊open按鈕
登錄成功!
2.puttygen.exe工具轉換私鑰文件:
選擇Load按鈕,選擇.pem文件(在默認情況下,PuTTYgen 顯示擴展名為 .ppk 的文件。要找到您的 .pem 文件,請選擇顯示所有類型的文件的選項)
單擊 Sa ve private key (保存私有密鑰),以 PuTTY 可用的格式保存密鑰。PuTTYgen 顯示一條關于在沒有口令的情況下保存密鑰的警告。單擊 Yes (是)
2.Pscp工具本地與Amazon服務器文件傳輸
本工具需要 文件名.ppk私鑰文件進行認證(文件)
- 將pscp.exe文件放到C:\Windows\System32路徑下(之后可以在本機的任意位置使用pscp進行文件操作)
- Win + r 輸入cmd 打開命令行窗口輸入命令:
本地文件上傳到服務器:
命令格式:pscp –i .ppk文件絕對路徑 需要上傳到Amazon服務器的文件絕對路徑名 Amazon服務器:目標路徑
本地下載服務器上的文件:
命令格式:pscp –i .ppk文件絕對路徑 Amazon服務器:文件路徑 本地路徑
另簡單操作:在需要上傳的文件路徑下,按住shift然后鼠標右鍵選擇“在此處打開命令窗口”然后需要上傳文件只要傳文件名即可,就不用寫一大串的絕對路徑名了
注意:命令之間不可存在換行符號
3.WinSCP工具連接服務器
注意:2處的主機名和使用Putty工具連接時候的不同, 這個工具的主機名中不包括” ubuntu@”
2.點擊”高級”
配置完后點擊”確定”按鈕回到主界面,點擊保存然后點擊登錄即可。
4.配置安裝JDK
注:安裝前 需要檢查下服務器上是否已經存在ja va程序,如果沒有在執行下邊的安裝操作。
1.進入JDK下載地址點擊這兒
2.先選中1,然后右鍵2copy鏈接地址
3.登錄Amazon服務器,cd到opt(這個根據個人情況選擇)目錄下然后下載jdk文件
通過wget命令下載jdk文件
sudo wget http://download.oracle.com/otn-pub/ja va/jdk/8u91-b14/jdk-8u91-linux-x64.tar.gz
注:下載完后一定要檢查下下載的文件包大小,命令:sudo du –sk filename
因為之前安裝時出現過一個問題就是下載下來的文件只有6k大小,一定是錯誤的文件。如果出現這種情況需要按以下步驟執行:
出現該提示,然后點擊“顯示下載內容”
然后回到命令窗口執行命令:
sudo wget 上面copy的鏈接地址 –O filename(下載的文件名)
4.下載完成后確認文件大小是否正確
5.執行解壓操作:sudo tar -zxvf filename
另:tar命令詳解:點擊這里
6.配置環境變量
sudo vi /etc/profile
輸入i進入vi編輯模式,定位到文件最下方位置
添加以下代碼:
export Ja vA_HOME=/opt/jdk1.8.0_91
export PATH=$PATH:$Ja vA_HOME/bin:$Ja vA_HOME/jre/bin
export CLAS SPATH=.:$Ja vA_HOME/lib:$Ja vA_HOME/jre/lib:$CLAS SPAT
export Ja vA_HOME PATH CLAS SPATH
敲擊鍵盤esc退出編輯模式,輸入:wq(保存并退出vi)敲擊回車
另參考:Linux下vi命令詳解
執行命令:source /etc/profile
(立即加載環境變量并使其生效)
⑦執行ja va –version、ja va、ja vac
命令查看jdk是否配置成功。具體的環境變量可以輸入echo $PATH($Ja vA_HOME、$JRE_HOME等)
查看詳情
另:Ubuntu系統默認安裝并使用OpenJDK,如果服務器中存在OpenJDK并且又自己安裝了JDK需要手動修改系統默認的JDK:
sudo update-alternatives --install /usr/bin/ja vac ja vac /usr/lib/ja va/jdk1.7.0_11/bin/ja vac 300
sudo update-alternatives --install /usr/bin/ja va ja va /usr/lib/ja va/jdk1.7.0_11/bin/ja va 300
sudo update-alternatives --config ja vac,再選擇相應的Priority
sudo update-alternatives --config ja va,再選擇相應的Priority
5.配置安裝to mcat
操作同JDK使用wget命令安裝:to mcat下載地址,只不過不需要配置環境變量
6.配置安裝Apache服務
參考資料:Ubuntu下安裝配置LAMP
1.下載安裝Apache服務:sudo apt-get install apache2 mysql-server mysql-client php5
2.下載安裝mod_jk:sudo apt-get install libapache2-mod-jk
3.cd到apache目錄下:cd /etc/apache2
4.執行命令:sudo vi ports.conf
,添加以下代碼
:wq
保存并退出
5.執行命令:sudo vi httpd.conf
(如果沒有該文件則會創建)
添加代碼:ServerName 127.0.0.1
:wq保存并退出
6.執行命令:sudo vi workers.properties
(如果沒有該文件則會創建)
添加代碼:
ps=/
# Define workers
worker.list=to mcat1,to mcat2
# Set properties for to mcat1 (worker1)
worker.to mcat1.type=ajp13
worker.to mcat1.host=127.0.0.1
worker.to mcat1.port=8009
worker.to mcat1.lbfactor=50
worker.to mcat1.socket_keepalive=1
worker.to mcat1.socket_timeout=300
# Set properties for to mcat2 (worker2)
worker.to mcat2.type=ajp13
worker.to mcat2.host=127.0.0.1
worker.to mcat2.port=8010
worker.to mcat2.lbfactor=50
worker.to mcat2.socket_keepalive=1
worker.to mcat2.socket_timeout=300
上面這么配置是因為我配置了兩個to mcat
:wq
保存并退出
⑦執行命令:sudo vi /etc/apache2/mods-a vailable/jk.conf
修改代碼(指定配置文件的路徑):
⑧修改mod_jk.conf
修改/etc/apache2/sites-a vailable
目錄下的000-default.conf
文件
# Sample mod_jk configuration
# for Apache 2
#
# for all commands/options a vailable see the manual
# provided in libapache-mod-jk-doc package.
# The location where mod_jk is going to place its log file
JkLogFile /var/log/apache2/mod_jk.log
# The log level:
# - info log will contain standard mod_jk activity (default).
# - warn log will contain non fatal error reports.
# - error log will contain also error reports.
# - debug log will contain all information on mod_jk activity
# - trace log will contain all tracing information on mod_jk activity
JkLogLevel error
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
#80端口
<VirtualHost *:80>
#單獨有JkMount規則有效,但單獨有JkUnMount無效,JkUnMount與JkMount要成對出現.
#JkMount把匹配的轉發到指定服務器. 通過JkMount把頁面都交給to mcat1服務器
JkMount /* to mcat1
#JkUnMount把匹配的不轉發到指定服務器. JkUnMount選項的級別高于JkMount
JkUnMount /styles/* to mcat1
JkUnMount /content/* to mcat1
JkUnMount /_app/* to mcat1
JkUnMount /cal_tmp/* to mcat1
#指定apache服務器網頁(文檔)根目錄,此處用來指定靜態文件(樣式等)的路徑
DocumentRoot "/var/www/自定義/html"
<Directory "/">
#配置在特定目錄使用的特性
#FollowSymLinks: 在該目錄下允許文件系統使用符號連接
#Indexes: 當用戶訪問該目錄時,如果用戶找不到DirectoryIndex指定的主頁文件(例如index.html),則返回該目錄下的文件列表給用戶。
Options Indexes FollowSymLinks
#AllowOverride:允許存在于.htaccess文件中的指令類型(.htaccess文件名是可以改變的,其文件名由AccessFileName指令決定)
#None: 當AllowOverride被設置為None時。不搜索該目錄下的.htaccess文件(可以減小服務器開銷)。
#All: 在.htaccess文件中可以使用所有的指令。
AllowOverride None
#Allow:允許訪問的主機列表(可用域名或子網,例如:Allow from 192.168.0.0/16)。
Allow from all
</Directory>
##主頁文件的設置
DirectoryIndex index.html
</VirtualHost>
7.重啟to mcat服務、Apache服務
sudo sh /opt/to mcat7/bin/shutdown.sh (關閉to mcat服務)
sudo sh /opt/to mcat7/bin/startup.sh (啟動to mcat服務)
啟動時如果以下錯誤信息:
Neither the Ja vA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program。
因為之前設置環境變量的時候執行了source命令,但還是報這個錯,因此我是通過下邊方法解決的:
sudo vi /opt/to mcat7/bin/setclas spath.sh
在文件正文頂部加入代碼:參考文章
export Ja vA_HOME=/opt/jdk1.8.0_91
export JRE_HOME=/opt/jdk1.8.0_91/jre
然后在重新啟動to mcat,啟動成功后執行下邊操作
sudo /etc/init.d/apache2 restart (重啟Apache服務)
8.Test
執行命令:w3m 地址(w3m不能使用的話請自行度娘安裝,此處不贅述)
出現如下界面即表示成功
小貼士:退出w3m——輸入q(quit)根據提示輸入y退出(具體使用命令請自行度娘)
強烈建議下:文中多處英文單詞已變的它媽媽都不認識了,比如javac->ja vac。希望慕課的各位大大們,能不能整理一份所謂的敏感詞?完全不知道你們要干嘛, 只能去百度敏感詞然后一個個改。很煩躁的!
我可以對一個人無限的好,前提是值得。 ——慕冬雪
本文原創發布于慕課網 ,轉載請注明出處,謝謝合作
共同學習,寫下你的評論
評論加載中...
相關文章推薦