详解CentOS 7下安装Tomcat到服务
<p>环境:</p>
<ol>
<li>
CentOS Linux release 7.3.1611 (Core)</li>
<li>
3.10.0-514.16.1.el7.x86_64</li>
</ol>
<p>
<strong>1.安装Java环境</strong></p>
<p>
Jre有ServerJre和Jre的区别。两者具体的区别就是ServerJre启动时默认Jvm是Server模式,且包含了一些监控工具,具体的区别见Oracle的站点。现在普遍存在的一个问题就是大部分JAVA程序是基于JAVA7开发的,但是Oracle早就更新到了Java8,且网站上默认提供的是Jre8的下载。不过,无论你要下载哪个版本的JRE,都可以在这里找到。下载ServerJre之前需要单选 Accept License Agreement 来激活下载链接。这里选择的是<code>server-jre-7u80-linux-x64.tar.gz </code>。下载完毕,解压到<code> /usr/local/</code>, 这里需要注意的是,解压后的<code>server-jre-7u80-linux-x64.tar.gz </code>名字是<code>jdk1.7.0_79</code>,但是我测试过,这个跟真正的JDK文件是有所不同的。解压完毕后,编辑<code> /etc/profile</code>设置环境变量并验证:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_7765">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain">cat >>/etc/profile << "EOF"</code>
</div>
<div class="line number2 index1 alt1">
<code class="plain plain">#set java env</code>
</div>
<div class="line number3 index2 alt2">
<code class="plain plain">JAVA_HOME=/usr/local/jdk1.7.0_80</code>
</div>
<div class="line number4 index3 alt1">
<code class="plain plain">PATH=$JAVA_HOME/bin:$PATH</code>
</div>
<div class="line number5 index4 alt2">
<code class="plain plain">CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar</code>
</div>
<div class="line number6 index5 alt1">
<code class="plain plain">export JAVA_HOME</code>
</div>
<div class="line number7 index6 alt2">
<code class="plain plain">export PATH</code>
</div>
<div class="line number8 index7 alt1">
<code class="plain plain">export CLASSPATH</code>
</div>
<div class="line number9 index8 alt2">
<code class="plain plain">EOF</code>
</div>
<div class="line number10 index9 alt1">
</div>
<div class="line number11 index10 alt2">
<code class="plain plain">source /etc/profile</code>
</div>
<div class="line number12 index11 alt1">
</div>
<div class="line number13 index12 alt2">
<code class="plain plain">java version "1.7.0_79"</code>
</div>
<div class="line number14 index13 alt1">
<code class="plain plain">Java(TM) SE Runtime Environment (build 1.7.0_79-b15)</code>
</div>
<div class="line number15 index14 alt2">
<code class="plain plain">Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
至此,java环境安装完毕。</p>
<p>
<strong>2.安装tomcat</strong></p>
<p>
直接下载<code>apache-tomcat-7.0.72.tar.gz</code>并解压,将解压后的目录重命名为<code>tomcat7</code>,并移至<code> /opt </code>下,然后创建运行环境文件:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_406366">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">vim </code><code class="bash plain">/opt/tomcat7/bin/setenv</code><code class="bash plain">.sh</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
内容与/etc/profile尾部保持一致:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_135587">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain">JAVA_HOME=/usr/local/jdk1.7.0_80</code>
</div>
<div class="line number2 index1 alt1">
<code class="plain plain">PATH=$JAVA_HOME/bin:$PATH</code>
</div>
<div class="line number3 index2 alt2">
<code class="plain plain">CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar</code>
</div>
<div class="line number4 index3 alt1">
<code class="plain plain">export JAVA_HOME</code>
</div>
<div class="line number5 index4 alt2">
<code class="plain plain">export PATH</code>
</div>
<div class="line number6 index5 alt1">
<code class="plain plain">export CLASSPATH</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
至此tomcat安装和设置完成。</p>
<p>
<strong>3.创建tomcat运行用户并赋权到对应文件。</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_560515">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain">groupadd tomcat</code>
</div>
<div class="line number2 index1 alt1">
<code class="plain plain">useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat #此处假设为tomcat,如果是生产服务器,建议使用环境部署账号来运行tomcat.</code>
</div>
<div class="line number3 index2 alt2">
<code class="plain plain">cd /opt/tomcat7</code>
</div>
<div class="line number4 index3 alt1">
<code class="plain plain">chgrp -R tomcat /opt/tomcat</code>
</div>
<div class="line number5 index4 alt2">
<code class="plain plain">chmod -R g+r conf</code>
</div>
<div class="line number6 index5 alt1">
<code class="plain plain">chmod g+x conf</code>
</div>
<div class="line number7 index6 alt2">
<code class="plain plain">chown -R tomcat webapps/ work/ temp/ logs/</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
至此,相关赋权完成。</p>
<p>
<strong>4.编辑服务文件</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_981171">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">vim </code><code class="bash plain">/etc/systemd/system/tomcat</code><code class="bash plain">.service</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
设置如下,但是你可能需要根据你的内存容量自行调整<code> CATALINA_OPTS</code>的值,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值,建议堆的最大值设置为可用内存的最大值的80%:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_638398">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain"># Systemd unit file for tomcat</code>
</div>
<div class="line number2 index1 alt1">
<code class="plain plain"></code>
</div>
<div class="line number3 index2 alt2">
<code class="plain plain">Description=Apache Tomcat Web Application Container</code>
</div>
<div class="line number4 index3 alt1">
<code class="plain plain">After=syslog.target network.target</code>
</div>
<div class="line number5 index4 alt2">
</div>
<div class="line number6 index5 alt1">
<code class="plain plain"></code>
</div>
<div class="line number7 index6 alt2">
<code class="plain plain">Type=forking</code>
</div>
<div class="line number8 index7 alt1">
</div>
<div class="line number9 index8 alt2">
</div>
<div class="line number10 index9 alt1">
<code class="plain plain">Environment=CATALINA_PID=/opt/tomcat7/temp/tomcat.pid</code>
</div>
<div class="line number11 index10 alt2">
<code class="plain plain">Environment=CATALINA_HOME=/opt/tomcat7</code>
</div>
<div class="line number12 index11 alt1">
<code class="plain plain">Environment=CATALINA_BASE=/opt/tomcat7</code>
</div>
<div class="line number13 index12 alt2">
<code class="plain plain">Environment='CATALINA_OPTS=-Xms128M -Xmx512M -server -XX:+UseParallelGC'</code>
</div>
<div class="line number14 index13 alt1">
<code class="plain plain">Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'</code>
</div>
<div class="line number15 index14 alt2">
</div>
<div class="line number16 index15 alt1">
<code class="plain plain">ExecStart=/opt/tomcat7/bin/startup.sh</code>
</div>
<div class="line number17 index16 alt2">
<code class="plain plain">ExecStop=/bin/kill -15 $MAINPID</code>
</div>
<div class="line number18 index17 alt1">
</div>
<div class="line number19 index18 alt2">
<code class="plain plain">User=tomcat</code>
</div>
<div class="line number20 index19 alt1">
<code class="plain plain">Group=tomcat</code>
</div>
<div class="line number21 index20 alt2">
<code class="plain plain">UMask=0007</code>
</div>
<div class="line number22 index21 alt1">
<code class="plain plain">RestartSec=10</code>
</div>
<div class="line number23 index22 alt2">
<code class="plain plain">Restart=always</code>
</div>
<div class="line number24 index23 alt1">
</div>
<div class="line number25 index24 alt2">
<code class="plain plain"></code>
</div>
<div class="line number26 index25 alt1">
<code class="plain plain">WantedBy=multi-user.target</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
然后重载一下服务单元:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_621838">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain">systemctl daemon-reload</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
至此全部设置完成。</p>
<p>
<strong>5.测试</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_278342">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain">systemctl start tomcat</code>
</div>
<div class="line number2 index1 alt1">
</div>
<div class="line number3 index2 alt2">
<code class="plain plain"># curl -I 127.0.0.1:8080</code>
</div>
<div class="line number4 index3 alt1">
<code class="plain plain">HTTP/1.1 200 OK</code>
</div>
<div class="line number5 index4 alt2">
<code class="plain plain">Server: Apache-Coyote/1.1</code>
</div>
<div class="line number6 index5 alt1">
<code class="plain plain">Content-Type: text/html;charset=ISO-8859-1</code>
</div>
<div class="line number7 index6 alt2">
<code class="plain plain">Transfer-Encoding: chunked</code>
</div>
<div class="line number8 index7 alt1">
<code class="plain plain">Date: Tue, 06 Jun 2017 02:27:16 GMT</code>
</div>
<div class="line number9 index8 alt2">
<code class="plain plain">systemctl stop tomcat</code>
</div>
<div class="line number10 index9 alt1">
<code class="plain plain">curl -I 127.0.0.1:8080</code>
</div>
<div class="line number11 index10 alt2">
<code class="plain plain">curl: (7) Failed connect to 127.0.0.1:8080; Connection refused</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
完成。</p>
<p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。</p>
<p>
原文链接:https://segmentfault.com/a/1190000009671003?utm_source=tuicool&utm_medium=referral</p>
頁:
[1]