學習筆記:阿里雲ECS部署web項目的常見問題及解決方案__web

來源:互聯網
上載者:User
阿里雲ECS部署web項目的常見問題及解決方案

Elastic Compute Service(Elastic Compute Service)是一種彈性可伸縮的計算服務,助您降低 IT 成本,提升營運效率,使您更專註於核心業務創新。
本次使用的ECS配置請參考雲翼計劃,作業系統鏡像 CentOS 7.3 64位(更換系統硬碟的步驟和注意事項) 一、使用PuTTY通過SSH串連到ECS時提示Disconnected

通過 控制台終端 進入系統並登入 輸入vim /etc/ssh/sshd_config開啟sshd_config檔案 將游標移到最後一行,按下i鍵。將PasswordAuthentication no改為PasswordAuthentication yes 按下esc鍵,輸入:wq 輸入service sshd restart重啟sshd服務 二、安裝Tomcat

與Apache和MySQL不同,CentOS的yum源中不包括Tomcat,所以需要自行下載。可在本地Windows系統中訪問Tomcat官網下載,推薦下載當前最新版本的上一版本(或當前最新版本)。下載完成後通過FileZilla傳到雲端服務器的/usr/local目錄下。依次執行如下命令即可

cd /usr/local    tar -zxvf apache-tomcat-8.0.26.tar.gz // 解壓壓縮包    rm -rf apache-tomcat-8.0.26.tar.gz.tar.gz // 刪除壓縮包    mv apache-tomcat-8.0.26 tomcat
三、如何通過IP(網域名稱)直接存取Tomcat中部署的項目 配置預設的項目名稱
開啟tomcat/conf/server.xml,找到
<Host name="localhost"  appBase="webapps"            unpackWARs="true" autoDeploy="true"            xmlValidation="false" xmlNamespaceAware="false"></Host>

在<Host>和</Host>中間加上
<Context path="" docBase="[Tomcat的目錄]/webapps/[項目名]" />
修改後的結果:

<Host name="localhost"  appBase="webapps"            unpackWARs="true" autoDeploy="true"            xmlValidation="false" xmlNamespaceAware="false"><Context path="" docBase="/usr/local/Tomcat/webapps/WebStore" /></Host>

儲存退出
2. 配置80連接埠
在tomcat/conf/server.xml中找到

<Connector port="8080" protocol="HTTP/1.1"       maxThreads="600"            minSpareThreads="100"      maxSpareThreads="500"      acceptCount="700"      connectionTimeout="20000"       redirectPort="8443" />

把port="8080"改為port="80“即可
3.配置welcome-file
開啟項目中的WEB-INF/web.xml
welcome-file就是預設訪問的第一個頁面,如果想設定為index.jsp
那麼只要在<welcome-file-list>和</welcome-file-list>中加入<welcome-file>index.jsp</welcome-file>即可

至此修改全部完成。部署好項目後需要通過輸入[IP]:8080/[項目名]/[檔案名稱]才能訪問的檔案,修改後只需要輸入[IP]即可 四、MariaDB和MySQL資料庫

CentOS 7以後,MySQL 已經不再包含在 CentOS的源中,而改用了 MariaDB。MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社區採用分支的方式來避開這個風險。MariaDB的目的是完全相容MySQL,包括API和命令列,使之能輕鬆成為MySQL的代替品。

如何安裝MariaDB
MariaDB完全繼承了MySQL的命令,使用起來並沒有太大區別,在此推薦CentOS 7使用者使用MariaDB。在使用MariaDB代替MySQL時需要注意以下三點: 下載MariaDB驅動包,放到Tomcat和項目的lib目錄下 資料庫驅動由 "com.mysql.jdbc.Driver"改為 "org.mariadb.jdbc.Driver" 建立串連的url由"jdbc:mysql://localhost:3306/webstore"改為"jdbc:mariadb://localhost:3306/webstore"

關於MySQL和MariaDB之間的更多故事,還請感興趣的讀者自行搜尋,在此就不多贅述了。 五、資料庫中文問題

MySQL和MariaDB對中文很不友好,預設編碼是latin1。如果要寫入中文,需要將其改為utf-8
1. 使用mysql -uroot -p登入資料庫
2. 執行show variables like 'character%';結果如下

3. 修改設定檔,執行vim /etc/my.cnf
4. 在[mysqld]欄位下加上character-set-server = utf8(按下i鍵進入編輯模式)
5. 儲存並退出(按下esc鍵,輸入:wq)
6. 重啟資料庫服務(systemctl restart mariadb)CentOS 7以後用systemctl命令代替了service命令 六、防火牆與安全性群組

部署好Tomcat和MariaDB之後可能無法從外部存取,可能是防火牆或安全性群組的設定導致 關閉CentOS 7預設使用的firewall防火牆

systemctl stopfirewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall開機啟動firewall-cmd --state #查看預設防火牆狀態(關閉後顯示notrunning,開啟後顯示running)


在安全性群組中添加80連接埠和3306連接埠的訪問。(如何添加。)

安全性群組是一個邏輯上的分組,這個分組是由同一個地區內具有相同安全保護需求並相互信任的執行個體組成。安全性群組,類似防火牆,用於設定單台或多台雲端服務器的網路存取控制,它是重要的安全隔離手段。每個執行個體至少屬於一個安全性群組,在建立的時候就需要指定。不同安全性群組的執行個體之間預設內網不通,可以授權兩個安全性群組之間互訪。 ——淺唱 於北京科技大學

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.