阿里服務器+Centos7.4+Tomcat+JDK部署

適用對象

本文檔介紹如何使用一臺基本配置的云服務器 ECS 實例部署 Java web 項目。適用于剛開始使用阿里云進行建站的個人用戶。

配置要求

這里列出的軟件版本僅代表寫作本文檔使用的版本。操作時,請您以實際軟件版本為準。

  • 操作系統:CentOS 7.4
  • Tomcat 版本:Tomcat 8.5.23
  • JDK 版本:JDK 1.8.0_141

安裝前準備

  • CentOS 7.4 系統默認開啟了防火墻。您可以關閉防火墻,也可以參考官網文檔在防火墻里添加規則,放行 80、443 或 8080 端口入方向規則。

    • 關閉防火墻:

      1. systemctl stop firewalld.service
    • 關閉防火墻開機自啟動功能:

      1. systemctl disable firewalld.service
  • 創建一般用戶 www,運行 tomcat:

    1. useradd www
  • 在安全組中放行 8080 端口。具體操作,請參考?添加安全組規則。

  • 創建網站根目錄:

    1. mkdir -p /data/wwwroot/default
  • 新建 Tomcat 測試頁面:

    1. echo Tomcat test > /data/wwwroot/default/index.jsp
    2. chown -R www.www /data/wwwroot

下載源代碼

  1. wget https://mirrors.aliyun.com/apache/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz

說明:源代碼版本會不斷升級。您可以在?https://mirrors.aliyun.com/apache/tomcat/tomcat-8/?目錄下獲取合適的安裝包地址。

  1. wget http://mirrors.linuxeye.com/jdk/jdk-8u141-linux-x64.tar.gz

說明:源代碼版本會不斷升級。您可以在?http://mirrors.linuxeye.com/jdk/?目錄下獲取合適的安裝包地址。

安裝 JDK

按以下步驟安裝 JDK。

  1. 新建一個目錄:

    1. mkdir /usr/java
  2. 解壓 jdk-8u141-linux-x64.tar.gz 到 /usr/java。

    1. tar xzf jdk-8u141-linux-x64.tar.gz -C /usr/java
  3. 設置環境變量:

    1. 編輯 /etc/profile:vi /etc/profile

    2. 按?i?鍵進入編輯模式。

    3. 在 /etc/profile 文件中添加以下信息:

      1. #set java environment
      2. export JAVA_HOME=/usr/java/jdk1.8.0_141
      3. export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
      4. export PATH=$JAVA_HOME/bin:$PATH
    4. 按?Esc?鍵退出編輯模式,輸入?:wq?保存并關閉文件。

  4. 加載環境變量:source /etc/profile

  5. 查看 jdk 版本。當出現 jdk 版本信息時,表示 JDK 已經安裝成功。

    1. java -version
    1. java version "1.8.0_141"
    2. Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
    3. Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)

安裝 Tomcat

按以下步驟安裝 Tomcat。

  1. 依次運行以下命令解壓 apache-tomcat-8.5.23.tar.gz,重命名 Tomcat 目錄,并設置用戶權限。

    1. tar xzf apache-tomcat-8.5.23.tar.gz
    2. mv apache-tomcat-8.5.23 /usr/local/tomcat/
    3. chown -R www.www /usr/local/tomcat/

    說明:

    在 /usr/local/tomcat/ 目錄里:

    • bin 目錄中存放 Tomcat 的一些腳本文件,包含啟動和關閉 Tomcat 服務腳本。
    • conf:存放 Tomcat 服務器的各種全局配置文件,其中最重要的是 server.xml 和 web.xml。
    • webapps:Tomcat 的主要 Web 發布目錄,默認情況下把 Web 應用文件放于此目錄。
    • logs:存放 Tomcat 執行時的日志文件。
  2. 配置 server.xml 文件:

    1. 切換到 /usr/local/tomcat/conf/ 目錄:cd /usr/local/tomcat/conf/

    2. 重命名 server.xml 文件:mv server.xml server.xml_bk

    3. 創建一個新的 server.xml 文件:

      1. 運行命令?vi server.xml

      2. 按?i?鍵進入編輯模式。

      3. 添加以下內容:

        1. <?xml version="1.0" encoding="UTF-8"?>
        2. <Server port="8006" shutdown="SHUTDOWN">
        3. <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
        4. <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
        5. <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
        6. <Listener className="org.apache.catalina.core.AprLifecycleListener"/>
        7. <GlobalNamingResources>
        8. <Resource name="UserDatabase" auth="Container"
        9. type="org.apache.catalina.UserDatabase"
        10. description="User database that can be updated and saved"
        11. factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
        12. pathname="conf/tomcat-users.xml"/>
        13. </GlobalNamingResources>
        14. <Service name="Catalina">
        15. <Connector port="8080"
        16. protocol="HTTP/1.1"
        17. connectionTimeout="20000"
        18. redirectPort="8443"
        19. maxThreads="1000"
        20. minSpareThreads="20"
        21. acceptCount="1000"
        22. maxHttpHeaderSize="65536"
        23. debug="0"
        24. disableUploadTimeout="true"
        25. useBodyEncodingForURI="true"
        26. enableLookups="false"
        27. URIEncoding="UTF-8"/>
        28. <Engine name="Catalina" defaultHost="localhost">
        29. <Realm className="org.apache.catalina.realm.LockOutRealm">
        30. <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
        31. resourceName="UserDatabase"/>
        32. </Realm>
        33. <Host name="localhost" appBase="/data/wwwroot/default" unpackWARs="true" autoDeploy="true">
        34. <Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true"/>
        35. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
        36. prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        37. </Host>
        38. </Engine>
        39. </Service>
        40. </Server>
  3. 設置 JVM 內存參數:

    1. 運行命令?vi /usr/local/tomcat/bin/setenv.sh, 創建 /usr/local/tomcat/bin/setenv.sh。
    2. 按?i?鍵進入編輯模式。
    3. 添加以下內容:

      1. JAVA_OPTS=’-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8
    4. 按?Esc?鍵退出編輯模式,輸入?:wq?保存并退出文件。

  4. 設置 Tomcat 自啟動腳本。

    1. 下載腳本:wget https://github.com/lj2007331/oneinstack/raw/master/init.d/Tomcat-init

    2. 重命名 Tomcat-init。mv Tomcat-init /etc/init.d/tomcat

    3. 添加執行權限:chmod +x /etc/init.d/tomcat

    4. 設置啟動腳本 JAVA_HOME:sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/java/jdk1.8.0_141@' /etc/init.d/tomcat

  5. 設置自啟動。

    1. chkconfig --add tomcat
    2. chkconfig tomcat on
  6. 啟動 Tomcat。

    1. service tomcat start
  7. 在瀏覽器地址欄中輸入?http://ip:8080?進行訪問。出現如圖所示頁面時表示安裝成功。

    1

