本篇教程在示例步驟中使用瞭如下版本的軟件。操做時,請您以實際軟件版本爲準。php
Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-105-generic x86_64)
JDK 1.8.0_65
Apache Tomcat 7.0.47
# sudo ufw allow 80
# sudo ufw disable
# sudo ufw enable
www
來運行 Tomcat:# useradd www
。入方向
放行 80
端口。具體操做請參考:添加安全組規則。
容許
HTTP(80)
80/80
地址段訪問
0.0.0.0/0
1
TCP 80
端口:運行命令 # netstat -an | grep 80
,若是返回如下結果,代表 TCP 80 端口正在被正常監聽。
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
# mkdir -p /data/wwwroot/default
。index.jsp
,而後將網站根目錄下文件權限改成:
# echo Tomcat test > /data/wwwroot/default/index.jsp
# chown -R www.www /data/wwwroot
。wget
命令在實例中下載 JDK 安裝壓縮包,在解壓縮時可能會出錯。能夠先下載 JDK,再上傳到 Linux 上。實例
,進入 ECS 實例列表頁。IP 地址
列獲取該實例的公網 IP 地址。wget https://mirrors.aliyun.com/apache/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz
# mkdir /usr/java
jdk-8u65-linux-x64.tar.gz
經過 WinSCP
工具上傳至 /usr/java
目錄下jdk-8u65-linux-x64.tar.gz
到 /usr/java/
中
# chmod +x jdk-8u65-linux-x64.tar.gz
,# tar xzf jdk-8u65-linux-x64.tar.gz -C /usr/java/
jdk1.8.0_65
移動到新建目錄 /usr/java/
中: # mv jdk1.8.0_65 /usr/java/
/etc/profile
: # vi /etc/profile
i
鍵進入編輯模式/etc/profile
文件中添加如下信息:
# Set Java Environment
export JAVA_HOME=/usr/java/jdk1.8.0_65
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
:wq
保存並關閉文件。# source profile
# java -version
root@wumz:/etc# source profile root@wumz:/etc# java -version java version "1.8.0_65" Java(TM) SE Runtime Environment (build 1.8.0_65-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
apache-tomcat-7.0.47.tar.gz
,重命名 Tomcat 目錄,並設置用戶權限。
# tar xzf apache-tomcat-7.0.47.tar.gz
# mv apache-tomcat-7.0.47 /usr/local/tomcat/
# 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 執行時的日誌文件。server.xml
文件:
# cd /usr/local/tomcat/conf/
# mv server.xml server.xml_bk
# vi server.xml
i
鍵進入編輯模式Esc
鍵退出編輯模式,輸入 :wq
保存並退出編輯。# vi /usr/local/tomcat/bin/setenv.sh
, 建立 /usr/local/tomcat/bin/setenv.shi
鍵進入編輯模式JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8'
Esc
鍵退出編輯模式,輸入 :wq
保存並退出編輯。# wget https://github.com/lj2007331/oneinstack/raw/master/init.d/Tomcat-init
# mv Tomcat-init /etc/init.d/tomcat
# chmod +x /etc/init.d/tomcat
# sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/java/jdk1.8.0_65@' /etc/init.d/tomcat
# sudo update-rc.d -f tomcat defaults
# sudo reboot
# ps -ef|grep tomcat
# systemctl status tomcat
# sudo iptables -L -n
# sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
# sudo iptables -L -n
http://公網IP:8080
進行訪問。vi /usr/local/tomcat/conf/server.xml
mkdir /data/wwwroot/web
echo Hello World > /data/wwwroot/web/index.jsp
<Host></Host>
中的內容:(參見附錄 3)sudo service tomcat restart
# Set Java Environment export JAVA_HOME=/usr/java/jdk1.8.0_65 export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib export PATH=$JAVA_HOME/bin:$PATH
root@wumz:/etc# source /etc/profile root@wumz:/etc# java -version java version "1.8.0_65" Java(TM) SE Runtime Environment (build 1.8.0_65-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
<?xml version="1.0" encoding="UTF-8"?> <Server port="8006" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/> <Listener className="org.apache.catalina.core.AprLifecycleListener"/> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml"/> </GlobalNamingResources> <Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1000" minSpareThreads="20" acceptCount="1000" maxHttpHeaderSize="65536" debug="0" disableUploadTimeout="true" useBodyEncodingForURI="true" enableLookups="false" URIEncoding="UTF-8"/> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="/data/wwwroot/default" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true"/> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> </Engine> </Service> </Server>
server.xml
中 <Host>...</Host>
的內容以下:<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> <!-- 訪問實例公網IP時,默認跳轉到 /data/wwwroot/web 目錄 --> <Host name="實例公網IP" appBase="/data/wwwroot/web" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/data/wwwroot/web" debug="0" reloadable="false" crossContext="true" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="ip_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> <!-- 訪問 www.abc.com 時,默認跳轉到 /data/wwwroot/default 目錄 --> <Host name="域名(例如:www.abc.com)" appBase="/data/wwwroot/default" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="www.abc.com_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>