轉載于:https://www.cnblogs.com/lijiasnong/p/8322038.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453631.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453631.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453631.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php輸出mysqli查詢出來的結果

php連接mysql我有文章已經寫過了&#xff0c;這篇文章主要是介紹從mysql中查詢出結果之后怎么輸出的問題。 一&#xff1a;mysqli_fetch_row(); 查詢結果&#xff1a;array([0]>小王) 查詢&#xff1a; [php] view plaincopy while ($row mysqli_fetch_assoc($result)) …

rhel mysql安裝_RHEL6.4下MySQL安裝方法及簡單配置

1.MySQL安裝方法簡介 1.rpm包yum安裝 2.通用二進制包安裝 3.源碼編譯安裝 注意&#xff1a;實驗所采用的系統平臺為&#xff1a;RHEL6.4 2.rpm ins首頁 → 數據庫技術背景&#xff1a;閱讀新聞RHEL6.4下MySQL安裝方法及簡單配置[日期&#xff1a;2014-04-08]來源&#xff1a;Li…

H.264算法的DSP移植與優化

摘要&#xff1a;在TMS320DM643平臺上實現H&#xff0e;264基檔次編碼器的移植與優化顯得格外實用和必要。基于對DSP平臺的結構特性和H&#xff0e;264的計算復雜度分析&#xff0c;主要從核心算法、數據傳輸和存儲器&#xff0f;Cache使用幾方面對H&#xff0e;264編碼器進行了…

IDA*與A*

我實在懶得寫博客了&#xff0c;直接放上來之前講課做的的PPT得了。 PPT_Source Code.zip 轉載于:https://www.cnblogs.com/zzzc18/p/8323927.html

java 子類 父類 轉換_Java子類與父類之間的類型轉換

1.向上轉換父類的引用變量指向子類變量時&#xff0c;子類對象向父類對象向上轉換。從子類向父類的轉換不需要什么限制&#xff0c;只需直接蔣子類實例賦值給父類變量即可&#xff0c;這也是Java中多態的實現機制。2.向下轉換在父類變量調用子類特有的、不是從父類繼承來的方法…

H.264視頻編解碼的代碼移植和優化

基于DSP系統開發的視頻編解碼系統&#xff0c;國內幾乎都是走的移植&#xff0c;優化的路線&#xff0c;并且移植的代碼&#xff0c;都是開源的。畢竟花費大量的人力&#xff0c;物力去開發一套自己的代碼&#xff0c;并不見得比一些成熟的開源代碼效率更高&#xff0c;健壯性更…

SublimeText2 快捷鍵

SublimeText2 快捷鍵&#xff0c;與對應功能一覽表&#xff1a; 快捷鍵功能ctrlshiftn打開新Sublimectrlshiftw關閉Sublime&#xff0c;關閉所有打開文件ctrlshiftt重新打開最近關閉文件ctrln新建文件ctrls保存ctrlshifts另存為ctrlf4關閉文件ctrlw關閉ctrlk, ctrlb切換側邊欄顯…

java-linux-eclipse配置

轉載于:https://www.cnblogs.com/sheying/p/8327517.html

n皇后問題java_經典n皇后問題java代碼實現

問題描述&#xff1a;在n*n的二維表格&#xff0c;把n個皇后在表格上&#xff0c;要求同一行、同一列或同一斜線上不能有2個以上的皇后。例如八皇后有92種解決方案&#xff0c;五皇后有10種解決方案。public class TestQueen {int n; //皇后的個數int num 0; // 記錄方案數int…

ffmpeg mplayer x264 代碼重點詳解 詳細分析

ffmpeg和mplayer中求平均值得方法 1 ordinary c language level #define avg2(a,b) ((ab1)>>1) #define avg4(a,b,c,d) ((abcd2)>>2) 顯而易見&#xff0e;&#xff0e;&#xff0e;&#xff0c;注意a&#xff0c;b宏表達式可能引出的副作用 2 SIMD by software…

nagios監控服務器的搭建

nagios 概述&#xff1a; 開源的免費的網絡監視工具。 監控&#xff1a; windows, Linux,Unix,交換機和路由器。報警。 Nagios是插件式的結構&#xff0c;它本身沒有任何監控功能&#xff0c;所有的監控都是通過插件進行的&#xff0c;因此其是高度模塊化和富于彈性的。Nagios…

BZOJ1031: [JSOI2007]字符加密Cipher

1031: [JSOI2007]字符加密Cipher Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 7882 Solved: 3425[Submit][Status][Discuss]Description 喜歡鉆研問題的JS同學&#xff0c;最近又迷上了對加密方法的思考。一天&#xff0c;他突然想出了一種他認為是終極的加密辦法&#…

java棧頂元素_棧在Java類庫中的實現

棧是一種后進先出的數據結構。在它之上&#xff0c;主要有三種操作&#xff1a;(1)判斷棧是否為空——empty()&#xff1b;(2)在棧頂添加一個元素——push(E)&#xff1b;(3)刪除并返回棧頂元素——pop()。在Java類庫中&#xff0c;Stack類實現了棧&#xff0c;它繼承自Vector類…

LoadRunner遠程監測Centos服務性能配置過程

由于公司的需要&#xff0c;經過一段時間的探索&#xff0c;參考了很多業內人士的文檔&#xff0c;終于完成LoadRunner遠程監測centos服務器的配置過程。 首先監測所需要服務是否存&#xff0c;如果存在就不必要安裝&#xff0c;如果不存在&#xff0c;需要安裝對應的服務。 監…

day 68 增刪改查 語法

1 普通正則 2 分組正則 url(r/blog/(\d)/(\d),views.blog) blog(request,arq1,arq2) 按照位置傳參 3 分組命名 url(r/blog/(?P<year>\d)/(?P<month>\d),views.blog) blog(request,year,month) 4 用name 指定別名 url(r/blog/(?P<year>\d)/(?P…

編譯器入門 語法分析器 java_從零開始寫個編譯器吧 - Parser 語法分析器

Parser(語法分析器)的編寫相對于 Tokenizer (詞法分析器)要復雜得多&#xff0c;因此&#xff0c;在編寫之前可能也會鋪墊得更多一些。當然&#xff0c;本系列旨在“寫出”一個編譯器&#xff0c;所以理論方面只會簡單介紹 tao 語言所涉及的部分。之前的幾章中&#xff0c;我純…

017——數組(十七) asort ksort rsort arsort krsort

<?php /*** 數組 asort ksort rsort arsort krsort*///asort()對數組按值排序&#xff0c;保留鍵名&#xff1a; /*$arrarray(bbs_url>bbs.lantian.com,web_url>www.lantian.com,bbs_name>免費視頻教程,www_name>PHP項目開發, ); asort($arr); print_r($arr);…

v4l打開video設備 ,執行VIDIOC_DQBUF,出現Resource temporarily unavailable 問題

如果你在執行VIDIOC_DQBUF突然提示以下錯誤&#xff1a; error: VIDIOC_DQBUF: Resource temporarily unavailable 那么很可能是你使用非阻塞方式打開設備文件的造成的。 Resource temporarily unavailable是一種EAGAIN的錯誤。EAGAIN是較常見的一種錯誤(比如用在非阻塞操作…

ubuntu下無法獲得鎖 /var/lib/dpkg/lock - open (11: 資源暫時不可用)

sudo apt-get install git E: 無法獲得鎖 /var/lib/dpkg/lock - open (11: 資源暫時不可用) E: 無法鎖定管理目錄(/var/lib/dpkg/)&#xff0c;是否有其他進程正占用它&#xff1f; 當執行sudo apt-get相關的命令&#xff0c;會顯示上面類似的錯誤 參考別人的解決方法是 sudo r…

java get方法不序列化_Java中的Json序列化,不容忽視的getter

在開發的過程中&#xff0c;經常會碰到和自己預期不一樣的情況。有的時候自己去研究一下還是很有趣的。這兩天在寫java web的時候&#xff0c;碰到了一個對象序列化的問題。問題重現public class AjaxJson {private boolean success;private String msg;private Object obj;pri…